|
■
条件の評価
if文やwhile文で使用する条件判定について説明します。
文字列の比較や整数値の大小比較を、if文やwhile文の判定条件とするには、一般的に [ ] を使います 。
([ ] は test というコマンドと同等の意味を持っていて、これの代わりに test コマンドを使用してももちろんいいのですが、見栄え的に [ ]
を一般的に使うようです)
注意点としては、 [ ] の前後には、必ず半角スペースを空けることです。
この [ ] の中で下の一覧にある、比較演算子、論理演算子を使って条件を評価します。
文字列比較演算子
|
=
|
両辺の文字列が一致したとき真 |
|
!=
|
両辺の文字列が一致しないとき真 |
|
-n 変数 |
変数がnullでないときに真 |
|
-z 変数 |
変数がnullのときに真 |
ファイル属性演算子
|
-d file |
fileが存在してディレクトリのとき真 |
|
-e file |
fileが存在するとき真 |
| -f file |
ファイルが存在し普通のファイルのとき真 |
論理演算子
数値評価演算子
| -lt |
より小さい |
| -le |
以上 |
| -eq |
等しい |
| -ge |
以上 |
| -gt |
より大きい |
| -ne |
等しくない |
以下に例を示します。
ファイル名 : test10.sh
1: #!/usr/bin/sh
2: if [ -n $1 ]; then
3: echo "なんか引数がついています。"
4: fi
5: if [ $1 -gt 10 ]; then
6: echo "10より大きい数字みたいです。"
7: fi
|
実行結果は以下のようになります。
1: $ chmod u+x test10.sh
2: $ test10.sh 12
3: なんか引数がついています。
4: 10より大きい数字みたいです。
|
|