[Shell编程]写了一段shell代码,运行发现代码块(标红的)执行的预期结果出不来,谁能帮我看看?

Posted cnskylee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Shell编程]写了一段shell代码,运行发现代码块(标红的)执行的预期结果出不来,谁能帮我看看?相关的知识,希望对你有一定的参考价值。

【原代码】

Mem_Usage=91.00

CPU_Usage=85.00

if [[ `expr $Mem_Usage > 90.00` -eq 1 ]];then
    echo "Memory highly used! "
elif [[ `expr $CPU_Usage > 80.00` -eq 1 ]];then
    echo "CPU highly used! "
elif [[ `expr $Mem_Usage > 90.00` -eq 1 ]] && [[ `expr $CPU_Usage > 80.00` -eq 1 ]];then 
    echo "Memory && CPU highly used!"
else
    echo "Memory && CPU used normal!"
fi

调试运行结果:错误

# sh -x test.sh
+ Mem_Usage=91.00
+ CPU_Usage=95.00
++ expr 91.00 ‘>‘ 90.00
+ [[ 1 -eq 1 ]]
+ echo ‘Memory highly used! ‘
Memory highly used!

------------------------------------------------------------------我是可爱的分割线-------------------------------------------------------------

【修改后的代码】

Mem_Usage=91.00
CPU_Usage=85.00
if [ `expr $Mem_Usage > 90.00` -eq 1 ]  &&  [[ `expr $CPU_Usage > 80.00` -eq 1 ];then
    echo "Memory && CPU highly used!"
elif [ `expr $CPU_Usage > 80.00` -eq 1 ];then
    echo "CPU highly used! "
elif [ `expr $Mem_Usage > 90.00` -eq 1 ];then
    echo "Memory highly used! "
else
    echo "Memory && CPU used normal!"
fi

调试结果输出:正确

# sh -x test.sh
+ Mem_Usage=91.00
+ CPU_Usage=95.00
++ expr 91.00 ‘>‘ 90.00
+ [[ 1 -eq 1 ]]
++ expr 95.00 ‘>‘ 80.00
+ [[ 1 -eq 1 ]]
+ echo ‘Memory && CPU highly used!‘
Memory && CPU highly used!

 

以上是关于[Shell编程]写了一段shell代码,运行发现代码块(标红的)执行的预期结果出不来,谁能帮我看看?的主要内容,如果未能解决你的问题,请参考以下文章

linux 中实现延迟45分钟后执行命令,写了一段c程序,实现延迟,接下来,该如何执行命令呢,也就是shell

一段发工资的shell代码

shell编程报错:“syntax error near unexpected token `”

shell编程进阶

一段自动编译前端项目的Shell代码,如果没有上集成工具的话,略有小用。

Shell编程