個人的によく使うif文の書き方をメモです。
使い方
if [ 条件 ]
then
# 実行したいコマンド
elif [ 条件 ]
then
# 実行したいコマンド
else
# 実行したいコマンド
fi
elif
が不要な場合はelif
からの3行、else
が不要な場合はelse
からの2行を削除してください。then
をよく忘れるので気をつけてください。
サンプル1
Shellスクリプトのコマンドラインオプション(数字)によって実行する内容を変えるサンプル。
$ cat example1.sh
#!/bin/sh
if [ "$1" -eq 10 ]
then
echo aaa
else
echo bbb
fi
$ ./example1.sh 10
aaa
$ ./example1.sh 20
bbb
-eq
(equal)の他にも-ge
(greater than or equal)-gt
(greater than)-le
(less than or equal)-lt
(less than)-ne
(not equal)なども使えます。
サンプル2
shellスクリプトのシンボリックリンクを作成して、ファイル名によって実行する内容を変えるサンプル。
$ cat example2.sh
#!/bin/sh
if [ `basename $0` = "exampleA.sh" ]
then
echo AAA
else
echo 222
fi
$ ln -s example2.sh exampleA.sh
$ ./example2.sh
222
$ ./exampleA.sh
AAA