我有一个代表一种版本的字符串。我想增加它,如果第二部分超过 9 则转到下一个更高的数字以下似乎可行。我想知道是否有更简洁的方法来做到这一点
FIRST=$(echo -n "$VERSION"| cut -d "." -f 1)
SECOND=$(echo -n "$VERSION"|cut -d "." -f 2)
SECOND=$((SECOND + 1))
if [[ $SECOND -ge 10 ]]; then
SECOND="0"
fi
FIRST=$(($FIRST + 1))
NEW_NUMBER=$FIRST.$SECOND
例子:
Input: 102.8 Output: 102.9
Input: 102.9 Output: 103.0
答案1
printf '%s + 0.1\n' "$VERSION" | bc
这会给 中的浮点数加 0.1 $VERSION
。
测试:
$ VERSION=10.2
$ printf '%s + 0.1\n' "$VERSION" | bc
10.3
$ VERSION=10.9
$ printf '%s + 0.1\n' "$VERSION" | bc
11.0