簡體   English   中英

捕獲遠程腳本的退出代碼?

[英]Capture exit code for remote script?

我有一個每天在我的服務器上運行的shell腳本。 它做一些房屋清潔並連接到遠程主機以執行其他任務,即

#!/bin/bash

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

#run remote script...
ssh user@remotehost "/opt/process/verify.sh"

exit

它工作正常但是為了安全我想捕獲(如果可能)來自“/opt/process/verify.sh”的返回碼,即

  • 如果失敗,返回“1”並發送電子郵件給管理員
  • 如果成功,返回“0”並向開發人員發送電子郵件。

我開始閱讀有關命令trap 我可以將它用於此目的嗎? 還有其他選擇嗎?

ssh返回有問題的命令的返回值,如果ssh本身發生錯誤,則返回255。 只需檢查此值並采取適當的措施。

你可以使用$? 變量來獲取響應代碼。 例如:

% ssh somebox /bin/true
% echo $?
0
% ssh somebox /bin/false
% echo $?
1
ssh user@remotehost "/opt/process/verify.sh"
echo $?

回聲$? 打印返回碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM