TEST(1) — NEWS-OS Programmer’s Manual
名称
test − 条件コマンド
形式
test expr
[ expr ]
解説
test は 式 expr を評価し、 その値が真ならば、 終了ステータス 0 を返します。 そうでなければ、0 以外の終了ステータスを返します。 引数がない場合、 test は 0 以外の終了ステータスを返します。 許可情報(permission)を評価する場合は、 test を実行するプロセスの実行ユーザ ID を使用します。 形式 にある大括弧 [ ] は区切り文字 (通常スペース)で区切らなければ なりません。
以下のプリミティブは、 expr を構成するのに使用します。
−r file file が存在し、 読み取り可能であれば真。
−w file file が存在し、 書き込み可能であれば真。
−x file file が存在し、 実行可能であれば真。
−f file file が存在し、 ディレクトリでなければ真。 ただし、 System V の仕様では file が存在し、通常ファイルであれば真。 つまり、文字型やブロック型特殊ファイルは偽となります。 (下記 SYSTEM V 仕様 参照)
−d file file が存在し、 ディレクトリであれば真。
−c file file が存在し、 それが文字型特殊ファイルであれば真。
−b file file が存在し、 それがブロック型特殊ファイルであれば真。
−p file file が存在し、 それが名前付きパイプ (fifo) であれば真。
−u file file が存在し、 そのセットユーザ ID ビットが設定されていれば真。
−g file file が存在し、 そのセットグループ ID ビットが設定されていれば真。
−k file file が存在し、 その sticky ビットが設定されていれば真。
−h file file が存在し、 それがシンボリックリンクであれば真。
−l string string の長さ。System V の仕様ではこのオプションは使えません。 (下記 SYSTEM V 仕様 参照)
−s file file が存在し、 サイズがゼロより大きければ真。
−t [ fildes ] ファイル記述子番号が fildes (デフォルトは 1)の オープンファイルが端末装置と接続されていれば真。
−z s1 文字列 s1 の長さがゼロであれば真。
−n s1 文字列 s1 の長さがゼロでなければ真。
s1 = s2 文字列 s1 と s2 が等しければ真。
s1 != s2 文字列 s1 と s2 が等しくなければ真。
s1 s1 が空文字列でなければ真。
n1 −eq n2 整数の n1 と n2 が数値的に等しければ真。 −eq の代わりに −ne、 −gt、 −ge、 −lt、 −le のいずれの比較を使用しても構いません。
これらの項は、 以下の演算子と組み合わせても構いません。
! 単項否定演算子
−a 二項 and 演算子
−o 二項 or 演算子
( expr )
グルーピングのためのかっこ。
−a は −o よりも優先順位が先です。 すべての演算子とフラグが、 test に対して分離した引数であることに注意してください。 またかっこがシェルにとって意味があるので、 エスケープしなければならないことにも注意してください。
SYSTEM V 仕様
test は /usr/bin/sh および /usr/5bin/sh に組み込まれています。 /usr/bin/sh を使用したときは、シェルの PATH 変数で /usr/5bin が /usr/bin の前にあれば System V 仕様、そうでなければ BSD 仕様となります。
/usr/5bin/sh を使用したときは、 PATH の設定に関係なく System V 仕様となります。
また、 /usr/bin/test は BSD 仕様の test です。
test において、System V 仕様で BSD と異なるプリミティブは以下の 2 つです。
−f file file が存在し、通常ファイルであれば真。
−l string 使用できません。
関連事項
注意事項
test がシェルに組み込まれているため、 test と名付けたプログラムを実行するときには コマンド名に / を含むよう指定してください。 例えば、カレントディレクトリに ある場合 test は ./test と指定します。
NEWS-OSRelease 4.2.1R