Tôi có một tập lệnh trong đó tôi kiểm tra tỉ mỉ các mã trả lại cho các điều kiện lỗi, để tôi có thể hủy bỏ sớm trong trường hợp lỗi. Một bước của kịch bản lệnh này liên quan đến việc chạy một lệnh với quyền root trên một hộp khác, thông qua ssh và sudo.Ghi mã thoát khỏi quy trình chạy giả
xem xét:
ssh $HOST sudo $CMD
echo $?
ssh qua mã trở lại tốt, nhưng ngay cả khi $ CMD trả về một mã thoát khác không, sudo vẫn trả về 0 sau khi chạy lệnh.
Làm cách nào để nắm bắt mã trả về là $ CMD? Tôi là một phần của nó được chuyển trở lại như mã trả về của ssh, nhưng nếu có một phương pháp đơn giản khác mà không thể bị nhầm lẫn bởi đầu ra của $ CMD, tôi là tất cả các tai.
Tương tự ở đây - tôi đã lặp lại kết quả, vì vậy mặc dù ssh đã chuyển mã trạng thái chính xác, nhưng echo đã trả về 0. –