シェルスクリプトの一部が失敗した場合はどうやって終了しますか?

シェルスクリプトの一部が失敗した場合はどうやって終了しますか?

一部が失敗した場合に終了するシェルスクリプトをどのように作成できますか?たとえば、次のコードスニペットが失敗した場合は、スクリプトを終了する必要があります。

n=0
until [ $n -ge 5 ]
do
  gksu *command* && break
  n=$[$n+1]
  sleep 3

ベストアンサー1

1つの方法は、set -eスクリプトの先頭に追加することです。これは(でhelp set)を意味します。

  -e  Exit immediately if a command exits with a non-zero status.

したがって、コマンドが失敗した場合、スクリプトは終了します。

あるいは、exit可能なエラーポイントに明示的なステートメントを追加することもできます。

command || exit 1

おすすめ記事