しかし、不勉強が祟ってさっぱりぽんなわけです。
if [ -f $PATH ]; then
if [ hoge condition ]; then
prinf "really? "; read res
if [ $res = 'n' ]; then (do_something_else に飛びたい); fi
fi
do_something
fi
do_something_else
上記のように、特定の条件下では確認をして、n だったら実行しないということをしたいのですが、関数にしていないのでガードみたいにして関数を抜けるということが出来ません。そこで以下のようにやって回避しています。
for APATH in "/path/to/a"
do
if [ -f $APATH ]; then
if [ hoge condition ]; then
prinf "really? "; read res
if [ $res = 'n' ]; then break; fi
fi
do_something
fi
done
do_something_else
大変無駄な感じですが、とりあえず動いているようです。
---
追記 12/09
やっぱり、関数にして以下のように書くのが良いようです。
テストもしやすいので、ぐっどです。
f() {
if hoge; then
if piyo; then
if (user が no を選択); then return; fi
fi
do_something
fi
}
f()
do_something_else
0 件のコメント:
コメントを投稿