printf '%s + 0.1\n' "$VERSION" | bc
Isso adiciona 0,1 ao número do ponto flutuante em $VERSION
.
Teste:
$ VERSION=10.2
$ printf '%s + 0.1\n' "$VERSION" | bc
10.3
$ VERSION=10.9
$ printf '%s + 0.1\n' "$VERSION" | bc
11.0
Eu tenho uma string que representa um tipo de versão. Eu gostaria de incrementá-lo e se a segunda parte exceder 9 para ir para o próximo número mais alto O seguinte parece funcionar. Eu queria saber se existe uma maneira mais sucinta de fazer isso
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
Exemplos:
Input: 102.8 Output: 102.9
Input: 102.9 Output: 103.0
Tags bash shell shell-script