Memeriksa Jika Perintah Berhasil di Bash Menggunakan Variabel Khusus `$?`
Dalam Bash, seringkali perlu untuk memeriksa apakah suatu perintah berhasil atau gagal. Misalnya, Anda mungkin ingin menjalankan perintah yang berbeda berdasarkan keberhasilan atau kegagalan perintah, atau Anda mungkin ingin melakukan penanganan kesalahan dalam skrip. Untuk memeriksa apakah suatu perintah berhasil atau gagal di Bash, Anda dapat memeriksa status keluar dari perintah tersebut. Status keluar dari suatu perintah adalah nilai numerik yang menunjukkan keberhasilan atau kegagalan perintah tersebut. Perintah dengan status keluar 0 menunjukkan keberhasilan, dan perintah dengan status keluar bukan nol menunjukkan kegagalan.
Dalam artikel ini, kita akan mengeksplorasi berbagai cara untuk memeriksa status keluar dari perintah di Bash, termasuk menggunakan `$? ` variabel khusus, menggunakan operator `&&` dan `||`, serta menggunakan skrip dan fungsi. Memahami cara memeriksa status keluar dari suatu perintah di Bash dapat membantu dalam berbagai skenario saat bekerja dengan Bash.
Memeriksa Jika Perintah Berhasil di Bash
Di Bash, Anda dapat memeriksa apakah suatu perintah berhasil atau gagal dengan memeriksa status keluar dari perintah. Status keluar dari suatu perintah adalah nilai numerik yang menunjukkan keberhasilan atau kegagalan perintah tersebut. Perintah dengan status keluar 0 menunjukkan keberhasilan, dan perintah dengan status keluar bukan nol menunjukkan kegagalan.
Untuk memeriksa status keluar dari perintah di Bash, Anda dapat menggunakan perintah $? variabel khusus, yang menyimpan status keluar dari perintah yang baru saja dieksekusi. berformat panjang. Untuk memeriksa apakah perintah ini berhasil, Anda dapat menggunakan kode berikut:
ls -l /etc/ if [ $? -eq 0 ]; lalu echo "Perintah berhasil" else echo "Perintah gagal" fi123456ls -l /etc/if [ $? -eq 0 ]; lalu gema "Perintah berhasil"lainnya gema "Perintah gagal"fi
Kode ini memeriksa status keluar dari perintah ls dengan memeriksa nilai $? variabel khusus. Jika nilai `$?` adalah `0`, perintah berhasil, dan kode mencetak "Perintah berhasil". Jika nilai `$?` bukan nol, perintah gagal, dan kode mencetak "Perintah gagal".
Periksa Status Keluar dari Fungsi
Anda juga dapat menggunakan variabel khusus `$?` untuk memeriksa status keluar dari perintah dalam skrip atau fungsi. Misalnya, pertimbangkan skrip berikut:
#/usr/bin/env bash check_command() { perintah jika [ $? -eq 0 ]; lalu kembalikan 0 lagi kembalikan 1 fi } check_command ls -l /etc/ jika [ $? -eq 0 ]; lalu gema "Perintah berhasil" else gema "Perintah gagal" fi1234567891011121314151617#/usr/bin/env bash check_command() { perintah jika [ $? -eq 0 ]; lalu kembalikan 0 lain kembalikan 1 fi} check_command ls -l /etc/if [ $? -eq 0 ]; lalu gema "Perintah berhasil"lainnya gema "Perintah gagal"fi
Skrip ini menentukan fungsi check_command yang menggunakan perintah sebagai argumen dan memeriksa status keluar dari perintah. Fungsi mengembalikan `0` jika perintah berhasil dan `1` jika perintah gagal. Skrip kemudian memanggil fungsi check_command dengan perintah ls dan memeriksa status keluar dari fungsi dengan memeriksa nilai variabel khusus `$?`. Jika nilai `$?` adalah `0`, perintah berhasil, dan skrip mencetak "Perintah berhasil". Jika nilai `$?` adalah `1`, perintah gagal, dan skrip mencetak "Perintah gagal".
Periksa Status Keluar Menggunakan `&&` Dan `||` di Bash
Selain menggunakan variabel khusus `$?` , Anda juga dapat menggunakan operator `&&` dan `||` untuk memeriksa status keluar dari suatu perintah dan menjalankan perintah yang berbeda berdasarkan hasilnya. Misalnya, perhatikan kode berikut:
ls -l /etc/ && echo "Command Successful" || echo "Perintah gagal"1ls -l /etc/ && echo "Perintah berhasil" || echo "Perintah gagal"
Kode ini memeriksa status keluar dari perintah `ls`‘ dan menjalankan perintah yang berbeda berdasarkan hasilnya. Jika perintah ls berhasil, kode mencetak "Perintah berhasil". Jika perintah ls gagal, kode akan mencetak "Perintah gagal".
Kesimpulan
Kesimpulannya, memeriksa apakah suatu perintah berhasil atau gagal di Bash adalah tugas berguna yang dapat diselesaikan dengan memeriksa status keluar dari perintah. Status keluar dari suatu perintah adalah nilai numerik yang menunjukkan keberhasilan atau kegagalan perintah tersebut. Perintah dengan status keluar `0` menunjukkan keberhasilan, dan perintah dengan status keluar bukan nol menunjukkan kegagalan. Untuk memeriksa status keluar dari suatu perintah di Bash, Anda dapat menggunakan perintah $? variabel khusus, yang menyimpan status keluar dari perintah yang terakhir dieksekusi.
Anda juga dapat menggunakan $? variabel khusus untuk memeriksa status keluar dari perintah dalam skrip atau fungsi atau gunakan operator `&&` dan `||` untuk memeriksa status keluar dan menjalankan perintah yang berbeda berdasarkan hasilnya. Memahami cara memeriksa status keluar dari suatu perintah di Bash dapat membantu dalam berbagai skenario, seperti ketika Anda ingin menjalankan perintah yang berbeda berdasarkan keberhasilan atau kegagalan suatu perintah atau ketika Anda ingin melakukan penanganan kesalahan dalam skrip.
Referensi tecadmin.com