前言
在创建文本菜单时候,如果不用select或者dialog命令创建文本菜单,可能会花一半的时间在建立菜单布局和获取用户输入上。
select命令
select命令只需要一条命令就可以创建菜单,然后获取输入的答案并自动处理。select命令的格式如下:
select variable in list
do
commands
done
list参数是由空格分隔的文本选项列表,这些列表构成了整个菜单。select命令会将每个列表项显示成一个带编号的选项,然后为选项显示一个PS3环境变量定义的特殊提示符。
下面用一个例子介绍select的使用:
#!/bin/bash
#在菜单中使用select命令
function diskspace
{
clear
df -k
}
function whoseon
{
clear
who
}
function memusage
{
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 "Sory, wrong selection" ;;
esac
done
clear
输出结果:
这里需要注意一下,select语句中所有的内容必须作为一行出现。这可以从行接续字符中看出。
总结
在使用select命令时,记住,存储在变量中的结果值是整个文本字符串而不是跟菜单选项相关联的数字。文本字符串值才是你要case语句中的进行比较的内容。
参考:Linux命令行与shell脚本编程大全