1.菜单
菜单案例:
完成Shell程序,显示菜单,根据输入某字母来选择菜单项,来完成对应菜单项功能,当A~D 菜单项的时候,执行该项功能后,再一次显示菜单,等待用户继续选择,直到用户输入E后退出程序。
请输入 A – E字母表示选择相应的菜单项
A.显示当前系统时间
B.显示当前工作目录
C.显示当前在线用户,并检索teacher用户是否在线,如果在线,显示该用户已登录信息;如果不在线,则显示该用户没有登录信息。
D.统计/dev目录下有多少个字符文件数和块文件数
E.退出
先编写.sh文件
#!/bin/bash
PS3="Please input a number>>>: "
select MENU in {A..E};do
#注意,这里的"$REPLY"变量就是上面select的列表中对应的值
case $REPLY in
A)
date
;;
B)
pwd
;;
C)
whoami
if id -u teacher &>/dev/null
then
echo "user teacher online"
else
echo "user teacher not login"
fi
;;
D)
echo "character: $(find /dev -type c | wc -l)"
echo "block: $(find /dev -type b | wc -l)"
;;
E)
echo "bye..."
break
;;
*)
echo "Choose false"
;;
esac
done
常见的菜单写法
#!/bin/bash
cat << EOF
---------------------------------
A)显示当前系统时间
B)显示当前工作目录
C)显示当前在线用户
D)统计/dev目录
E)quit
---------------------------------
EOF
#!/bin/bash
echo "---------------------------------"
echo " A)显示当前系统时间 "
echo " B)显示当前工作目录 "
echo " C)显示当前在线用户 "
echo " D)统计/dev目录 "
echo " E)quit "
echo "---------------------------------"