2017-05-08 99 views
1

我有幾個cron作業運行並依靠捲曲來執行一些操作。如果他們失敗了,我會給自己發一封帶有捲髮退出碼的郵件。爲了弄清楚出了什麼問題,我然後查詢捲曲退出代碼並結束此頁面:https://curl.haxx.se/libcurl/c/libcurl-errors.html在bash腳本中獲取捲曲錯誤描述?

有沒有在我的bash腳本中查找錯誤描述併發送自己的方式而不是隻是一個錯誤代碼?

+0

請[編輯]你的問題,以顯示[你到目前爲止的代碼(HTTP:/ /whathaveyoutried.com)。你至少應該包括一個你遇到問題的代碼大綱(但最好是[mcve]),然後我們可以嘗試幫助解決具體問題。你還應該閱讀[問]。 –

回答

1

您只需所有這些錯誤信息複製到您的bash腳本作爲數組:

curl_codes=(
    "All fine. Proceed as usual." 
    "The URL you passed to libcurl used a protocol that this libcurl does not support." 
    "Something else") 

[ $exit_code -eq 0 ] || echo "Error $exit_code: ${curl_codes[$exit_code]}" 
1

一種方法是使用--log-file標誌創建日誌文件,然後解析此日誌。這就是我所做的in this script,特別是在我用來查找錯誤消息的grep命令下面。

if [ -n "$(grep "rsync error:" "$LOG_FILE")" ]; then 
    # Handle errors 
elif [ -n "$(grep "rsync:" "$LOG_FILE")" ]; then 
    # Handle warnings 
fi 
+0

而不是使用'if [-n「$(grep)」]',最好使用'if grep -q' –