しばらくの間、どちらをやろうとしているかわからないことが2つあり、ばかげているように聞こえて申し訳ありませんが、オプションAまたはBが押されたときにコードを統合する場所がわかりません。サブメニューに「オプションAが選択されました」と表示されますサブ見出しをループして「オプションA/Bが選択されました」と表示されたら、サブメニュー画面に戻る方法もわかりません。メインメニューに戻るときにメインメニューに戻るボタンを押すまで。私はこれに不慣れで、特にこのビットに苦労しているので、助けていただければ幸いです、ありがとう!
質問する
8531 次
2 に答える
1
別のアプローチ:
select x in submenu1 submenu2 exit ; do
[[ $x == exit ]] && exit 0
select y in optionA optionB; do
echo "submenu $y heading"
echo "$x selected"
break
done
done
例
1) submenu1
2) submenu2
3) exit
> 1
1) optionA
2) optionB
> 1
submenu optionA heading
submenu1 selected
>
于 2013-03-14T19:07:28.817 に答える
0
タスクを単純化する 1 つの方法は、各メニューを独自の機能に保持することです。各メニューは、ユーザーが終了キーを押すまでループします。この場合、「x」が使用されます。私のバッシュはしません
function subopt1
{
subopt1=""
while [ "$subopt1" != "x" ]
do
echo Sub Menu 1 Heading
echo Option A
echo Option B
echo x Back to Main Menu
read -p "Select sub option1" subopt1
done
}
function subopt2
{
subopt2=""
while [ "$subopt2" != "x" ]
do
echo Sub Menu 2 Heading
echo Option A
echo Option B
echo x Back to Main Menu
read -p "Select sub-option2" subopt2
done
}
function mainopt
{
opt=""
while [ "$opt" != "x" ]
do
echo Menu Heading
echo Sub Menu 1
echo Sub Menu 2
read -p "Select Otion: " opt
if [ "$opt" = "1" ]; then
subopt1
elif [ "$opt" = "2" ]; then
subopt2
elif [ "$opt" = "x" ];then
break
fi
done
}
mainopt
于 2013-03-14T18:57:42.857 に答える