毎回調べるので備忘として整理する。
数値の比較オプション
書式 : 数値△オプション△数値
例 : if [ ${hoge} -eq 0 ];then
| オプション | 説明 | 補足 |
|---|---|---|
| -eq | 等しければ真 | equal |
| -ne | 等しくなければ真 | not equal |
| -lt | より小なら真 | less than |
| -le | 以下なら真 | less than or equal |
| -gt | より大なら真 | greater than |
| -ge | 以上なら真 | greater than or equal |
文字列の比較オプション
書式 : 文字列△オプション△文字列
例 : if [ "${hoge}" = "fuga" ];then
| オプション | 説明 |
|---|---|
| = | 等しければ真 |
| != | 等しくなければ真 |
ファイル・ディレクトリのオプション
書式 : オプション△ファイルやディレクトリ
例 : if [ -d ${hoge} ];then
| オプション | 説明 |
|---|---|
| -d | ディレクトリなら真 |
| -f | 普通のファイルなら真 |
| -s | サイズが 0 より大きければ真 |
| -e | 存在するなら真 |
| -r | 読み取り可能なら真 |
| -w | 書き込み可能なら真 |
| -x | 実行可能なら真 |
文字列長のオプション
書式 : オプション△変数や文字列
例 : if [ -z ${hoge} ];then
| オプション | 説明 |
|---|---|
| -z | 文字列長が 0 なら真 |
| -n | 文字列長が 0 より大なら真 |
その他使うやつ
引数の比較(getopts使わない)
例 : if [ $# -eq 2 ];then
| 変数 | 説明 |
|---|---|
| $# | 実行時に指定された引数の数 |
| $1 | 実行時に指定された 1 番目の引数 |
| $n | 実行時に指定された n 番目の引数 |
実行結果の比較
例 : if [ $? -ne 0 ];then
| 変数 | 説明 |
|---|---|
| $? | 直前のコマンドの実行結果 |
シェル書いてると、いつも忘れてぐぐってることをここにまとめていこうと思います。