Alguém pode me explicar por que um número com 0 à esquerda dá esse comportamento engraçado?
#!/bin/bash
NUM=016
SUM=$((NUM + 1))
echo "$NUM + 1 = $SUM"
Irá imprimir:
016 + 1 = 15
@ Squeezy Obrigado, mas essa parte já estava funcionando. O problema real não era obter um nome de arquivo com um 0. inicial. Ele estava descobrindo qual era o número de arquivo com o número mais alto e, em seguida, criando a próxima sequência, usando printf "prefix-% 03d.tif" $ SUM.
—
DeltaLima 08/01
Observe que você mesmo poderia ter descoberto isso fazendo #
—
Mehrdad
echo $((016))
Para sua informação, isso é verdade em muitas linguagens de programação: C, C ++, Javascript.
—
Paul Draper
printf "%03d\n" 10
é completamente utilizável no bash para obter um zero inicial para nomes de arquivos e outros.