如何解决Shell脚本:如果语句评估错误
我在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
。为什么会这样?
解决方法
>
执行字符串比较;您想要整数比较。请改用-gt
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。