GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara keluar jika perintah gagal?

Jawaban lain telah mencakup pertanyaan langsung dengan baik, tetapi Anda mungkin juga tertarik menggunakan set -e . Dengan itu, setiap perintah yang gagal (di luar konteks tertentu seperti if tes) akan menyebabkan skrip dibatalkan. Untuk skrip tertentu, ini sangat berguna.


Coba:

my_command || { echo 'my_command failed' ; exit 1; }

Empat perubahan:

  • Ubah && ke ||
  • Gunakan { } di tempat ( )
  • Perkenalkan ; setelah exit dan
  • spasi setelah { dan sebelum }

Karena Anda ingin mencetak pesan dan keluar hanya ketika perintah gagal (keluar dengan nilai bukan nol), Anda memerlukan || bukan && .

cmd1 && cmd2

akan menjalankan cmd2 saat cmd1 berhasil(nilai keluar 0 ). Dimana

cmd1 || cmd2

akan menjalankan cmd2 saat cmd1 gagal(nilai keluar bukan nol).

Menggunakan ( ) membuat perintah di dalamnya berjalan di sub-shell dan memanggil exit dari sana menyebabkan Anda keluar dari sub-shell dan bukan shell asli Anda, sehingga eksekusi berlanjut di shell asli Anda.

Untuk mengatasinya gunakan { }

Dua perubahan terakhir diperlukan oleh bash.


Linux
  1. Bagaimana Perintah Keluar Bekerja Pada Terminal Unix?

  2. Cara Keluar dari Kontainer Docker

  3. error:perintah 'gcc' gagal dengan status keluar 1 di CentOS

  1. Cara Mengganti Nama File di Linux

  2. perintah 'x86_64-linux-gnu-gcc' gagal dengan status keluar 1

  3. Bagaimana cara keluar dari koneksi SSH?

  1. Cara menggunakan Perintah Su di Linux

  2. Bagaimana Cara Menjadwalkan Perintah Rsync?

  3. `$?` ? Apakah Itu Variabel?