我在shell脚本的for循环中有一个简单的if语句
#!/bin/bash params=(2 3) for i in "${params[@]}" do echo "$i" cpus=1 if [[ $i>20 ]]; then echo "wrong! : $i" cpus=20 else cpus=$i fi echo "param-in: $i" #do something done
当我执行代码时,当$i>20时它会将TRUE评估为i=3。为什么会这样?
$i>20
TRUE
i=3
>执行字符串比较;您想要整数比较。请改用-gt。
>
-gt