しかしながら、いざシェルスクリプトを作成しようとすると
「あの処理ってどう書くんだっけな」
ということが多々ある。
そんなときのために、よくあるシェルスクリプトの小技をメモることにした。
今回は条件分岐で使う「if」が対象。シェルはbashが対象。
if文はエラーチェックやコマンド実行結果の判定でよく使う。
以下使用例。
ファイルの有無をチェック
ifの条件文の中でファイルとディレクトリはともに「-e」で存在を確認できるけど、
どちらなのかも判定したいので「-f」を使う。
if [ ! -f $filename ]; then echo 'file not found.' 1>&2 fi
ディレクトリの有無をチェック
if [ ! -e $filename ]; then echo 'directory not found.' 1>&2 fi
Webサイトへアクセス可能かチェック
条件文にはコマンドの実行結果も使用できる。
コマンドが成功するとif文に真の値を返し、失敗すると偽の値を返す。
if curl -s 'http://www.yahoo.co.jp' > /dev/null; then echo 'Access to Yahoo! succeeded.' else echo 'Access to Yahoo! is failed.' fi
変数に値が入っているかチェック
「-z」は変数が空だと真を返し、値が入っていると偽を返す。
if [ -z $var1 ]; then echo 'var1 is empty.' else echo 'var1 is not empty' fi
コメントをどうぞ