エラー処理終了コードによるエラー処理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 |
|