在添加该单词之前,我想在列表中存在一个单词时匹配(以避免重复)。我正在使用bash 4.2.24,我正在尝试如下:
[[ $foo =~ \bmyword\b ]]
也
[[ $foo =~ \<myword\> ]]
但是,似乎也不行。它们在bash文档示例中提到:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_04_01.html。
我假设我做错了,但我不知道什么。任何指导赞赏…
是的,所有列出的正则表达式扩展都被支持,但是在使用它之前,您可以更好地将模式放在一个变量中。尝试这个:
re=\\bmyword\\b [[ $foo =~ $re ]]
挖掘周围我发现了this question,他的回答似乎解释了为什么当正则表达式内嵌在你的例子中行为改变。您可能需要重写测试,以便为正则表达式使用临时变量,或使用3.1兼容模式:
shopt -s compat31