BASH从字符串获取主要/次要版本
收藏

我是一个全新的bash脚本,我正在尝试创建自己的脚本,从源代码下载/构建一个包。不过,我想添加一些互动到我的脚本,使它为将来的新版本做好准备。
我的脚本要求用户提供他们想要安装的版本,并生成wget命令和下载链接。见以下摘录:

# Ask user for required version
read packversion

# Download version from internet (depending on version provided above)
wget https://example.com/download/1.10/src/$packversion.tar.gz -O package.tar.gz

这可以正常工作,但是如果您查看它包含1.10的url,我只想从提供的字符串中提取主要/次要版本,并预先填充它。
我能用什么功能来实现这个目标吗?
提前谢谢。


最佳答案:

在bash中,我做到了:

» export packversion=1.10.2
» export shortversion=${packversion%.*}
» printenv shortversion
1.10

摘自Arnold Robbins的Bash Pocket参考(O'Reilly,2016,第2版):
${var%模式}删除文本后使用var的值
从左边匹配的图案。删除
最短的匹配件。
这里,{.}是要删除的模式,它对应于修补程序版本号。

公众号