case 变量 in
值1)
语句1
语句2
……
;;
值2)
语句1
语句2
……
;;
*)
语句1
语句2
……
;;
esac
与if……elif……esle……fi的结构相似,但更具有层次感。
example:
1、写一个脚本,以在输出设备上输出菜单:
[m|M] show memory usage.
[d|D] show disk usage.
[q|Q] quit.
当用户输入相应的字符后,就可以显示出相应的内存、磁盘的使用信息。
#!/bin/bash
#
cat << EOF
[m|M] show memory usage.
[d|D] show disk usage.
[q|Q] quit.
EOF
read -t 8 Input
case $Input in
m|M)
free -m
;;
d|D)
df -l
;;
q|Q)
echo "Exit..."
;;
*)
echo "Invalid input."
exit 9
;;
esac