失敗するたびにコマンドを実行する方法は?

失敗するたびにコマンドを実行する方法は?

私はコマンドが失敗するたびに(私のVPSにHTTPリクエストを送ることによって)私が何度も間違いを犯したことを確認しようとしています。

私は試した: some_command || curl <my-vps>。もっと良い方法がありますか?

ベストアンサー1

エラー処理用のトラップを生成できます。

たとえば、

trap 'echo "Error: $? occurred" >> log.txt' ERR

some_command
some_bad_command
some_command

または、以下のようにスクリプトで使用できます。

#!/bin/bash

trap 'error_handler $? $LINENO' ERR

error_handler () {
    echo "Error: $1 occurred on line $2"
}

# rest of code...

お客様のユースケースに関する注意事項として、次のようにします。

trap 'curl <my-vps> --retry 0 --silent -o /dev/null &' ERR

これにより操作が自動的に実行され、エラーが発生した場合に他のカールが起動しなくなります。

おすすめ記事