エラー処理

終了コードによるエラー処理

 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

メッセージをエラー出力にecho

 echo "### 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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2016-12-22 (木) 03:34:35