home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 February
/
VPR9602A.ISO
/
fwindows
/
archive
/
tmedt090.lzh
/
TOOLD101.LZH
/
MAN.LZH
/
TEST.MAN
< prev
next >
Wrap
Text File
|
1994-11-20
|
4KB
|
93 lines
TEST(1) Reference Manual TEST(1)
NAME
test - 条件式の判定
SYNOPSIS
test expression...
DESCRIPTION
test は与えられた式expression を評価し、値が真なら終了コード0を、
偽なら終了コード1を返す。終了コードを返すだけで、何も出力はしない
(エラーメッセージを除く)が、終了コードはcommand.comのif errorlev
el構文などにより利用することができる。
expression は下に示すプリミティブ、あるいはそれを演算子「!」(否定)、
「-a」(かつ)、「-o」(または)や括弧「(」「)」で組み合わせたもので
ある(前3者の優先順位は「!」「-a」「-o」である)。この場合、プリミ
ティブを構成する各々の語や、また演算子や括弧は全て、testコマンド
へのそれぞれ独立した引数として与えなければならない。
-c ファイル名: そのファイルが存在し、デバイスファイルであれば真。
-d ファイル名: そのファイルが存在し、ディレクトリであれば真。
-f ファイル名: そのファイルが存在し、通常のファイル(ディレクトリ
でもデバイスファイルでもボリュームファイルでもないもの)であれ
ば真。
-fa ファイル名: そのファイルが存在し、アーカイブビットが立ってい
れば真。
-fh ファイル名: そのファイルが存在し、隠しファイルであるなら真。
-fs ファイル名: そのファイルが存在し、システムファイルであるなら
真。
-n 文字列: その文字列が長さ0でなければ真。
-r ファイル名: そのファイルが存在し、読めれば真。MS-DOSでは存在す
るファイルは全て読めるので、ファイルが存在しさえすればこれは
真になる。
-s ファイル名: そのファイルが存在し、サイズが0より大きければ真。
-t [数字]: そのファイルディスクリプタが現在、端末に割り当てられて
いれば真。数字が指定されなければ、標準出力を調べる。
-w ファイル名: そのファイルが存在し、書き込み可ならば真。
-x ファイル名: そのファイルが存在し、実行可能ならば真。UNIXに似せ
て、ディレクトリに対してもこれは真になるようにしてある。
-z 文字列: その文字列が長さ0なら真。
文字列 = 文字列: 2つの文字列が等しければ真。
文字列 != 文字列: 2つの文字列が等しくなければ真。
文字列: その文字列が長さ0でなければ真。
整数 -eq 整数: 2つの整数が等しければ真。他に -ne, -gt, -ge, -lt,
-leの各オペレータも使える。
なお、readyでないドライブのファイルに対して上記のどれかのオペレー
タを使うと、「Drive not ready」状態になるのではなく、単にそのファ
イルが存在しないとして扱うようになっている。このため、例えばシス
テムの立ち上げ時に、本コマンドで test -d c:/ などとやってドライブ
構成を調べて、その結果に応じて処理を変更する、といったことが可能
になる。
ワイルドカードも使えるが、それを展開した後の段階で、引数リストが
上のexpressionのsyntaxに合っていなければならない。
EXAMPLES
test -d b:/tmp
Bドライブに\tmpというディレクトリがあるかどうか調べる。Bドライブ
がreadyでなくてもエラーにならず、単にB:\tmpが存在しないとして処理
する(以下の例でも同様)。
test "%tmp%" = "A:\tmp" -a -d A:\tmp -o ! -x foo.exe
(バッチファイル中で)
環境変数TMPの値が「A:\tmp」であってかつA:\tmpというディレクトリが
存在するか、あるいはfoo.exeという実行可能ファイルが非存在であるか、
のいずれかが成り立つかどうか調べる。
SEE ALSO
wild(5), setarg(5)
BUGS
MS-DOSではtest.exeを「[.exe」にリネームできないので、UNIXのtestの
ように、「[ ... ]」という形式で使うことはできない。
プログラム開発中に、testというコマンドを他にうっかり作って本コマ
ンドと衝突するという事態は、ありがちなので注意すること。
UNIXと違いMS-DOSでは括弧が特殊文字でないので、括弧をエスケープす
る必要はないことに注意。