Perintah builtin exit
keluar dari shell (dari referensi Bash ):
exit [n]
Keluar dari shell, kembalikan status n ke induk shell. Jika n dihilangkan, status keluar adalah dari perintah terakhir yang dijalankan. Jebakan pada EXIT dieksekusi sebelum shell berakhir.
Berlari ke akhir file juga keluar, mengembalikan kode kembali dari perintah terakhir, jadi ya, final exit 0
akan membuat skrip keluar dengan status berhasil terlepas dari status keluar dari perintah sebelumnya. (Yaitu, dengan asumsi skrip mencapai final exit
.) Di akhir skrip Anda juga bisa menggunakan true
atau :
untuk mendapatkan kode keluar nol.
Tentu saja Anda akan lebih sering menggunakan exit
dari dalam if
untuk mengakhiri skrip di tengah.
Ini harus mencetak 1 ( $?
berisi kode keluar yang dikembalikan oleh perintah sebelumnya):
sh -c "false" ; echo $?
sh -c "false; exit" ; echo $?
Sementara ini harus mencetak 0:
sh -c "false; exit 0" ; echo $?
Saya tidak yakin apakah konsep skrip "gagal" saat mengeksekusi exit
masuk akal, karena sangat mungkin beberapa perintah yang dijalankan skrip gagal, tetapi skrip itu sendiri berhasil. Terserah penulis naskah untuk memutuskan mana yang sukses dan mana yang tidak.
Juga, rentang standar untuk kode keluar adalah 0..255. Kode di atas 127 digunakan oleh shell untuk menunjukkan proses yang diakhiri oleh sinyal, tetapi mereka dapat dikembalikan dengan cara biasa. The wait
system call sebenarnya mengembalikan nilai yang lebih luas, dengan sisa yang mengandung Status bit yang ditetapkan oleh sistem operasi.
exit 0
, itu akan keluar dengan kode keluar 0 terlepas dari apa yang terjadi dalam skrip.