"set -e": 実行コマンドが0以外の終了コードの場合、シェルスクリプトを終了する - RX-7乗りの適当な日々にある通り、Shellスクリプトで set -e すると実行結果が0以外の場合、勝手にスクリプトが終了する。で、この挙動をスクリプトの途中で元に戻したい(=エラーにしたくない)場合は以下のように set +e すればいい。
set -e
echo "in set -e"
...
set +e
echo "in set +e"
これで hoge でコマンドが失敗してもエラーでShell自体は終了しなくなる。