首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在bash脚本中使用正则表达式?

如何在bash脚本中使用正则表达式?
EN

Stack Overflow用户
提问于 2008-11-20 10:21:23
回答 1查看 111.4K关注 0票数 83

我想使用正则表达式检查一个变量是否有一个有效的年份。读取我理解的bash manual,我可以使用操作符=~

看看下面的例子,我期望看到"not OK“,但我看到的是"OK”。我做错了什么?

i="test"
if [ $i=~"200[78]" ]
then
  echo "OK"
else
  echo "not OK"
fi
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-11-20 10:45:17

它在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
票数 116
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/304864

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档