概要

シェルには例外がなく、コマンドが失敗しても処理が止まらず走り続ける
シェルスクリプト中でエラーが起きたときに停止させる方法を調べたのでメモ

やり方

通常のままだとエラーが起きても処理は止まらない

#!/bin/bash

missing_command
echo 'finish!'
$ sh sample.sh 
sample.sh: line 3: missing_command: command not found
finish!

set -e を使うことで0以外の終了ステータスが返った時点でスクリプトを止めることができる

#!/bin/bash
set -e

missing_command
echo 'finish!'
$ sh sample.sh 
sample.sh: line 3: missing_command: command not found