基本上,我需要创建一个传递参数的函数,并且需要更新数字,例如,该参数为
版本_2,并在函数之后将其更改为版本_3
只是增加一个
在Java中,我只会创建一个新字符串,并捕获最后一个字符更新,然后追加,但不确定如何在bash中执行。
updateVersion() {
version=$1
}
前缀可以是任何东西,例如,可以是dog12或dog_12,并且始终有一个要更新的数字。
更新后,分别为dog13或dog_13。
最佳答案
updateVersion()
{
[[ $1 =~ ([^0-9]*)([0-9]+) ]] || { echo 'invalid input'; exit; }
echo "${BASH_REMATCH[1]}$(( ${BASH_REMATCH[2]} + 1 ))"
}
# Usage
updateVersion version_11 # output: version_12
updateVersion version11 # output: version12
updateVersion something_else123 # output: something_else124
updateVersion "with spaces 99" # output: with spaces 100
# Putting it in a variable
v2="$(updateVersion version2)"
echo "$v2" # output: version3