サブメニューの終了中に問題が発生しました。確認してください:
function submenu
{
select submenu1 in "Submenu 1" "Submenu 2" "Submenu 3" "Exit to main menu"; do
case $submenu1 in
"Submenu 1" ) echo "SubMenu1"; ;;
"Submenu 2" ) echo "SubMenu1"; ;;
"Submenu 3" ) echo "SubMenu1"; ;;
"Exit to main menu" ) break;;
* ) echo "Please select an option."; ;;
esac
done
}
select mainMenu in "Main Menu 1" "Main Menu 2" "Main Menu 3" "Quit"; do
case $mainMenu in
"Main Menu 1" ) submenu; ;;
"Main Menu 2" ) echo "MainMenu2"; ;;
"Main Menu 3" ) echo "MainMenu3"; ;;
Quit ) exit;;
* ) echo "Please select an option.";
esac
done
メインメニューで1番を選択すると、サブメニュー機能が起動します。ユーザーが「4」と入力してEnterキーを押すと、そのまま残ります。もう一度Enterを押すとメインメニューに戻ります。
私は何を見逃しているのか分かりませんが、これは簡単だと思います。
ベストアンサー1
あなたが逃している唯一のことは、これが完全に意図的な行動であるということです。
メインメニューで2を押すとどうなりますか?
1) Main Menu 1
2) Main Menu 2
3) Main Menu 3
4) Quit
#? 2
MainMenu2
#?
コマンドを実行しecho "MainMenu2"
て#?
プロンプトを再表示します。他の人はいません。選択したコマンドを実行し、#?
プロンプトを再表示します。もう一度Enterキーを押すと(空白の入力)メニューオプションが再び表示されます。
サブメニューに入り、終了すると、一貫した動作が表示されます。つまり、#?
プロンプトが再び表示されます。もう一度Enterキーを押すと(空白の入力)メニューオプションが再び表示されます。