它在3.1和3.2之间变化:
这是自bash-3.1发布以来添加到bash-3.2的新功能的简洁描述.
引用[[command's =〜运算符]的字符串参数现在强制字符串匹配,就像其他模式匹配运算符一样.
因此,在没有引号的情况下使用它:
i="test" if [[ $i =~ 200[78] ]] ; then echo "OK" else echo "not OK" fi
你需要在运算符周围的空格=〜
i="test" if [[ $i =~ "200[78]" ]]; then echo "OK" else echo "not OK" fi