我们设置以下变量
status=ok
echo $status
ok
现在我们要验证正则表达式变量是否匹配
如下
[[ $status =~ [OK] ]] && echo "is the same"
[[ $status =~ OK ]] && echo "is the same"
[[ $status =~ "OK" ]] && echo "is the same"
但以上任何一项都不打印“是一样的”
我的正则表达式有什么问题?
[OK]
将匹配方括号内的任何字符,方括号不会告诉它不区分大小写。
您可以这样做:
[[ "$status" =~ ^[Oo][Kk]$ ]]
或者我可能会执行以下操作:
[[ "${status,,}" == ok ]]
为了,,
进行比较,参数扩展的运算符会将整个变量转换为小写字母。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句