如何在bash4.2中使用二进制运算符

如何在bash4.2中使用二进制运算符,bash,Bash,我尝试使用二进制运算符来使用regexpression power [[ wwwebhost@all =~ "^.+@.+$" ]] 在Bash4.2中不工作,在Bash3.2中工作 但这在Bash4.2中有效(去掉双引号): 有人能解释一下吗?在bash 4中(实际上我以为这是在3.2中添加的,但可能不是),在=~或=操作符的右侧加上引号,在[[..]]中告诉bash进行简单的字符串比较,而不是正则表达式匹配。您可能认为显式的“嘿,做一个正则表达式匹配!”操作符=~不会出现这种情况,但

我尝试使用二进制运算符来使用regexpression power

   [[ wwwebhost@all =~ "^.+@.+$" ]]
在Bash4.2中不工作,在Bash3.2中工作

但这在Bash4.2中有效(去掉双引号):

有人能解释一下吗?

在bash 4中(实际上我以为这是在3.2中添加的,但可能不是),在
=~
=
操作符的右侧加上引号,在
[[
..
]]
中告诉
bash
进行简单的字符串比较,而不是正则表达式匹配。您可能认为显式的“嘿,做一个正则表达式匹配!”操作符
=~
不会出现这种情况,但它可能是
   [[ wwwebhost@all =~ ^.+@.+$ ]]