シェルが失敗した場合はどうやって終了しますか?

シェルが失敗した場合はどうやって終了しますか?

Perlスクリプトを使用してOracle DBに接続し、Solaris OSでいくつかのクエリを実行しようとしました。各クエリを次のように保存しました。

create table t1 ..
update t1 ..
insert into t1 ..

重要なことは、順番に実行する必要があり、そのうちの1つが失敗した場合はスクリプトを終了する必要があることです。一部が失敗した場合に終了するシェルスクリプトをどのように作成できますか?

何度も試してみましたが、set -eSolarisでは正しく機能しません。ついに似たようなものが見つかりましたが、同じ問題があり、毎回失敗しました。

if ! nohup /data/scripts/drop_table.pl   >> /info/saved/LOG/`date +\%Y\%m\%d`_result.log   2>&1;
then echo "dropping error!!" >&2;
exit 1;
fi

if ! nohup /data/scripts/update_table.pl   >> /info/saved/LOG/`date +\%Y\%m\%d`_result.log   2>&1;
then echo "updating error!!" >&2;
exit 1;
fi

if ! nohup /data/scripts/insert_table.pl   >> /info/saved/LOG/`date +\%Y\%m\%d`_result.log   2>&1;
then echo "insertion error!!" >&2;
exit 1;
fi

ベストアンサー1

おすすめ記事