test - 式を評価する
構文
test expression
[ expression ]
説明
test ユーティリティーは、ファイルのタイプのチェック、 ファイルの許可のチェック、2 つのストリングの比較、 または 2 つの算術式の比較を行うことができます。
test ユーティリティーは、 以下のプライマリーを使用してファイルの状態を検査します。
- -b file
- file が存在し、それがブロック特殊ファイルである場合に真になります。
- -c file
- file が存在し、それが文字特殊ファイルである場合に真になります。
- -d file
- file が存在し、それがディレクトリーである場合に真になります。
- -e file
- file が存在すれば、そのタイプに関係なく真になります。
- -f file
- file が存在し、それが正規ファイルである場合に真になります。
- -g file
- file が存在し、そのグループ ID 設定フラグが設定されている場合に真になります。
- -G file
- file が存在し、それが有効なグループ ID の所有である場合に真になります。
- -h file
- file が存在し、それがシンボリック・リンクである場合に真になります。
- -k file
- file が存在し、その制限付き削除フラグが設定されている場合に真になります。
- -L file
- file が存在し、それがシンボリック・リンクである場合に真になります。
- -N file
- file が存在し、それがネイティブ・オブジェクトである場合に真になります。
- -O file
- file が存在し、それが有効なユーザー ID の所有である場合に真になります。
- -p file
- file が存在し、それがパイプである場合に真になります。
- -r file
- file が存在し、それが読み取り可能である場合に真になります。
- -s file
- file が存在し、そのサイズがゼロより大きい場合に真になります。
- -S file
- file が存在し、それがソケットである場合に真になります。
- -u file
- file が存在し、そのユーザー ID 設定フラグが設定されている場合に真になります。
- -w file
- file が存在し、それが書き込み可能である場合に真になります。
- -x file
- file が存在し、それが実行可能である場合に真になります。 これは、実行ビットがオンであることを示すだけです。 file がディレクトリーである場合は、そのディレクトリーが検索されます。
- file1-effile2
- file1 と file2 が、名前は異なるものの、 同じファイル (デバイス番号と inode 番号が同じ) である場合に真になります。
- file1-ntfile2
- file1 が file2 より新しい、 または file2 が存在しない場合に真になります。
- file1-otfile2
- file1 が file2 より古い、または file2 が存在しない場合に真になります。
test ユーティリティーは、以下のプライマリーを使用して状況検査の状態を検査します。
- -o optname
- シェル・オプション optname が使用可能である場合に真になります。
- -t fd
- ファイル記述子 fd がオープン状態で、端末に関連付けられている場合に真になります。
test ユーティリティーは、 以下のプライマリーを使用してストリング比較の状態を検査します。
- -n string
- string の長さがゼロではない場合に真になります。
- -z string
- string の長さがゼロである場合に真になります。
- string
- string が空ストリングではない場合に真になります。
- string1 = string2
- 2 つのストリングが同じである場合に真になります。
- string1==string2
- 2 つのストリングが同じである場合に真になります。
- string1!=string2
- 2 つのストリングが同じではない場合に真になります。
- string1 < string2
- 現行のロケールの照合順序で、string1 が string2 の前にソートされる場合に真になります。
- string1 > string2
- 現行のロケールの照合順序で、string1 が string2 の後にソートされる場合に真になります。
test ユーティリティーは、 以下のプライマリーを使用して算術式比較の状態を検査します。
- exp1-eqexp2
- 算術式が等しい場合に真になります。
- exp1-neexp2
- 算術式が等しくない場合に真になります。
- exp1-gtexp2
- 最初の算術式が 2 番目の算術式より大きい場合に真になります。
- exp1-geexp2
- 最初の算術式が 2 番目の算術式より大きいまたは等しい場合に真になります。
- exp1-ltexp2
- 最初の算術式が 2 番目の算術式より小さい場合に真になります。
- exp1-leexp2
- 最初の算術式が 2 番目の算術式より小さいまたは等しい場合に真になります。
次の演算子を使って上記のプライマリーを組み合わせれば、複合式を作成できます。
- ! expr expr が偽の場合に真になります。
- expr1 -a expr2 両方の式が真の場合に真になります。
- expr1 & expr2 両方の式が真の場合に真になります。
- expr1 && expr2 両方の式が真の場合に真になります。
- expr1 -o expr2 どちらかの式が真である場合に真になります。
- expr1 | expr2 どちらかの式が真である場合に真になります。
- expr1 || expr2 どちらかの式が真である場合に真になります。
- (expr) 括弧はグループ化のために使用されます。
-a 演算子、& 演算子、 および && 演算子は、-o 演算子、| 演算子、 および || 演算子より優先されます。
オプション
上記を参照。
オペランド
すべての演算子およびフラグは、それぞれ単独の引数として扱われます。
終了状況
- 0 expression が真。
- 1 expression が偽。
- >1 エラー発生。
例