エラー処理

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

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 (572d)