我有一个 IP 地址:192.168.0.205 我可以在脚本中 ping 它:
for i in 192.168.0.205 ....
do
ping -c 1 $i
done
但现在我希望脚本显示: 192.168.0.205 向上或向下
是否还有一种方法可以显示百分比,例如:75% UP?
最佳答案
你可能想要的是:
x=0;
a=1
b=5
for((i=$a;i<=$b;i++))
do
y=`ping -n 1 192.168.1.$i | grep unreachable | wc -l`
x=$(($x + $y))
done;
echo "$x $b $a" | awk '{printf "%.2f %% DOWN\n",($1/($2-$3+1))*100}';
x:包含DOWN IP的个数
a: 第一个IP地址的最后一个八位位组
b: 最后一个IP地址的最后一个八位位组
y:如果 IP 为 UP 则为 0,否则为 1
希望对您有所帮助!
PS:将 -n 更改为 -c 或在您的 shell 中起作用的任何选项!
关于linux - 使用 % 或 UP/DOWN 在 linux 脚本中显示事件的 ip 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30558405/