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
