フォーマット
test 条件文
or
[ 条件文 ]
テストコマンドの主な条件式
条件式 | 実行結果 | |
ファイル形式のテスト | ||
-f <ファイル> (file) | (ディレクトリなどを除く)ファイルがあれば真 | |
-d <ディレクトリ> (directory) | ディレクトリがあれば真 | |
-r <ファイル> | ファイルが存在し、かつ読み取り可能であれば真 | |
-w <ファイル> | ファイルが存在し、かつ書き込み可能であれば真 | |
-x <ファイル> | ファイルが存在し、かつ実行可能であれば真 | |
-s <ファイル> (size) | サイズが0以上のファイルがあれば真 | |
-L <ファイル> (Link) | シンボリックリンクであるファイルがあれば真 | |
ファイル特性のテスト | ||
-e <ファイル> (exist) | ファイルがあれば真 | |
<ファイル1> -nt <ファイル2> (new time) | ファイル1がファイル2より修正時間が新しければ真 | |
<ファイル1> -ot <ファイル2> (old time) | ファイル1がファイル2より修正時間が古ければ真 | |
数値のテスト | ||
<数値1> -eq <数値2> (equal) | 数値1と数値2が等しければ真 | |
<数値1> -ge <数値2> (great equal) | 数値1が数値2より大きい、もしくは等しければ真 | |
<数値1> -gt <数値2> (greater than) | 数値1が数値2より大きければ真 | |
<数値1> -le <数値2> (less equal) | 数値1が数値2より小さい、もしくは等しければ真 | |
<数値1> -lt <数値2> (less than) | 数値1が数値2より小さければ真 | |
<数値1> -ne <数値2> (not equal) | 数値1と数値2が等しくなければ真 | |
文字列のテスト | ||
-n <文字列> | 文字列の長さが0以上であれば真 | |
-z <文字列> (zero) | 文字列の長さが0であれば真 | |
<文字列1> = <文字列2> | 2つの文字列が等しければ真 | |
<文字列1> != <文字列2> | 2つの文字列が等しくなければ真 | |
テストの論理結合 | ||
!<条件> | 条件式が偽であれば真 | |
<条件1> -a <条件2> (and) | 両方の条件式が真であれば真(and) | |
<条件1> -o <条件2> (or) | いずれかの条件式が真であれば真(or) |