Kiểm tra trạng thái thoát của lệnh. Nếu lệnh bị chấm dứt bởi tín hiệu, mã thoát sẽ là 128 + số tín hiệu. Từ tài liệu trực tuyến GNU cho bash :
Đối với mục đích của shell, một lệnh thoát với trạng thái thoát 0 đã thành công. Một trạng thái thoát khác không chỉ ra thất bại. Lược đồ dường như phản trực giác này được sử dụng vì vậy có một cách được xác định rõ để chỉ ra thành công và nhiều cách khác nhau để chỉ ra các chế độ thất bại khác nhau. Khi một lệnh kết thúc trên tín hiệu gây tử vong có số là N, Bash sử dụng giá trị 128 + N làm trạng thái thoát.
POSIX cũng chỉ định rằng giá trị của lệnh bị chấm dứt bởi tín hiệu lớn hơn 128, nhưng dường như không chỉ định giá trị chính xác của nó giống như GNU:
Trạng thái thoát của lệnh kết thúc vì nhận được tín hiệu sẽ được báo cáo là lớn hơn 128.
Ví dụ: nếu bạn ngắt một lệnh bằng control-C, mã thoát sẽ là 130, vì SIGINT là tín hiệu 2 trên các hệ thống Unix. Vì thế:
while [ 1 ]; do COMMAND; test $? -gt 128 && break; done