我遇到了一个shell脚本,其中的代码是
for line in $LIST_ARRAY;do if [[ $LIST_ARRAY =~ $line ]] then echo "true" .... ... .
什么是使用=~在这种情况下?
=~
等于Tilde运算符允许在if语句中使用正则表达式。
可以使用附加的二进制运算符=〜,其优先级与==和!=相同。使用它时,运算符右边的字符串被视为扩展的正则表达式,并进行了相应的匹配(如regex(3)中一样)。如果字符串与模式匹配,则返回值为0,否则为1。如果正则表达式在语法上不正确,则条件表达式的返回值为2。如果启用了shell选项nocasematch,则执行匹配时将不考虑字母字符的大小写。可以引用模式的任何部分以强制将其匹配为字符串。
http://linux.die.net/man/1/bash