Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ test(1) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

find(1)

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 使用できません。

関連事項

sh(1), find(1)

注意事項

test がシェルに組み込まれているため、 test と名付けたプログラムを実行するときには コマンド名に / を含むよう指定してください。 例えば、カレントディレクトリに ある場合 test は ./test と指定します。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026