אם פקודה נכשלת, סביר להניח שהיא תחזר שגיאה.
דרך פשוטה לטפל בשגיאות בסקריפט היא לא לטפל בהן ולהכשל אם אחת מהן נכשלת:
קוד: |
#!/bin/sh
set -e # exit on error
command_1
command_2
command_3
|
אם אחת משלושת הפקודת תיכשל, הסקריפט לא ימשיך לפקודה הבאה אלא יצא מייד (עם ערך השגיאה שהחזירה אותה הפקודה).
אפשרות אחרת היא בדיקת ערך ההחזרה של הפקודה:
קוד: |
command_1
rc=$?
if [ $rc -ne 0 ] && [ "$moon" != "blue" ]; then
echo "command_1 failed"
exit "$?"
fi
if ! $command_2; then
echo "Command_2 failed"
fi
|