2011-10-06 32 views
6

Tôi có một tập lệnh shell chạy trên máy chủ của tôi mỗi ngày. Nó thực hiện một số dọn dẹp nhà cửa và kết nối đến một máy chủ từ xa để thực hiện các nhiệm vụ khác tức làGhi lại mã thoát cho tập lệnh từ xa?

#!/bin/bash 

#do something... 
...locally... 

#run remote script... 
ssh [email protected] "/opt/process/verify.sh" 

exit 

Nó hoạt động tốt nhưng để an toàn tôi muốn chụp (nếu có thể) mã trở về từ "/ opt/quá trình/xác minh sh" tức là

  • nếu thất bại, trở về "1" và gửi email tới admin
  • nếu thành công, trở về "0" và gửi email cho nhà phát triển.

Tôi bắt đầu đọc về lệnh trap. Tôi có thể sử dụng nó cho mục đích đó không? Có lựa chọn nào khác không?

Trả lời

18

ssh trả về giá trị trả lại của lệnh được đề cập hoặc 255 nếu xảy ra lỗi trong chính số ssh. Chỉ cần kiểm tra giá trị này và thực hiện hành động thích hợp.

8

Bạn có thể sử dụng $? biến để nhận mã phản hồi. Ví dụ:

% ssh somebox /bin/true 
% echo $? 
0 
% ssh somebox /bin/false 
% echo $? 
1 
Các vấn đề liên quan