毎回調べるので備忘として整理する。
数値の比較オプション
書式 : 数値△オプション△数値
例 : 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
変数 | 説明 |
---|---|
$? | 直前のコマンドの実行結果 |
シェル書いてると、いつも忘れてぐぐってることをここにまとめていこうと思います。