Como modificar (não adicionar) uma variável numérica?

1

Suponha que a=$((1))

Como posso alterar o valor de a de 1 para 01 ? Eu só quero inserir o 0 antes do valor atual de a e reescrevê-lo.

a=$((01)) não seria uma solução nesse caso porque a pode ser qualquer número de um dígito, não necessariamente 1 . Isso seria dificultar a ligação do código. Eu quero que a variável a seja atualizada automaticamente.

    
por Galaxy 06.05.2016 / 00:20

2 respostas

1

É tão simples quanto a=0"$a" , que precede o conteúdo de $a com um '0'.

    
por 06.05.2016 / 00:23
4

Você pode tratar a como uma string, por isso, o prefending "0" funcionará:

a="0$a"

Você também pode formatar a como uma string com um número definido de dígitos. Por exemplo, com a formatação de dois dígitos, os números 0 - 9 teriam um zero inicial adicionado, mas os números 10 - 99 não seriam:

a=$(printf "%02d" $a)

Esteja ciente de que ao adicionar números que têm zeros à esquerda, você usará aritmética octal em vez de decimal. Por exemplo, isso provavelmente não fará o que você esperava:

a=08
echo $(( a + 1 ))
    
por 06.05.2016 / 00:53