Pengaturcaraan BASH

Bash Exit Code of Last Command

Bash Exit Code of Last Command
Apabila perintah bash dijalankan, ia meninggalkan kod keluar, tanpa mengira pelaksanaan yang berjaya atau tidak berjaya. Memeriksa kod keluar boleh memberikan gambaran berguna mengenai tingkah laku perintah yang terakhir dijalankan.

Dalam panduan ini, periksa cara memeriksa kod keluar bash dari arahan terakhir dan beberapa kemungkinan penggunaannya.

Kod Keluar Bash

Setiap arahan UNIX / Linux yang dijalankan oleh skrip shell atau pengguna meninggalkan status keluar. Ini adalah nombor bulat yang tidak berubah kecuali perintah seterusnya dijalankan. Sekiranya kod keluar adalah 0, maka perintah itu berjaya. Sekiranya kod keluar tidak sifar (1-255), maka ini menandakan kesalahan.

Terdapat banyak kemungkinan penggunaan kod keluar bash. Yang paling jelas adalah, tentu saja, untuk mengesahkan sama ada arahan terakhir dilaksanakan dengan betul, terutamanya jika perintah itu tidak menghasilkan output.

Dalam kes bash, kod keluar dari perintah sebelumnya dapat diakses menggunakan pemboleh ubah shell “$?".

Memeriksa Kod Keluar Bash

Lancarkan terminal, dan jalankan sebarang arahan.

$ tarikh

Periksa nilai pemboleh ubah shell “$?"Untuk kod keluar.

$ bergema $?

Oleh kerana arahan "tarikh" berjaya, kod keluar adalah 0. Apa yang akan berlaku sekiranya terdapat kesalahan?

Mari cuba jalankan perintah yang tidak ada.

$ abcd

Periksa kod keluar.

$ bergema $?

Ini adalah nilai bukan sifar, yang menunjukkan bahawa perintah sebelumnya tidak dilaksanakan dengan baik.

Sekarang, perhatikan arahan berikut:

$ sampel kucing.txt | grep "duit syiling"

Apabila bekerja dengan arahan yang mempunyai satu atau lebih paip, kod keluar adalah kod terakhir yang dilaksanakan di dalam paip. Dalam kes ini, ia adalah perintah grep.

Oleh kerana perintah grep berjaya, ia akan menjadi 0.

$ bergema $?

Dalam contoh ini, jika perintah grep gagal, maka kod keluar akan menjadi bukan sifar.

$ sampel kucing.txt | grep "abcd"
$ bergema $?

Memasukkan Kod Keluar dalam Skrip

Kod keluar juga dapat digunakan untuk skrip. Salah satu cara mudah untuk menggunakannya adalah dengan menetapkannya ke pemboleh ubah shell dan bekerja dengannya. Berikut adalah contoh skrip shell yang menggunakan kod keluar sebagai syarat untuk mencetak output tertentu.

$ #!/ bin / bash
$ gema "hello world"
status $ = $?
$ [$ status -eq 0] && echo "perintah berjaya" || gema "arahan tidak berjaya"

Semasa dijalankan, skrip akan menghasilkan output berikut.

Sekarang, mari kita lihat apa yang berlaku apabila terdapat perintah yang tidak betul untuk dijalankan.

$ #!/ bin / bash
$ perintah rawak
status $ = $?
$ [$ status -eq 0] && echo "perintah berjaya" || gema "arahan tidak berjaya"

Semasa dijalankan, output akan berbeza.

Penjelasan Nilai Kod Keluar

Apabila kod keluar tidak sifar, nilainya berkisar antara 1 hingga 255. Sekarang, apakah maksud nilai ini?

Walaupun nilainya terhad, penjelasan setiap nilai adalah unik untuk program / skrip. Sebagai contoh, "ls" dan "grep" mempunyai penjelasan yang berbeza untuk kod ralat 1 dan 2.

$ lelaki ls

$ lelaki grep

Menentukan Status Keluar dalam Skrip

Semasa menulis skrip, kita dapat menentukan nilai kod keluar khusus. Ini kaedah yang berguna untuk penyahpepijatan yang lebih mudah. Dalam skrip bash, ini adalah perintah "keluar" diikuti oleh nilai kod keluar.

$ keluar

Menurut konvensyen, disarankan untuk menetapkan kod keluar 0 untuk pelaksanaan yang berjaya dan gunakan selebihnya (1-255) untuk kemungkinan kesalahan. Ketika mencapai perintah keluar, pelaksanaan skrip shell akan dihentikan, jadi berhati-hatilah dengan penempatannya.

Lihat skrip shell berikut. Di sini, jika syaratnya dipenuhi, skrip akan berakhir dengan kod keluar 0. Sekiranya syarat tidak dipenuhi, maka kod keluar akan menjadi 1.

$ #!/ bin / bash
$ jika [["$ (whoami)" != akar]]; kemudian
$ echo "Bukan pengguna root."
$ keluar 1
$ fi
$ echo "pengguna root"
$ keluar 0

Sahkan hasil menjalankan skrip ini tanpa hak istimewa sudo atau pengguna "root".

$ ./ sampel.sh
$ bergema $?

Pemikiran Akhir

Panduan ini menunjukkan apakah kod keluar dan bagaimana anda boleh menggunakannya. Ini juga menunjukkan cara menetapkan kod keluar yang sesuai dalam skrip bash.

Berminat dengan skrip bash? Salah satu cara termudah untuk memulakannya adalah dengan menulis skrip anda sendiri. Lihat panduan ringkas ini mengenai cara menulis skrip bash ringkas.

Selamat pengkomputeran!

Cara menangkap dan streaming sesi permainan anda di Linux
Pada masa lalu, bermain permainan hanya dianggap sebagai hobi, tetapi seiring dengan berjalannya waktu, industri permainan menyaksikan pertumbuhan yan...
Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...