shell脚本中“=〜”运算符的含义[重复]
Posted
技术标签:
【中文标题】shell脚本中“=〜”运算符的含义[重复]【英文标题】:Meaning of "=~" operator in shell script [duplicate] 【发布时间】:2012-09-09 09:38:56 【问题描述】:我遇到了一个shell脚本,代码是
for line in $LIST_ARRAY;do
if [[ $LIST_ARRAY =~ $line ]]
then
echo "true"
....
...
.
这种情况下=~
有什么用?
【问题讨论】:
你使用 for 循环的方式,你应该把你的循环变量命名为word
而不是line
【参考方案1】:
这是允许在 if 语句中使用正则表达式的 Equal Tilde 运算符。
一个额外的二元运算符 =~ 可用,具有相同的 优先级为 == 和 !=。使用时,右边的字符串 该运算符被视为扩展正则表达式并匹配 相应地(如在 regex(3) 中)。如果字符串返回值为 0 匹配模式,否则为 1。如果正则表达式是 语法不正确,条件表达式的返回值为 2. 如果启用了 shell 选项 nocasematch,则不考虑字母字符的大小写进行匹配。的任何部分 可以引用模式以强制将其作为字符串匹配。
http://linux.die.net/man/1/bash
【讨论】:
以上是关于shell脚本中“=〜”运算符的含义[重复]的主要内容,如果未能解决你的问题,请参考以下文章
cron 运行的 shell 脚本中的 echo 语句 [重复]