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