関数が提供するwhileループに入力オプションを表示し、user_input()
ユーザー入力に応じて値を設定してから、他の関数を呼び出すスクリプトを作成していますuser_info()
。ユーザーが間違えた場合は、戻って入力内容を修正するよう努めます。したがって、ユーザーが$var
誤って「はい」に設定した場合は、もう一度戻ってオプションをリセットできます。ユーザーが「いいえ」にリセットすると仮定すると、続行せずにそのステートメントにジャンプして実行する$var
方法はありますか?質問が明確でない場合は、コードを投稿してより明確にすることができます。ありがとう:code (2)
elif
code (3)
user_input(){
while true; do
input option $var
done
user_info
}
user_info(){
some code
if [ "${var}" = "Yes" ]; then
code (1)
if [ "${option}" = "back" ]; then
user_input
fi
code (2)
elif [ "${var}" = "No" ]; then
code (3)
fi
}
答え1
各関数呼び出し後にreturnを追加して、この問題に対する解決策を見つけたようですuser_input()
。私が間違っている場合は訂正してください。ありがとう:
user_input(){
while true; do
input option $var
done
user_info
}
user_info(){
some code
if [ "${var}" = "Yes" ]; then
code (1)
if [ "${option}" = "back" ]; then
user_input
return
fi
code (2)
elif [ "${var}" = "No" ]; then
code (3)
fi
}