创建文本菜单的一半功夫都花在了创建菜单布局和获取输入的字符上。bash shell提供了一个很容易上手的小工具来自动完成这些工作
select命令允许从单个命令行创建菜单,然后在提取输入的答案并自动处理。select命令的格式如下:
select variable in list
do
commands
done
list参数是构成菜单的空格分割的文本选项列表。select命令会在列表中将每个选项作为一个编好号的选项显示,然后为选项显示一个特殊的用PS3环境变量定义的提示符
#!/bin/bash
# using select in the menu function diskspace {
clear
df -k
} function whoseon {
clear
who
} function menusage {
clear
cat /proc/meminfo
} PS3="Enter option: "
select option in "Display disk space" "Display logged on users" "Display memory usage" "Exit program"
do
case $option in
"Exit program")
break;;
"Display disk space")
diskspace;;
"Display logged on users")
whoseon;;
"Display memory usage")
memusage;;
*)
clear
echo "Sorry, wrong selection";;
esac
done
clear
运行后输出:
输入1
其它命令就演示了。