Next: expr invocation, Previous: true invocation, Up: Conditions [Contents][Index]
test
: ファイルタイプのチェックや値の比較を行うtest
は、条件式 expression の評価次第で、0 (真) または 1 (偽)
のステータスを返す。式を構成する各部分は、独立した引数でなければならない。
test
は、ファイルのステータスを検査することができる。
また、文字列を扱う演算子や、数値を比較するための演算子も備えている。
test
には、‘test’ で始める書式のほかに、一対の角カッコを使用するもう一つの書式がある。
たとえば、‘test -d /’ の代わりに、‘[ -d / ]’
と書いても構わない。角カッコは、それぞれ独立した引数でなければならない
(訳注: 言い換えれば、他の引数と空白で分離されていなければならない)。
だから、たとえば、‘[-d /]’ では、望みの結果を得られないわけだ。
‘test expression’ と ‘[ expression ]’
は、同じ意味なので、以下では前者の書式についてのみ解説する。
書式:
test expression test [ expression ] [ ] [ option
シェルの組み込み機能の test
やエイリアスのために、
test
に何の修飾も付けずに対話的に使ったり、スクリプトの中で使ったりすると、
動作がここで述べているものとは違うことがあるかもしれない。
シェルによる干渉を避けるためには、env
経由で test
を起動すればよい (すなわち、env test …
のようにだ)。
expression を省略した場合、test
は、偽を返す。
expression が引数 1 個だけだった場合、test
は、その引数が空 (null) ならば、偽を返し、さもなければ、真を返す。
引数には、‘-d’, ‘-1’, ‘--’, ‘--help’, ‘--version’
といった、他のほとんどのプログラムでなら、オプションとして扱われるものも含めて、
どんな文字列でも指定することができる。そこで、ヘルプやバージョン情報を取得するには、
‘[ --help’ や ‘[ --version’ という形でコマンドを実行する必要がある。
この場合、いつもと違って、閉じカッコは付けない。 See Common options.
終了ステータス:
0: 式が真の場合。 1: 式が偽の場合。 2: エラーが起きた場合。
• File type tests: | ファイルタイプのテスト (-[gkruwxOG])。 | |
• Access permission tests: | アクセス許可のテスト (-[gkruwxOG])。 | |
• File characteristic tests: | ファイル特性のテスト (-e -s -nt -ot -ef)。 | |
• String tests: | 文字列のテスト (-z -n = == !=)。 | |
• Numeric tests: | 数値のテスト (-eq -ne -lt -le -gt -ge)。 | |
• Connectives for test: | test の論理結合演算子 (! -a -o)。
|