Unixコマンド/test
test †
機能 †
testコマンドは、与えられた条件を評価して0(true)、もしくは1(false)をステータスとして返します。
シェルスクリプトなどで多く利用されています。
構文 †
test [条件]
条件 †
-b ファイル名 ファイルが存在かつスペシャルファイル(ブロック) -c ファイル名 ファイルが存在かつスペシャルファイル(キャラクタ) -d ファイル名 ファイルが存在かつディレクトリ -f ファイル名 ファイルが存在かつ通常ファイル -h ファイル名 ファイルが存在かつシンボリックリンク -L ファイル名 ファイルが存在かつシンボリックリンク -p ファイル名 ファイルが存在かつ名前付きパイプ -S ファイル名 ファイルが存在かつソケット -t ファイル名 ファイルディスクリプタが端末で開いている -g ファイル名 ファイルが存在かつset gidされている -k ファイル名 ファイルが存在かつstickyビットが立っている -r ファイル名 ファイルが存在かつ読み取り可能 -u ファイル名 ファイルが存在かつset uidされている -w ファイル名 ファイルが存在かつ書き込み可能 -x ファイル名 ファイルが存在かつ実行可能 -O ファイル名 ファイルが存在かつ現ユーザがオーナー -G ファイル名 ファイルが存在かつ現グループがオーナー -e ファイル名 ファイルが存在 -s ファイル名 ファイルが存在かつサイズが0より大きい ファイル1 -nt ファイル2 ファイル1がファイル2より新しい ファイル1 -ot ファイル2 ファイル1がファイル2より古い ファイル1 -et ファイル2 ファイル1とファイル2のデバイス番号とiノード番号が同じ -n 文字列 文字列の長さが0より大きい -z 文字列 文字列の長さが0 文字列1 = 文字列2 文字列1と文字列2が同じ 文字列1 != 文字列2 文字列1と文字列2が同じでない 比較式1 -a 比較式2 比較式1と比較式2が両方真 比較式1 -o 比較式2 比較式1か比較式2どちらかが真
コマンド例 †
$ test 1 = 1 ; echo $? 0 $ test 1 = 2 ; echo $? 1