我正在編寫一個腳本,該腳本在函數提供的 while 循環中顯示輸入選項user_input()
,並根據使用者輸入設定值,然後呼叫另一個函數user_info()
。如果使用者犯了錯誤,我會嘗試讓他返回更正他的輸入。因此,如果用戶$var
錯誤地設定為“是”,他可以返回並重置該選項!假設使用者重設為$var
“否”,有沒有辦法不繼續 at 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
我想我找到了一個解決方案,透過在每次呼叫user_input()
函數後添加 return 來解決這個問題,如果我犯了錯誤,請糾正我。多謝:
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
}