我正在尝试创建一个bash脚本,该脚本将grep 'mtr‘命令的输出,并查找丢包率是否超过0.0%。换句话说,任何超过1.*%的数据都会触发警报。
我一直在玩下面的REGEX bash脚本,似乎不能让它工作。任何建议或方向都是非常感谢的!
PACKETLOSS="[1-9]\.[0-9]\%"
mtr -r -c 1 192.0.0.0 | grep PACKETLOSS &> /dev/null
if [ $? == PACKETLOSS ]; then
echo "Packet loss to server 192.0.0.0!"
fi发布于 2019-09-03 22:47:21
我认为唯一的错误是您的in IF语句,您必须比较错误代码(如果有任何匹配,此代码为0)。此外,您可以通过在第一个数字后添加+来改善正则表达式,因此10.0%到100.0%也匹配。
PACKETLOSS="[1-9]\+\.[0-9]\%"
mtr -r -c 1 192.0.0.0 | grep PACKETLOSS &> /dev/null
if [ $? == 0 ]; then
echo "Packet loss to server 192.0.0.0!"
fi这段代码适用于我
https://stackoverflow.com/questions/57773825
复制相似问题