如何使用bash中的regexp验证版本号是否有效?

索林

我正在尝试验证版本号是否与版本模式匹配,但是由于某些奇怪的原因,检查似乎失败了。

#!/bin/bash
VERSION="1.2.3"
if [[ $VERSION =~ ^(\d+\.)?(\d+\.)?(\*|\d+)$ ]]; then
 echo "INFO:<-->Version $VERSION"
else
 echo "ERROR:<->Unable to validate package version: '$VERSION'"
 exit 1
fi
维克多·史翠比维

您应该在Bash中使用[0-9][[:digit:]]而不是\d(因为Bash不支持该速记字符类),并且我建议在限制量词的帮助下缩短模式并将其放入变量中:

#!/bin/bash
VERSION="1.2.3"
rx='^([0-9]+\.){0,2}(\*|[0-9]+)$'
if [[ $VERSION =~ $rx ]]; then
 echo "INFO:<-->Version $VERSION"
else
 echo "ERROR:<->Unable to validate package version: '$VERSION'"
 exit 1
fi

IDEONE演示

这些([0-9]+\.){0,2}部分匹配1个或多个数字,后跟文字点0、1或2次。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从文件中有效读取主要版本号

来自分类Dev

如何找到Julia的版本号?是否有ver()命令?

来自分类Dev

版本号验证

来自分类Dev

如何在OS X中获取Bash版本号

来自分类Dev

如何使用bash从xml属性中提取版本号

来自分类Dev

OpenCv的版本号是否有常量?

来自分类Dev

在bash中增加内部版本号

来自分类Dev

如何从输出中获取版本号

来自分类Dev

如何使用sed提取版本号?

来自分类Dev

如何使用sed获取版本号

来自分类Dev

如何检查版本号是否是两个版本号之间的版本

来自分类Dev

如何在Postgresql中验证JSON是否有效?

来自分类Dev

如何使用WiX Pyro将已更改但具有相同版本号的文件包含到MSP中?

来自分类Dev

如何从bash中的pom文件中剪切版本号

来自分类Dev

如何仅获取 bash ssh 版本号?

来自分类Dev

使用bash替换版本号中的最后一个数字

来自分类Dev

使用clickOnce时是否可以重置我的版本号

来自分类Dev

使用Bash脚本从字符串扩展版本号

来自分类Dev

仅使用bash获取Ubuntu版本号

来自分类Dev

如何对具有软件版本号的表中的列进行排序?

来自分类Dev

如何对具有软件版本号的表中的列进行排序?

来自分类Dev

如何从结帐中获取SVN版本号以在DSL中使用

来自分类Dev

使用Grunt构建时,如何在index.html中插入版本号?

来自分类Dev

使用devpi打包python模块时如何摆脱版本号中的“ dev”后缀

来自分类Dev

如何在 CMake 中安装时使用版本号重命名/修改目标文件?

来自分类Dev

如何在POM中获取Maven版本号

来自分类Dev

如何在Java中获取Tomcat版本号

来自分类Dev

如何在Teamcity中设置内部版本号?

来自分类Dev

如何让TeamCity更新指定文件中的内部版本号?

Related 相关文章

热门标签

归档