testコマンド

シェルスクリプトで使われるtest コマンドのオプションについて軽くまとめます。

test】引数の値の真偽を判定する
・ファイルに関する主な条件
 -d:指定したパスが存在し、ディレクトリであれば真
 -e:指定したパスが存在すれば真
 -f:指定したパスが存在し、ファイルであれば真
 -L:指定したパスが存在し、シンボリックリンクであれば真
 -r:指定したパスが存在し、読み込み可能であれば真
 -w:指定したパスが存在し、書き込み可能であれば真
 -x:指定したパスが存在し、実行可能であれば真

・数値の比較に関する主な条件
 数値1 -eq 数値2:数値1と数値2が等しければ真(=)
 数値1 -ge 数値2:数値1が数値2以上であれば真(>=)
 数値1 -gt 数値2:数値1が数値2より大きければ真(>)
 数値1 -le 数値2:数値1が数値2以下であれば真(=<)
 数値1 -lt 数値2:数値1が数値2未満であれば真(<)
 数値1 -ne 数値2:数値1と数値2が等しくなければ真(<>)

・ファイルの比較に関する主な条件
 ファイル1 -nt ファイル2  :ファイル1の更新日がファイル2より新しければ真(newer than)
 ファイル1 -ot ファイル2:ファイル1の更新日がファイル2より古ければ真(older than)

・文字列の比較に関する主な条件
 文字列1 = 文字列2  :文字列1と文字列2が等しければ真
 文字列1 == 文字列2:同上
 文字列1 != 文字列2 :文字列1と文字列2が等しくなければ真

・各条件式は以下のtestコマンドのオプションで結合できる
 !条件     :条件が偽であれば真
 条件1 -a 条件2:条件1と条件2の両方が真であれば真(and)
 条件1 -o 条件2:条件1と条件2のどちらかが真であれば真(or)

いいなと思ったら応援しよう!