1

有两件事我不确定我一直在尝试做什么,我很抱歉听起来很愚蠢,但我不确定在哪里集成代码,以便在按下选项 A 或 B 时子菜单显示“已选择选项 A”我也不确定如何循环子标题,以便在显示“已选择选项 A/B”时返回子菜单屏幕。直到我按下返回主菜单按钮时,它将进入主菜单。我非常感谢任何帮助,因为我是新手,特别是在这方面苦苦挣扎,谢谢!

4

2 回答 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

简化任务的一种方法是将每个菜单保留在其自己的功能中,每个菜单循环直到用户按下退出键。在这种情况下,使用“x”。我的 bash 没有

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 回答