linux - 比较两个数字,但如果条件不能正常工作

标签 linux bash floating-point compare

我是 bash 脚本的新手。我正在编写一个脚本来计算CPU使用率。所以我正在做的是计算 CPU 使用率并与预定义值(即阈值)进行比较。但我的if条件总是出错。请帮我改正我的脚本。

#!/bin/bash
#checking the cpu usage
cpu_usage=$( mpstat | awk '$12 ~ /[0-9.]+/ { print 100 - $12 }')
cpu_threshold=1.00
if [ $cpu_usage > $cpu_threshold ] ; then
echo "The CPU utilization is above threshold : $cpu_usage %" 
else
echo "The CPU utilization is below threshold : $cpu_usage %" 
fi

请检查 bash 中的上述脚本,因为我尝试了很多方法,但总是 if 条件给出错误的输出。

最佳答案

@Ankit:尝试:将 if [ $cpu_usage > $cpu_threshold ] 更改为 if [[ $cpu_usage > $cpu_threshold ]]

关于linux - 比较两个数字,但如果条件不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42501356/

相关文章:

bash - 使用$(func)调用有问题的函数时,Bash脚本不会在第一次 “exit”调用时退出

c++ - 为什么 float 取 0.699999 而不是 0.7

floating-point - 为什么我看到一个 double 变量初始化为某个值,如 21.4 为 21.399999618530273?

floating-point - 逆向工程未知浮点格式

linux - 不能打开超过 28234 个套接字?

python - 如何使用python编写linux shell命令?

windows - 用于在 Linux 和 Windows 中工作的命令行参数

linux - bash echo 包含转义字符的环境变量

linux - 在 Unix 中的变量中捕获命令行的输出

php - 为什么我在 php exec 中的 bash 中调用 "sh"得到 "echo $0"?