条件分岐(if)
ある条件によって行わせる処理が異なる場合に条件分岐(if文)を使用します。条件が不成立の時に実行するelseは省略することもできます。

-構文
 if [条件];then
  条件が成立した時に実行するコマンド
 else 
  条件が不成立の時に実行するコマンド
 fi


-ファイル形式のチェック
|-b ファイル名|指定したファイルがブロックデバイスファイルなら真である。|
|-c ファイル名|指定したファイルがキャラクタデバイスファイルなら真である。|
|-d ファイル名|指定したファイルがディレクトリなら真である。|
|-f ファイル名|指定したファイルが通常ファイルなら真である。|
|-L ファイル名|指定したファイルがシンボリックリンクなら真である。|
|-p ファイル名|指定したファイルが名前付きパイプなら真である。|
|-S ファイル名|指定したファイルがソケットなら真である。|


-ファイルパーミッションのチェック
|-g ファイル名|指定したファイルにSGIDがセットされていれば真である。|
|-k ファイル名|指定したファイルにスティッキービットがセットされていれば真である。|
|-r ファイル名|指定したファイルが読み取り可能なら真である。|
|-u ファイル名|指定したファイルにSUIDがセットされていれば真である。|
|-w ファイル名|指定したファイルが書き込み可能なら真である。|
|-x ファイル名|指定したファイルが実行可能なら真である。|


-その他のファイルのチェック
|-e ファイル名|指定したファイルが存在すれば真である。|
|-s ファイル名|指定したファイルのファイルサイズが0より大きければ真である。|


-文字列のチェック
|-n 文字列|文字列の長さが0より大きければ真である。|
|-z 文字列|文字列の長さが0であれば真である。|
|文字列1 = 文字列2|2つの文字列が等しければ真である。|
|文字列1 != 文字列2|2つの文字列が等しくなければ真である。|


-数値のチェック
|数値1 -eq 数値2|2つの数値が等しければ真である。|
|数値1 -ge 数値2|数値1が数値2以上であれば真である。|
|数値1 -gt 数値2|数値1が数値2より大きいのであれば真である。|
|数値1 -le 数値2|数値1が数値2以下であれば真である。|
|数値1 -lt 数値2|数値1が数値2未満であれば真である。|
|数値1 -ne 数値2|2つの数値が等しくなければ真である。|


-論理結合
|!条件|条件が偽であれば真である。|
|条件1 -a 条件2|条件1と条件2の両方が真であれば真である。|
|条件1 -o 条件2|条件1と条件2のどちらかが真であれば真である。|




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