Linuxコマンド | Shell Script | if文、for文、while文の使い方と条件式

if文の使い方、条件式

基本形式

if [値 条件式 値 条件式...]
then
    実行文
elif [値 条件式 値 条件式...]
then
    実行文
else
    実行文
fi

条件式の種類

条件式 説明
-z 文字列の長さが0なら真
-n 文字列の長さが0でなければ真
-eq 値が同じなら真。=演算子と同じ
-ne 値が異なれば真
-gt 値1 > 値2
-ge 値1 >= 値2
-lt 値1 < 値2
-le 値1 <= 値2
-a &&演算と同じAND演算
-o `
-d ファイルがディレクトリなら真
-e ファイルが存在すれば真
-L ファイルがシンボリックリンクなら真
-r ファイルが読み取り可能なら真
-s ファイルサイズが0より大きければ真
-w ファイルが書き込み可能なら真
-x ファイルが実行可能なら真
ファイル1 -nt ファイル2 ファイル1がファイル2より新しければ真
ファイル1 -ot ファイル2 ファイル1がファイル2より古ければ真
ファイル1 -ef ファイル2 ファイル1とファイル2が同じファイルなら真
#!/bin/bash

value=0 # value = 0 のように変数と値の間に空白を入れるとsyntaxエラーが発生します。

if [ $value = 0 ]
then
    echo "value is 0"
else
    echo "value is not 0"
fi

実行結果:

$ ./test.sh
value is 0

for文の使い方

基本形式

for [変数] in [繰り返し条件]
do
    [実行文]
done

使用例

#!/bin/bash

for i in 1 2 3
do
    echo "$i"
done

実行結果

$ ./test.sh
1
2
3

while文の使い方、条件式

基本形式

while [ 値1 条件式 値2 ]
do
   [実行文]
   [実行文]
done 

使用例

i=0

while [ $i -lt 3 ]
do
    echo $i
     i=$(($i+1))
done

実行結果:

$ ./test.sh 
0
1
2