Tuy nhiên, nhiều người dùng tập lệnh Bash muốn trả lại với các mã trả lại khác nhau khi thoát, nhưng họ gặp lỗi. Trong hướng dẫn này, chúng tôi sẽ giải thích các cách tiếp cận khác nhau để thực hiện trả lại tập lệnh Bash với các mã trả lại khác nhau khi thoát.
Tập lệnh Bash trả về với các mã trả lại khác nhau khi thoát
Trước khi chuyển sang các phương pháp, hãy xem các mã thoát có ý nghĩa cụ thể:
Mã thoát | Sự mô tả |
0 | Tập lệnh được thực thi thành công. |
1 | Tập lệnh được thực thi với các lỗi chung. |
hai | Sử dụng không hợp lệ một số lệnh tích hợp trong tập lệnh. |
126 | Hiển thị lỗi cho lệnh được gọi và không thể thực hiện được. |
127 | Lệnh không tồn tại trong tập lệnh. |
128 | Hiển thị mã thoát ngoài phạm vi hoặc tín hiệu lỗi nghiêm trọng. |
130 | CTRL + C kết thúc tập lệnh. |
255 | Mã lỗi chung của tập lệnh. |
Làm thế nào để nhận lại mã khi thoát?
Bạn chỉ cần viết “echo $?” lệnh để lấy mã trả về. Ví dụ: bạn muốn so sánh hai số bằng cách sử dụng tập lệnh Bash sau:
Khi bạn thực thi tập lệnh trong thiết bị đầu cuối, hãy chạy “echo $?” để nhận mã trả lại khi thoát:
. / so sánh.sh
tiếng vang $?
“So sánh.sh” được thực thi thành công. Đó là lý do tại sao các thiết bị đầu cuối hiển thị số 0 dưới dạng mã trả lại. Tương tự, bạn sẽ nhận được khác 0 khi thực hiện thành công tập lệnh. Ví dụ: nếu bạn sử dụng Ls thay vì lệnh ls trong script, bạn có thể nhận được giá trị khác 0 làm mã trả về:
Như bạn có thể thấy trong hình trước, thiết bị đầu cuối hiển thị 127 là mã trả về vì tập lệnh chứa lệnh sai:
Tạo Bash Script Return với các mã thoát khác nhau
Bạn có thể thiết lập thủ công mã thoát trong tập lệnh. Ví dụ: nếu bạn muốn lấy 255 làm mã thoát, hãy sử dụng tập lệnh sau:
Bây giờ, hãy thực thi tập lệnh và sau đó chạy “echo $?” lệnh lấy 255 làm mã trả về:
. / so sánh.shtiếng vang $?
Sự kết luận
Đây là tất cả về các mã thoát mà bạn có thể nhận được sau khi thực thi tập lệnh Bash trong Linux. Mã thoát giúp người dùng xác định trạng thái của tập lệnh Bash. Bạn cũng có thể thiết lập thủ công và sử dụng các mã trả hàng khác nhau. Do đó, bạn có thể nhận được mã thoát khác 0 thay vì 0 ngay cả khi tập lệnh được thực thi thành công. Nếu bạn muốn biết thêm về các tập lệnh Bash, hãy duyệt qua trang web chính thức của chúng tôi.