shellで扱うif文は構文が特殊だったので、キチンと内容を理解しておきましょう。
基本構文
if [条件];then
実行文
elif [条件];then
実行文
else
実行文
fi
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 | ||と同じ |
0 件のコメント:
コメントを投稿