Periksa status keluar dari perintah. Jika perintah diakhiri oleh sinyal, kode keluar akan menjadi 128 + nomor sinyal. Dari dokumentasi online GNU untuk bash :
Untuk tujuan shell, perintah yang keluar dengan status keluar nol telah berhasil. Status keluar yang tidak nol menunjukkan kegagalan. Skema yang tampaknya kontra-intuitif ini digunakan sehingga ada satu cara yang jelas untuk menunjukkan keberhasilan dan berbagai cara untuk menunjukkan berbagai mode kegagalan. Ketika sebuah perintah berakhir pada sinyal fatal yang jumlahnya N, Bash menggunakan nilai 128 + N sebagai status keluar.
POSIX juga menentukan bahwa nilai perintah yang diakhiri oleh sinyal lebih besar dari 128, tetapi tampaknya tidak menentukan nilai persisnya seperti yang dilakukan GNU:
Status keluar dari perintah yang diakhiri karena menerima sinyal harus dilaporkan lebih besar dari 128.
Sebagai contoh jika Anda mengganggu perintah dengan kontrol-C kode keluar akan menjadi 130, karena SIGINT adalah sinyal 2 pada sistem Unix. Begitu:
while [ 1 ]; do COMMAND; test $? -gt 128 && break; done