test
コマンドは、条件式を評価し、その結果に基づいて真偽値を返します。このコマンドは、シェルスクリプトやコマンドラインで条件分岐を行う際に非常に便利です。
基本的な構文は以下の通りです。
test [options] [arguments]
-e ファイル名
: 指定したファイルが存在するかをチェックします。-d ディレクトリ名
: 指定したディレクトリが存在するかをチェックします。-f ファイル名
: 指定したファイルが通常のファイルかどうかをチェックします。-z 文字列
: 指定した文字列が空であるかをチェックします。-eq
: 二つの数値が等しいかをチェックします。以下に、test
コマンドの実用的な例をいくつか示します。
if ( `test -e myfile.txt` ) then
echo "myfile.txt は存在します。"
else
echo "myfile.txt は存在しません。"
endif
if ( `test -d mydir` ) then
echo "mydir はディレクトリです。"
else
echo "mydir はディレクトリではありません。"
endif
set mystring = ""
if ( `test -z $mystring` ) then
echo "mystring は空です。"
endif
set num1 = 5
set num2 = 10
if ( `test $num1 -eq $num2` ) then
echo "num1 と num2 は等しいです。"
else
echo "num1 と num2 は異なります。"
endif
test
コマンドは、条件式を評価する際に非常に効率的です。スクリプト内での使用をお勧めします。[
と ]
を使用して test
コマンドを代用することもできます。例えば、[ -e myfile.txt ]
と書くことができます。&&
や ||
を使用して論理演算を行うことができます。