Linux上で動かす以下のようなシェルスクリプトを作っています。
if [ -d /home/aaa ]; then
処理1
else
処理2
fi
処理3
この場合、/home/aaaが存在するかどうかに関わらず、
「処理3」は実行されてしまいます。
これを、
「/home/aaaが存在しない場合は処理2を行ってからスクリプトを終了する」
といった内容にしたいです。
現状はそれの書き方が見つからないので、処理1の次の行に処理3を書き込んで同じ結果にしています。
(そのためどんどんif文の階層が深くなり、全ての記述がif文の中に入っていく・・・)
エクセルのVBAで言うところの、Exit Sub に該当する記述が理想的です。
そのような書き方がありましたら教えてください。
bashならそのままexit nが使えますよ。
if [ -d /home/aaa ]; then
echo 1;exit 0
else
echo 2;exit 0
fi
echo 3