1、命令简介
case:为了有条件地执行命令,case将有选择地执行与第一个匹配word的模式对应的命令列表。
2、命令用法
case word in [ [(] pattern [| pattern]...) command-list ;;]... esac
3、命令描述
'|'用于分隔多个模式,')'操作符结束一个模式列表。模式列表和相关的命令列表称为子句。每个子句必须以“;;”结尾。在尝试匹配之前,该词经历了波浪符号展开、参数展开、命令替换、算术展开和引号删除。每个模式都经历了波浪线展开、参数展开、命令替换和算术展开。case子句的数量可以是任意的,每个子句都以“;;”结尾。第一个匹配的模式确定要执行的命令列表。
4、使用示例
1)使用case判断参数
#!/bin/bash
option=$1
case ${option} in
-f) echo "param is -f"
;;
-d) echo "param is -d"
;;
*)
echo "$0:usage: [-f ] | [ -d ]"
exit 1 #退出码
;;
esac
将上面代码保存为demo.sh,执行结果如下:
$./demo.sh demo.sh: usage: [ -f filename ] | [ -d directory ] $ ./demo.sh -f param is -f $ ./demo.sh -d param is -d $