我正在尝试为OpenVPN客户端设备创建ping监视。
我想从IP列表ping所有设备。
.txt
文件看起来像这样:
client1,10.8.0.2
client2,10.8.0.3
client3,10.8.0.3
.. and so on
我希望bash脚本创建一个.txt文件,其中包含以下内容:
client1: online
client2: offline
client3: online
and so on.
这怎么可能?
谢谢!
答案 0 :(得分:0)
出于我的需要,我使用以下脚本:
#! /bin/bash
while read -r client address
do
ping -c 1 $address
ret=$?
if [[ 0 -eq $ret ]]
then
echo "$client: online"
else
echo "$client: off line"
fi
done < clients
使用:
IFS=,
将逗号设置为字段分隔符
while read -r foo bar
读取文件并将字段存储在client
和adrress
变量中
pinc -c 1 address
仅对address
进行一次
ret=$?
获取ping
命令的返回值(一切正常时返回0)
如果[[0 -eq $ ret]] ....
测试ping
是否成功
echo "$client: online"
给出ping
结果,在线或离线打印
done < clients
惯用语构造,以逐行读取文件