shell中case 用法
在shell中,`case`是一种条件语句用法,用于根据不同的条件执行不同的操作。`case`语句通常与`esac`(反写的`case`)一起使用。基本语法如下:
```shell
case 值 in
    模式1)
        命令1
        ;;
    模式2)
        命令2
        ;;
    模式3)
        命令3
        ;;
shelly佳    *)
        默认命令
        ;;
esac
```
在上述语法中,`值`是需要匹配的比较值,`模式`用于匹配`值`,`命令`是对应匹配成功的操作。`;;`表示结束当前模式的匹配,`*)`表示匹配失败时执行的默认命令。
下面是一个简单的示例,根据用户输入的数字,输出对应的数字名称:
```shell
#!/bin/bash
echo "请输入一个数字(1-5):"
read num
case $num in
    1)
        echo "这是数字一"
        ;;
    2)
        echo "这是数字二"
        ;;
    3)
        echo "这是数字三"
        ;;
    4)
        echo "这是数字四"
        ;;
    5)
        echo "这是数字五"
        ;;
    *)
        echo "请输入正确的数字(1-5)"
        ;;
esac
```
在上述示例中,根据用户输入的数字,`case`语句匹配相应的模式,并输出对应的数字名称。如果用户输入的数字不在1-5范围内,则执行默认命令。
注意:在每个模式的最后必须加上`;;`,否则后续的模式也会被执行。同时,在`case`语句结束后,必须以`esac`反写的形式作为结束。