我從4列表中獲取數據。如果所有4列都有某種數據(不是空的),那麼它正在工作。如果有的話,其中一列是空的,那麼它會拋出一個錯誤。從表中取出文件的名稱並將文件保存在服務器的一個目錄中,並且該文件正在通過電子郵件發送。如何處理shell腳本中的異常?
我需要做的是,假設一列爲空,其他3列不爲空,那麼它應該發送剩餘的文件,而不是發生錯誤。
我從4列表中獲取數據。如果所有4列都有某種數據(不是空的),那麼它正在工作。如果有的話,其中一列是空的,那麼它會拋出一個錯誤。從表中取出文件的名稱並將文件保存在服務器的一個目錄中,並且該文件正在通過電子郵件發送。如何處理shell腳本中的異常?
我需要做的是,假設一列爲空,其他3列不爲空,那麼它應該發送剩餘的文件,而不是發生錯誤。
假設你使用bash,你可以使用||。和& &條件,因爲在bash中沒有try/catch。例如:
Run command2 if command1 fails:
command1 || command2
Run command2 if command1 is successful:
command1 && command2
要檢查最後的命令使用的返回代碼該變量:$?
例如:
echo "abc" > /dev/null
echo $?
返回0
這意味着沒有錯誤
當你有錯誤:
cat /etc/shadow
cat: /etc/shadow: Permission denied
echo $?
回報1
這是錯誤,通常每一個非零返回碼是錯誤的。