用于高级字符串处理功能的双方括号

用于高级字符串处理功能的双方括号

Content #

双方括号命令提供了针对字符串比较的高级特性。双方括号的格式如下:

[ [ expressio ] ]

expression可以使用test命令中的标准字符串比较。除此之外,它还提供了test 命令所不具备的另一个特性——模式匹配。

在进行模式匹配时,可以定义通配符或正则表达式来匹配字符串:

$ cat DoubleBrackets.sh
#!/bin/bash
# Using double brackets for pattern matching
if [[ $BASH_VERSION == 5.* ]]
then
echo "You are using the Bash Shell version 5 series."
fi
$
$ ./DoubleBrackets.sh
You are using the Bash Shell version 5 series.
$

上述脚本中使用了双等号(==)。双等号会将右侧的字符串(5.*)视为一个模式并应用模式匹配规则。双方括号命令会对$BASH_VERSION环境变量进行匹配,看是否以字符串5.起始。如果是,则测试通过,shell会执行then部分的命令。

From #

Linux命令行与shell脚本编程大全