如何在bash中对未知变量类型进行减号操作



我有一个semver版本作为字符串,我想采用补丁版本并对其进行数学计算。但我就是想不明白。

这是我尝试过的:

#!/bin/bash
version="appVersion=1.3.15"
version=${version##*=} # "1.3.15"
semver=( ${version//./ } ) # ["1", "3", "15"]
patch="${semver[2]}" # "15"
# So far so good.
echo $patch # 15
# This fails. I have no clue how to get the patch variable to be of the correct type
previous=${patch - 1}
echo $previous

对于bash中的算术运算,需要使用双括号。请检查这个算术扩张段bash手册

所以你的代码应该是:
previous=$((patch-1))

或者正如Benjamin W. well在评论中建议的那样:

((previous = patch - 1))

输出:

root@:~# bash test.sh
15
14

相关内容

  • 没有找到相关文章

最新更新