#!/bin/bash
function diskspace {
clear
df -k
}
function whoseon {
clear
who
}
function memusage {
clear
cat /proc/meminfo
}
function my_menu {
clear # 清空当前屏幕
echo
echo -e "\t\t\tSys Admin Menu\n" # -e 选项可以打印制表符、换行符等特殊字符
echo -e "\t1.Display disk space"
echo -e "\t2.Display logged on users"
echo -e "\t3.Display memory usage"
echo -e "\t0.Exit progrem\n\n"
echo -en "\t\tEnter option:" # -en 去掉末尾的换行符
read -n 1 option # 限制用户输入一个字符
}
while [ 1 ]
do
my_menu
case $option in # shell 脚本菜单的核心
0) break;;
1) diskspace ;;
2) whoseon ;;
3) memusage ;;
*) clear
echo "sorry, wrong selection $opt";;
esac
echo -en "\n\n\t\tHit any key to contune"
read -n1 line
done
clear
使用select命令
#!/bin/bash
function diskspace {
clear
df -k
}
function whoseon {
clear
who
}
function memusage {
clear
cat /proc/meminfo
}
PS3="Enter option:" # 该特殊环境变量定义的特殊提示符
# list 参数是由空格分隔的文本选项列表
# select 语句内容必须作为一行出现
# 存储在变量中的结果值是整个文本字符串而不是和菜单选项相关联的数字
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 $option";;
esac
done
clear
结果如下: