![在 bash 中滚动数字增量](https://linux22.com/image/130370/%E5%9C%A8%20bash%20%E4%B8%AD%E6%BB%9A%E5%8A%A8%E6%95%B0%E5%AD%97%E5%A2%9E%E9%87%8F.png)
我有一个代表一种版本的字符串。我想增加它,如果第二部分超过 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