ฉันกำลังทำงานกับสคริปต์ทุบตีที่ฉันต้องการทำงานกับ VCS หลายประเภท ฉันคิดว่าการทดสอบว่าไดเรกทอรีเป็น repo สำหรับระบบโดยใช้คำสั่งข้อมูลทั่วไปและตรวจสอบรหัสส่งคืนสำเร็จหรือข้อผิดพลาด ในรหัสหลอก:
if a svn command succeded;
Then run svn commands
elif a darcs command succeded;
Then run darcs commands
elif a mercurial command succeded;
then run hg commands
else
something else
fi
ฉันสามารถเรียกใช้คำสั่งเช่น
darcs show repo
และใช้$?
เพื่อรับรหัสส่งคืน
คำถามของฉันคือมีวิธีเรียกใช้และส่งคืนหมายเลขรหัสส่งคืนในบรรทัดเดียวหรือไม่ ตัวอย่างเช่น
if [ 0 -eq `darcs show repo`$? ];
หรือฉันต้องกำหนดฟังก์ชั่น?
ข้อกำหนดเพิ่มเติมคือควรพิมพ์ทั้ง stderr และ stdout