2017-05-08 7 views
1

私はいくつかのアクションを実行するためにカールに頼るいくつかのcronジョブを持っています。彼らが失敗すると、私は自分自身にカール終了コードのメールを送ります。何がうまくいかなかったかを理解するために、私はカール終了コードを照会して、このページでhttps://curl.haxx.se/libcurl/c/libcurl-errors.htmlを書きます。bashスクリプトでカールエラーの説明を取得しますか?

私のbashスクリプトにエラーの説明を見て、エラーコードの代わりに自分自身を送信する方法はありますか?

+0

してください[編集]表示するには、あなたの質問[あなたがこれまで持っているコード](のhttp:/ /whathaveyoutried.com)。問題を抱えているコードのアウトライン(ただし、好ましくは[mcve])を含める必要があります。次に、特定の問題を解決することができます。 [ask]も読んでください。 –

答えて

1

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

1つの方法は、--log-fileフラグを使用してログファイルを作成し、このログを解析することです。これは私が行うことですin this script、特に私がエラーメッセージを検索するために使用しているコマンドgrepの下を参照してください。

あなただけの配列としてあなたのbashスクリプトにそれらのエラーメッセージのすべてをコピーすることができ
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'を使うのが良いでしょう。 –

関連する問題