OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

执行多项操作

在版本中 打坏 4.0年之前, 案件 只允许对成功匹配执行一个操作。 成功匹配后,命令将终止。 在这里,我们看到一个测试字符的脚本:



#!/斌/庆典


# case4-1: 测试一个字符


read -n 1 -p "输入一个字符 > " echo

案例 $REPLY 在

[[:upper:]]) echo "'$REPLY' 是大写。" ;;

[[:lower:]]) echo "'$REPLY' 是小写的。" ;;

[[:alpha:]]) echo "'$REPLY' 是按字母顺序排列的。" ;;

[[:digit:]]) echo "'$REPLY' 是一个数字。" ;; [[:graph:]]) echo "'$REPLY' 是一个可见字符。" ;;

[[:punct:]]) echo "'$REPLY' 是一个标点符号。" ;; [[:space:]]) echo "'$REPLY' 是一个空白字符。" ;; [[:xdigit:]]) echo "'$REPLY' 是一个十六进制数字。" ;;

ESAC

#!/斌/庆典


# case4-1: 测试一个字符


read -n 1 -p "输入一个字符 > " echo

案例 $REPLY 在

[[:upper:]]) echo "'$REPLY' 是大写。" ;;

[[:lower:]]) echo "'$REPLY' 是小写的。" ;;

[[:alpha:]]) echo "'$REPLY' 是按字母顺序排列的。" ;;

[[:digit:]]) echo "'$REPLY' 是一个数字。" ;; [[:graph:]]) echo "'$REPLY' 是一个可见字符。" ;;

[[:punct:]]) echo "'$REPLY' 是一个标点符号。" ;; [[:space:]]) echo "'$REPLY' 是一个空白字符。" ;; [[:xdigit:]]) echo "'$REPLY' 是一个十六进制数字。" ;;

ESAC


运行这个脚本会产生这个:



[我@linuxbox ~]$ 案例4-1

输入一个字符 > a

'a' 是小写。

[我@linuxbox ~]$ 案例4-1

输入一个字符 > a

'a' 是小写。


该脚本在大多数情况下都有效,但如果一个字符与多个 POSIX 字符类匹配,则该脚本会失败。 例如,字符“a”既是小写字母又是字母,也是十六进制数字。 在 打坏 在 4.0 版之前没有办法 案件 匹配多个测试。 现代版本 打坏, 将“;;&”符号添加到


终止每个动作,所以现在我们可以这样做:



#!/斌/庆典


# case4-2: 测试一个字符


read -n 1 -p "输入一个字符 > " echo

案例 $REPLY 在

[[:upper:]]) echo "'$REPLY' 是大写。" ;;&

[[:lower:]]) echo "'$REPLY' 是小写的。" ;;&

[[:alpha:]]) echo "'$REPLY' 是按字母顺序排列的。" ;;&

[[:digit:]]) echo "'$REPLY' 是一个数字。" ;;& [[:graph:]]) echo "'$REPLY' 是一个可见字符。" ;;&

[[:punct:]]) echo "'$REPLY' 是一个标点符号。" ;;& [[:space:]]) echo "'$REPLY' 是一个空白字符。" ;;& [[:xdigit:]]) echo "'$REPLY' 是一个十六进制数字。" ;;&

ESAC

#!/斌/庆典


# case4-2: 测试一个字符


read -n 1 -p "输入一个字符 > " echo

案例 $REPLY 在

[[:upper:]]) echo "'$REPLY' 是大写。" ;;&

[[:lower:]]) echo "'$REPLY' 是小写的。" ;;&

[[:alpha:]]) echo "'$REPLY' 是按字母顺序排列的。" ;;&

[[:digit:]]) echo "'$REPLY' 是一个数字。" ;;& [[:graph:]]) echo "'$REPLY' 是一个可见字符。" ;;&

[[:punct:]]) echo "'$REPLY' 是一个标点符号。" ;;& [[:space:]]) echo "'$REPLY' 是一个空白字符。" ;;& [[:xdigit:]]) echo "'$REPLY' 是一个十六进制数字。" ;;&

ESAC


当我们运行这个脚本时,我们得到:



[我@linuxbox ~]$ 案例4-2

输入一个字符 > a 'a' 是小写。 'a' 是字母。

'a' 是一个可见的字符。 'a' 是一个十六进制数字。

[我@linuxbox ~]$ 案例4-2

输入一个字符 > a 'a' 是小写。 'a' 是字母。

'a' 是一个可见的字符。 'a' 是一个十六进制数字。


添加 ";;&" 语法允许 case 继续进行下一个测试,而不是简单地终止。


OnWorks 的顶级操作系统云计算: