Este script toma un archivo CSV y lo itera para crear una matriz MD. Luego toma la tercera columna y compara cada variable para determinar si es mayor que 64. Puedo hacer que funcione si uso el número 64, pero no funcionará cuando use una constante declarada llamada MAX_AGE.
A continuación se muestra una imagen del script usando -gt MAX_AGE
A continuación se muestra el error al utilizar el script anterior.
Sé que la respuesta probablemente sea algo simple...
Respuesta1
-gt
se utiliza para comparar números, no cadenas. Por lo tanto, es necesario reemplazar:
[ ${ages[i]} -gt MAX_AGE ]
con:
[ ${ages[i]} -gt $MAX_AGE ]
La razón de esto es que MAX_AGE
es una cadena. No puedes usarlo como un número.
$MAX_AGE
es el valor de la variable MAX_AGE
. Puede compararlo con un número siempre que ese valor pueda interpretarse como un número entero.
Para obtener mejores resultados al utilizar [...]
, las variables deben estar entre comillas dobles:
[ "${ages[i]}" -gt "$MAX_AGE" ]