Variáveis do tipo inteiro no Bash?

3

Existem duas maneiras de definir e usar variáveis do tipo inteiro no Bash

  • declare -i uma nova variável
  • use uma variável em uma expressão aritmética, sem declará-la.

Minhas perguntas:

Quais são as diferenças entre as variáveis criadas pelas duas maneiras? Especialmente diferenças em seus propósitos, e quando usar qual?

    
por Tim 23.04.2016 / 23:40

1 resposta

7

O fato de a variável ser digitada fornece algumas propriedades que uma variável genérica não terá:

f() {
  v=0xff
  echo $v
  v=hello
  echo $v
  v=123a
  echo $v
}

f
declare -i v
f

imprimirá

0xff
hello
123a

255
0
bash: 123a: value too great for base (error token is "123a")

Se você tiver certeza de que sua variável conterá apenas valores inteiros, digitá-la dará a você alguma flexibilidade e verificação de erros.

    
por 24.04.2016 / 00:29