ฉันมีสคริปต์เชลล์ Bash ที่เรียกใช้คำสั่งจำนวนมาก ฉันต้องการให้เชลล์สคริปต์ออกโดยอัตโนมัติด้วยค่าส่งคืน 1 หากคำสั่งใด ๆ ส่งคืนค่าที่ไม่เป็นศูนย์
เป็นไปได้โดยไม่ตรวจสอบผลลัพธ์ของแต่ละคำสั่งอย่างชัดเจนหรือไม่
เช่น
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
set -e
นี้ยังทำset -u
(หรือset -eu
)-u
หมดสิ้นไปกับพฤติกรรมที่งี่เง่าและซ่อนบั๊กที่คุณสามารถเข้าถึงตัวแปรที่ไม่มีอยู่และมีค่าว่างที่สร้างขึ้นโดยไม่มีการวินิจฉัย