GNU/Linux >> Belajar Linux >  >> Linux

Apa itu Kode Keluar Bash di Linux

Apa itu kode keluar

Setiap skrip, perintah, atau biner keluar dengan kode kembali. Anda dapat melihat nilai ini dalam variabel khusus $? . Kode pengembalian adalah numerik dan dibatasi antara 0-255 karena bilangan bulat 8-bit yang tidak ditandatangani digunakan. Jika Anda menggunakan nilai -1, itu akan mengembalikan 255. Setiap eksekusi diakhiri dengan kode keluar, apakah berhasil atau tidak, dengan pesan kesalahan atau diam-diam. Misalnya:

$ date ; echo $?
Sat Jan 18 08:06:07 IST 2020
0

Seperti yang Anda lihat, kode keluar adalah 0 karena perintah dijalankan tanpa masalah. Sekarang, mari kita coba ini:

$ wrngcmd ; echo $?
-bash: wrngcmd: command not found
127

Ini adalah perintah yang tidak ditemukan karena kami baru saja mengetik sekumpulan karakter yang tidak berarti.

Kode Keluar Bash yang Dicadangkan

Sangat mirip dengan kode keluar "0" yang menunjukkan keberhasilan perintah, bash memiliki beberapa kode keluar yang dicadangkan untuk situasi yang berbeda. Jadi idealnya jika Anda menggunakan perintah keluar dalam skrip dan perlu menentukan kode keluar, jangan gunakan kode keluar yang dicadangkan ini karena dapat membuat hasil yang bertentangan.

Nomor Kode Keluar Artinya Contoh Komentar
1 Tangkap untuk kesalahan umum biarkan “var1 =1/0” Kesalahan lain, seperti “bagi dengan nol” dan operasi lain yang tidak diizinkan
2 Penyalahgunaan shell bawaan fungsi_kosong() {} Kata kunci atau perintah tidak ada
126 Perintah yang dipanggil tidak dapat dijalankan /dev/null Masalah izin atau perintah tidak dapat dieksekusi
127 “perintah tidak ditemukan” ilegal_command Kemungkinan masalah dengan $PATH atau salah ketik
128 Argumen tidak valid untuk keluar keluar 3.14159 keluar hanya membutuhkan argumen bilangan bulat dalam rentang 0 – 255 (lihat catatan kaki pertama)
128 +n Sinyal kesalahan fatal “n” bunuh -9 $PPID skrip $? mengembalikan 137 (128 + 9)
130 Script diakhiri oleh Control-C Ctrl-C Kontrol-C adalah sinyal kesalahan fatal 2, (130 =128 + 2, lihat di atas)
255* Keluar status di luar jangkauan keluar -1 keluar hanya membutuhkan argumen bilangan bulat dalam rentang 0 – 255

Mari kita pahami kode keluar "128 +n" dengan sebuah contoh. Jalankan loop tanpa akhir seperti yang ditunjukkan di bawah ini:

#!/bin/bash    
while true; do    
echo ${$}    
done

Jika Anda menjalankan skrip ini, ia akan mencetak PID yang sama tanpa batas waktu hingga Anda mematikannya atau melakukan "CTRL+C". Coba lakukan “CTRL+C” dan lihat apa kode keluarnya.

# sh test.sh
....
2582
2582
2582
2582
2582
2582
^C
geeklab$ echo $?
130

Seperti yang Anda lihat kode keluarnya adalah "128+2" yaitu 130. Demikian pula jika kita mematikan skrip menggunakan "kill -9" kode keluarnya harus "128+9" yaitu 137. Mari kita lihat contohnya juga:

# sh test.sh
....
2582
2582
2582
...
# kill -9 [pid_of_script]
....
2602
2602
Killed: 9
geeklab$ echo $?
137


Linux
  1. Apa itu Jenis Server Nama DNS di Linux

  2. Apa itu file jarang di Linux

  3. Bash Prompt dengan Kode Keluar Terakhir

  1. Kode keluar baris perintah bash didemistifikasi

  2. Keluar dari kode penugasan variabel ke substitusi perintah di Bash

  3. Apa tujuan dari kode partisi rumah Linux 8302?

  1. Apa Perbedaan Utama Antara Bsd Dan Gnu/linux Userland?

  2. Apa Itu Halaman Kotor di Linux

  3. Apakah ada kode status keluar standar di Linux?