我在Bash中构建了一个简单的选择菜单。它目前水平显示菜单(带有选项卡),如下所示:
1) Create a VM from scratch 3) Command-line Usage
2) Management Menu 4) Quit我希望名单看起来像这样:
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如何在自己的行上显示带有每个选项的选择菜单?
发布于 2016-06-03 14:47:18
Bash定义了一个由$COLUMNS读取的select环境变量。
如bash的man所示:
在打印选择列表时,select复合命令使用的列确定终端宽度。如果启用了checkwinsize选项,或者在收到SIGWINCH时在交互式shell中自动设置。
https://stackoverflow.com/questions/37616552
复制相似问题