[プログラム学習] Shell #3 「if文」

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

shellで扱うif文は構文が特殊だったので、キチンと内容を理解しておきましょう。

基本構文

for文と似ていて、do -> then、done -> fiという風に記述が違っているので、混同して間違わないように。

比較演算

数値

$a -eq $b $aと$bが等しいとtrue
$a -ne $b $aと$bが違っている場合にtrue
$a -gt $b $a>$bの時にtrue
$a -lt $b $a< $bの時にtrue
$a -ge $b $a>=$bの時にtrue
$a -le $b $a< =$bの時にtrue

文字列

$a $aに値が入っている時にtrue
-n $a >$aに値が入っている時にtrue
! $a $aに値が入っていない場合にtrue
-z $a $aに値が入っていない場合にtrue
$a = $b $aと$bが同じ場合にtrue
$a != $b $aと$bが同じでない場合にtrue

ファイル

-d DIR ディレクトリの場合true
-f FILE ファイルの場合true
-L FILE シンボリックリンクの場合true
-r FILE 読み取り可能の場合true
-w FILE 書き込み可能の場合true
-x FILE 実行権限があればtrue
-s FILE ファイルサイズが0でなければtrue
FILE1 -nt FILE2 ファイルのタイムスタンプがFILE1の方が新しい場合true
FILE1 -ot FILE2 ファイルのタイムスタンプがFILE1の方が古い場合true

結合

条件1 -a 条件2 &&と同じ
条件1 -o 条件2 ||と同じ

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です