生成正确结果的正确表达式是什么?

生成正确结果的正确表达式是什么?

该脚本采用 CSV 文件并对其进行迭代以创建 MD 数组。然后它获取第三列并比较每个变量以确定它是否大于 64。如果我使用数字 64,我可以让它工作,但当使用名为 MAX_AGE 的声明常量时它不会工作。

下面是使用 -gt MAX_AGE 的脚本图像 带有声明常量 MAX_AGE 的脚本

以下是使用上述脚本的错误 在此输入图像描述

我知道答案可能很简单......

答案1

-gt用于比较数字,而不是字符串。因此,您需要替换:

[ ${ages[i]} -gt MAX_AGE ]

和:

[ ${ages[i]} -gt $MAX_AGE ]

原因是这MAX_AGE是一个字符串。您不能将其用作数字。

$MAX_AGE是变量的值MAX_AGE。您可以将其与数字进行比较,只要该值可以解释为整数即可。

为了在使用时获得最佳结果[...],变量应该用双引号引起来:

[ "${ages[i]}" -gt "$MAX_AGE" ]

相关内容