# コマンドの実行履歴を出力する
set -x

# コマンドの返り値が非ゼロのとき停止する
set -e

コマンド終了時には「終了ステータス (exit-status)」と呼ばれる、
コマンドの成否を表す数値が、特殊変数 $? に自動で設定される

各コマンドにより異なるが、一般的には、
コマンド成功時には「0」
失敗時には「1」(コマンドやエラーの種類によっては、0 以外)

何かのコマンド
echo $?

例えば、
#!/bin/sh

cat abc

case $? in
0) echo "ファイルが存在する" ;;
*) echo "ファイルが存在しない" ;;
esac

これを、if [ $? = 0 ]; then
と書くと、Shell Check の警告が出る

SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.