Bash选择不带选项卡的菜单格式

Bash选择不带选项卡的菜单格式,bash,Bash,我在Bash中构建了一个简单的选择菜单。它当前水平显示菜单(带有选项卡),如下所示: 我希望列表如下所示: 1) Create a VM from scratch 2) Management Menu 3) Command-line Usage 4) Quit 更新:以下是我的代码: PS3="Please choose a valid option : " OPTIONS=("Create a VM from scratch" "Management Menu" "Comman

我在Bash中构建了一个简单的选择菜单。它当前水平显示菜单(带有选项卡),如下所示:

我希望列表如下所示:

1) Create a VM from scratch  
2) Management Menu
3) Command-line Usage     
4) Quit
更新:以下是我的代码:

PS3="Please choose a valid option : "
OPTIONS=("Create a VM from scratch" "Management Menu" "Command-line Usage" "Quit")
select opt in "${OPTIONS[@]}"; do
    case $opt in
            "Create a VM from scratch")
                 createit
                 exit
                 ;;
            "Management Menu")
                 mgmtmenu
                 exit
                 ;;
            "Command-line Usage ")
                 help
                 ;;
            "Quit")
                exit
                ;;
            *) echo invalid option;;
    esac
done

如何显示select菜单及其各行上的选项?

Bash定义了一个由
select
读取的
$COLUMNS
环境变量

正如在bash的《代码》中所看到的那样:


你能发布创建当前菜单的代码吗?而且,似乎符合你的要求。@Aaron:你提供的链接不符合op的要求。我用8进行了测试,结果不是这样。可能有一些环境变量会影响
select
显示菜单的方式。我想是这样@Aaron,但无法确定哪一个会影响行为。文档很少;)看起来有一个
$COLUMNS
环境变量可以修改此行为。我正在测试它,如果成功,我会在几分钟内发布一个答案。很好的工作,很好的答案:-)有趣的是,
在我的shell中不是默认定义的。刚刚添加到脚本中,它就像一个符咒一样工作。:-)
PS3="Please choose a valid option : "
OPTIONS=("Create a VM from scratch" "Management Menu" "Command-line Usage" "Quit")
select opt in "${OPTIONS[@]}"; do
    case $opt in
            "Create a VM from scratch")
                 createit
                 exit
                 ;;
            "Management Menu")
                 mgmtmenu
                 exit
                 ;;
            "Command-line Usage ")
                 help
                 ;;
            "Quit")
                exit
                ;;
            *) echo invalid option;;
    esac
done
COLUMNS
         Used by the select compound command to  determine  the  terminal
         width  when  printing selection lists.  Automatically set if the
         checkwinsize option is enabled or in an interactive  shell  upon
         receipt of a SIGWINCH.