#!/bin/bash
for input in $(cat status_cpu.txt)
do
cpu=`ssh -i root@$input 'top -b -n1' | grep "load" | awk '{print $12}'`
max=2.02
if [ $(echo "$cpu < $max" | bc -l ) ]; then
echo "yes"
else
echo "no"
fi
done
cat status_cpu.txt
10.0.0.1
10.0.0.2
我想在shell脚本中比较小数点。
3条答案
按热度按时间r9f1avp51#
您不需要在同一行中使用
awk
和grep
,awk
可以完成所有操作。不要使用旧的和过时的回抽搐,使用括号。
因此,这将从:
收件人:
还有这个
可以写成
或
pepwfjgg2#
您可以使用
bc -l
进行比较,如下所示:所以
bc -l
表达式会输出1表示成功,输出0表示失败。dauxcl2d3#
下面是如何将其放入Posix shell函数中,然后可以在shell测试中轻松使用(假设bc为错误代码保留返回代码):
下面是该函数的一个示例用法: