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.
$PIPESTATUSarray yang untuk mendapatkan hasil beberapa perintah dalam pipa. $?akan dengan menjadi hasil dari terakhir perintah dalam pipa jika yang pipefailpilihan 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. testmengembalikan 0 untuk true (yang merupakan standar untuk kode keluar), tetapi exprmencetak 1 untuk true.testbuiltin shell, yang jauh lebih cepat (sekitar 50 kali pada mesin saya) daripada testdan exprexecutable dari paket coreutils .