シェルスクリプトファイルがあります/bin/foo
。
エラーが発生した場合は、シェルスクリプトを終了してユーザーにメッセージを送信する方法は?
a を使用するとset -e
エラーで終了しますが、STDOUT にメッセージを送信したりメールを送信したりするなど、エラーが発生した場合は何も実行しません。
Q:シェルスクリプトが失敗した場合、コマンドをどのように実行しますか?
SLES12、バッシュ。
ベストアンサー1
ユーザーにメッセージを送信し、trap
スクリプトがエラーで終了したときに実行する関数を作成できます。
#!/bin/bash
set -e
on_exit () {
echo "This script has exited in error"
}
trap on_exit ERR
echo 'yes' | grep "$1"
使用中:
$ ./script.sh yes
yes
$ ./script.sh no
This script has exited in error