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)