Jawaban:
Anda mendapatkan 0 atau 1. Di kode akses.
bash-4.2$ test 4 -lt 6
bash-4.2$ echo $?
0
bash-4.2$ test 4 -gt 6
bash-4.2$ echo $?
1
Pembaruan : Untuk menyimpan kode akses untuk digunakan nanti, tetapkan saja ke variabel:
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
$?
variabel - setidaknya sampai ditimpa oleh perintah berikutnya yang Anda jalankan.
$PIPESTATUS
array yang untuk mendapatkan hasil beberapa perintah dalam pipa. $?
akan dengan menjadi hasil dari terakhir perintah dalam pipa jika yang pipefail
pilihan adalah off (default).
if test 4 -lt 6; then echo test succeeeded; else echo test failed; fi
Jika Anda ingin hasil perbandingan standar keluar dan bukan kode keluar, Anda dapat menggunakan expr(1)
perintah:
$ expr 4 '<=' 6
1
Dua hal yang perlu diperhatikan:
test
. test
mengembalikan 0 untuk true (yang merupakan standar untuk kode keluar), tetapi expr
mencetak 1 untuk true.test
builtin shell, yang jauh lebih cepat (sekitar 50 kali pada mesin saya) daripada test
dan expr
executable dari paket coreutils .