答え1
-gt
文字列ではなく数値の比較に使用されます。したがって、次の部分を置き換える必要があります。
[ ${ages[i]} -gt MAX_AGE ]
と:
[ ${ages[i]} -gt $MAX_AGE ]
その理由は、 がMAX_AGE
文字列であるためです。数値として使用することはできません。
$MAX_AGE
は変数の値ですMAX_AGE
。その値が整数として解釈できる限り、数値と比較することができます。
を使用する場合、最良の結果を得るには[...]
、変数を二重引用符で囲む必要があります。
[ "${ages[i]}" -gt "$MAX_AGE" ]