エラー処理終了コードによるエラー処理mkdir foo if [ $? -ne 0 ]; then echo "Can't mkdir" fi ディレクトリがないから作るmkdir foo || exit 1 if [ ! -d $DIR ]; then
mkdir $DIR
[ $? -ne 0 ] && { echo "Error!"; exit 1; }
fi
メッセージをエラー出力にechoecho "### ERROR: No such direcotry: $dir" 1>&2 異常終了するif [ -z "$1" ]; then exit 1 fi ショートサーキットでエラー判定する #!/bin/sh
mkdir foo
mkdir foo || { echo "Error and exit"; exit 1; }
echo "OK"
↓
mkdir: ディレクトリ `foo' を作成できません: ファイルが存在します
Error and exit
エラー判定後に複数コマンドを実行するには{}でグループコマンドを指定すれば良い。 ショートサーキットで正常終了とエラー終了の処理をハンドルする$ ! ls && echo "Error" || echo "OK" $ ! mkdir foo_dir && echo "Error. You can't mkdir" || echo "OK. You did mkdir" OK. You did mkdir $ ! mkdir foo_dir && echo "Error. You can't mkdir" || echo "OK. You did mkdir" mkdir: ディレクトリ `foo_dir' を作成できません: ファイルが存在します Error. You can't mkdir |
|