shell脚本中“=〜”运算符的含义

我遇到了代码的shell脚本

for line in $LIST_ARRAY;do if [[ $LIST_ARRAY =~ $line ]] then echo "true" .... ... . 

在这种情况下,有什么用途?

它是Equal Tilde运算符,允许在if语句中使用正则expression式。

另外一个二元运算符=〜可用,其优先级与==和!=相同。 当它被使用时,操作符右边的string被认为是一个扩展的正则expression式,并相应匹配(如在正则expression式(3)中)。 如果string匹配模式,则返回值为0,否则返回1。 如果正则expression式在语法上不正确,则条件expression式的返回值为2.如果启用了shell选项nocasematch,则不考虑字母字符的情况下执行匹配。 模式的任何部分可能被引用来强制它被匹配为一个string。

http://linux.die.net/man/1/bash