如何在bash脚本中使用正则expression式?
我想用一个正则expression式来检查variables是否有效。 阅读bash手册我明白我可以使用operator =〜
看下面的例子,我希望看到“不好”,但我看到“确定”。 我究竟做错了什么?
i="test" if [ $i=~"200[78]" ] then echo "OK" else echo "not OK" fi
它在3.1和3.2之间被改变了:
这是自bash-3.1发布以来添加到bash-3.2中的新特性的简要描述。
现在引用[[command's =〜运算符]的string参数强制string匹配,与其他模式匹配运算符一样。
因此,请使用它没有引号:
i="test" if [[ $i =~ 200[78] ]] ; then echo "OK" else echo "not OK" fi
你需要运算符周围的空格=〜
I = “testing” 如果[[$ i =〜“200 [78]”]]; 然后 回声“确定” 其他 回声“不好” 科幻