在Bash中使用if语句比较两个整数时出现问题
我有两个数组。一个包含城市名称,另一个包含带小数的数字。我想声明我选择了最低的数字,并根据该数字的位置选择城市。到目前为止,我得到的结果如下:在Bash中使用if语句比较两个整数时出现问题,bash,Bash,我有两个数组。一个包含城市名称,另一个包含带小数的数字。我想声明我选择了最低的数字,并根据该数字的位置选择城市。到目前为止,我得到的结果如下: min=1000 for j in {1..9}; do for g in "${array2[$j]}"; do if [ $g -lt $min ]; then min = $g city2
min=1000
for j in {1..9};
do
for g in "${array2[$j]}";
do
if [ $g -lt $min ]; then
min = $g
city2="${array[$j]}"
fi
done;
done;
echo $city2
我得到一个错误,说需要一个整数。我怎样才能解决这个问题?我知道这与我的数字有小数有关。一般来说,这意味着从数组中提取的值不是整数。您没有向我们展示
array2
的定义,因此这里没有;代码不够完整,其他人无法运行并查看问题。此外,min=$g
也不是赋值——它运行一个带有参数=
和其他参数(如果有)的命令min
,具体取决于$g
。如果要更改$min
,请使其min=$g
不带空格。