回答:
終了コードで0または1を取得します。
bash-4.2$ test 4 -lt 6
bash-4.2$ echo $?
0
bash-4.2$ test 4 -gt 6
bash-4.2$ echo $?
1
更新:後で使用するために終了コードを保存するには、変数に割り当てます。
bash-4.2$ test 4 -lt 6
bash-4.2$ first=$?
bash-4.2$ test 4 -gt 6
bash-4.2$ second=$?
bash-4.2$ echo "first test gave $first and the second $second"
first test gave 0 and the second 1
$?
少なくとも、次に実行するコマンドによって上書きされるまで、終了コードは変数に配置されます。
if test 4 -lt 6; then echo test succeeeded; else echo test failed; fi
終了コードではなく標準出力の比較結果が必要な場合は、expr(1)
次のコマンドを使用できます。
$ expr 4 '<=' 6
1
注意すべき2つのこと:
test
。test
true(終了コードの標準)に対して0を返しますが、trueに対してexpr
1を出力します。test
、かなり速い(私のマシンで50倍程度)よりもシェル組み込み、test
およびexpr
からの実行ファイルのcoreutilsのパッケージが。