Este script pega um arquivo CSV e itera sobre ele para criar um array MD. Em seguida, ele pega a terceira coluna e compara cada variável para determinar se é maior que 64. Posso fazê-la funcionar se usar o número 64, mas não funcionará ao usar uma constante declarada chamada MAX_AGE.
Abaixo está uma imagem do script usando -gt MAX_AGE
Abaixo está o erro ao usar o script acima
Eu sei que a resposta provavelmente é algo simples.......
Responder1
-gt
é usado para comparar números, não strings. Assim, você precisa substituir:
[ ${ages[i]} -gt MAX_AGE ]
com:
[ ${ages[i]} -gt $MAX_AGE ]
A razão para isso é que MAX_AGE
é uma string. Você não pode usá-lo como um número.
$MAX_AGE
é o valor da variável MAX_AGE
. Você pode comparar isso a um número, desde que esse valor possa ser interpretado como um número inteiro.
Para obter melhores resultados ao usar [...]
, as variáveis devem ser colocadas entre aspas duplas:
[ "${ages[i]}" -gt "$MAX_AGE" ]