case 语句是 shell 中流控制的第二种方式,语法如下:
case $变量 in
pattern1)
list1
;; ---------------------结尾。
pattern2)
list2
;;
... ...
patternN)
listN
;;
*) --------------------> 如果前面命令没有执行成功那么执行下面这个
list*
;;
esac
命令;;表明流应该跳转到case语句的最后,类似C语言中的break指令。
第一行: 声明case关键字调用case语法, 紧跟的“变量”一般为用户的输入值, in代表从下方的各个模式进行匹配
第2-4行: 匹配到“pattern1”后进行命令的输出或执行, pattern1: 一般为字符或数值
第11-12行: 当用户输入的字符不存在匹配模式时, 直接执行或打印*)下的命令或语句
实例1:
[root@linux-server script]# vim foo.sh
#!/usr/bin/env bash
case $1 in
foo)
echo "bar"
;;
bar)
echo "foo"
;;
*)
echo "Usage:$0 '{foo|bar}'"
;;
esac
[root@linux-server script]# chmod +x foo.sh
[root@linux-server script]# ./foo.sh bar
练习:建立脚本case.sh,当执行时,要求我们在键盘输入适当的值(one|two|three),当输入正确时并打印,当输入错误 时会提示你,应该输入正确的值。
标签:case,语句,shell,bar,server,sh,foo From: https://blog.51cto.com/u_16317072/8317289