Yanıtlar:
0 veya 1 alırsınız. Çıkış kodunda.
bash-4.2$ test 4 -lt 6
bash-4.2$ echo $?
0
bash-4.2$ test 4 -gt 6
bash-4.2$ echo $?
1
Güncelleme : Çıkış kodunu daha sonra kullanmak üzere saklamak için bir değişkene atamanız yeterlidir:
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
$?
en azından yürüttüğünüz bir sonraki komutla üzerine yazılana kadar değişkene yerleştirilir .
$PIPESTATUS
$?
pipefail
if test 4 -lt 6; then echo test succeeeded; else echo test failed; fi
Bir çıkış kodu yerine standart çıkışta bir karşılaştırmanın sonucunu istiyorsanız, şu expr(1)
komutu kullanabilirsiniz :
$ expr 4 '<=' 6
1
Dikkat edilmesi gereken iki şey:
test
. test
true için 0 döndürür (çıkış kodları için standarttır), ancak expr
true için 1 yazdırır.test
önemli ölçüde daha hızlı (yaklaşık 50 benim makinede kez), mahfaza yerleşik, test
ve expr
gelen yürütülebilir coreutils paketi.