test -
ファイル種別の確認や値の比較を行う
test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION
終了ステータスは EXPRESSION
によって決まります
- --help
- 使い方を表示して終了する
- --version
- バージョン情報を表示して終了する
EXPRESSION
が省略されるとデフォルトでは偽
(false)
になります。それ以外
の場合は EXPRESSION が真 (true)
か偽 (false)
かによって終了ステータス
が設定されます。これは次のうちの一つになります:
- ( EXPRESSION )
- EXPRESSION が真
- ! EXPRESSION
- EXPRESSION が偽
- EXPRESSION1 -a EXPRESSION2
- EXPRESSION1 と EXPRESSION2
の両方が真
- EXPRESSION1 -o EXPRESSION2
- EXPRESSION1 と EXPRESSION2
のいずれかが真
-
-n STRING
- STRING の長さが 0
でない
- STRING
-
-n STRING と等価
-
-z STRING
- STRING の長さが 0
- STRING1 = STRING2
- 両方の文字列が等しい
- STRING1 != STRING2
- 両方の文字列が等しくない
- INTEGER1 -eq INTEGER2
- INTEGER1 が INTEGER2
に等しい
- INTEGER1 -ge INTEGER2
- INTEGER1 が INTEGER2 以上
- INTEGER1 -gt INTEGER2
- INTEGER1 が INTEGER2
より大きい
- INTEGER1 -le INTEGER2
- INTEGER1 が INTEGER2 以下
- INTEGER1 -lt INTEGER2
- INTEGER1 が INTEGER2 未満
- INTEGER1 -ne INTEGER2
- INTEGER1 が INTEGER2
に等しくない
- FILE1 -ef FILE2
- FILE1 と FILE2
が同じデバイスで inode
も等しい
- FILE1 -nt FILE2
- FILE1 が FILE2 より
(更新時刻が) 新しい
- FILE1 -ot FILE2
- FILE1 が FILE2 より古い
-
-b FILE
- FILE
が存在し、かつブロックデバイスである
-
-c FILE
- FILE
が存在し、かつキャラクタデバイスである
-
-d FILE
- FILE
が存在し、かつディレクトリである
-
-e FILE
- FILE が存在する
-
-f FILE
- FILE
が存在し、かつ通常ファイルである
-
-g FILE
- FILE
が存在し、かつ set-group-ID
されている
-
-G FILE
- FILE
が存在し、かつ実効グループ
ID
によって所有されている
-
-h FILE
- FILE
が存在し、かつシンボリックリンクである
( -L と同じ)
-
-k FILE
- FILE
が存在し、かつスティッキービットが立っている
-
-L FILE
- FILE
が存在し、かつシンボリックリンクである
( -h と同じ)
-
-N FILE
- FILE
が存在し、かつ最後の読み込み以降に更新
(modified) されている
-
-O FILE
- FILE
が存在し、かつ実効ユーザ
ID
によって所有されている
-
-p FILE
- FILE
が存在し、かつ名前付きパイプである
-
-r FILE
- FILE
が存在し、かつ読み込みが許可されている
-
-s FILE
- FILE
が存在し、かつ大きさが
0 より大きい
-
-S FILE
- FILE
が存在し、かつソケットである
-
-t FD
- ファイル記述子 FD
がターミナル上で開いている
-
-u FILE
- FILE
が存在し、かつ set-user-ID bit
が立っている
-
-w FILE
- FILE
が存在し、かつ書き込みが許可されている
-
-x FILE
- FILE
が存在し、かつ実行
(または検索)
が許可されている
-h および
-L
を除き、全ての FILE
関連のテストはシンボリックリンクを辿ります。
小括弧はシェルに対して
(バックスラッシュなどによって)
エスケープが必要なこと
に注意してください。INTEGER
は文字列の長さを返す
-l STRING
を使うことも可能です。
注意: バイナリ値の
-a
や
-o
は本質的に曖昧です。代わりに
'test EXPR1 && test EXPR2' や 'test EXPR1 || test EXPR2'
を使用してください。
備考: [ では
--help および
--version
オプションを使えますが、test
では 使えません。 test
はそれらを空でない
STRING として扱います。
注意:
使用しているシェルによっては組み込みコマンドとして
test および/または [
を持っている
場合があり、通常はここで説明しているバージョンより優先的に使用されます。
シェルの文書を参照してオプションなどの詳細を確認してください。
GNU coreutils
のオンラインヘルプ:
<
https://www.gnu.org/software/coreutils/>
翻訳に関するバグは
<
https://translationproject.org/team/ja.html>
に連絡してください。
詳細な文書
<
https://www.gnu.org/software/coreutils/[>
(ローカルでは info '(coreutils) test
invocation' で参照可能)。
作者 Kevin Braunsdorf および Matthew
Bradburn。
Copyright © 2020 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL version 3 or later
<
https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO
WARRANTY, to the extent permitted by law.
test
の完全なマニュアルは
Texinfo
マニュアルとして整備されている。もし、
info および
test
のプログラムが正しくインストールされているならば、コマンド
- info test
を使用すると完全なマニュアルを読むことができるはずだ。