"替换为特定文本-6ren"> "替换为特定文本-我有一个通过 SNMPWalk 查询 OID 详细信息的脚本,问题是当某个 IP(例如 172.20.36.8)不可访问时,它显示 Timeout: No Response from 172.20.3-6ren">
gpt4 book ai didi

linux - 将 SNMP "Timeout: No Response from "替换为特定文本

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:10 25 4
gpt4 key购买 nike

我有一个通过 SNMPWalk 查询 OID 详细信息的脚本,问题是当某个 IP(例如 172.20.36.8)不可访问时,它显示 Timeout: No Response from 172.20.36.8。是否有代码可以替换来自 snmp 查询的响应,以便如果它像那样显示,我想显示单词“Idle”而不是“Timeout:...”

这是我正在运行的脚本的一部分:

for EACH in `echo $APIP`
do
SectorID=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.1.16 | awk '{print $4}'
ActiveSubs=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.7.1 | awk '{print $4}'
UniqueSubs=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.7.18 | awk '{print $4}'
printf "%s\t| %s\t| %s\t| %s\t|\n" "${EACH}" "${SectorID}" "${ActiveSubs}" "${UniqueSubs}"
done

现在这是上述部分脚本的结果

172.20.36.3     |   1   |      2        |      4        |
172.20.36.4 | 2 | 5 | 8 |
172.20.36.5 | 3 | 11 | 16 |
Timeout: No Response from 172.20.36.6
Timeout: No Response from 172.20.36.6
Timeout: No Response from 172.20.36.6
172.20.36.6 | | | 0 |
172.20.36.7 | 5 | 0 | 1 |
Timeout: No Response from 172.20.36.8
Timeout: No Response from 172.20.36.8
Timeout: No Response from 172.20.36.8
172.20.36.8 | | | 0 |

当它到达 IP 地址 .6.8 时,它会显示 “超时:无响应...”。如果它没有遇到来自所述 ip 地址的响应,我想以某种方式显示它:

172.20.36.3     |   1   |      2        |      4        |
172.20.36.4 | 2 | 5 | 8 |
172.20.36.5 | 3 | 11 | 16 |
172.20.36.6 | Idle | Idle | Idle |
172.20.36.7 | 5 | 0 | 1 |
172.20.36.8 | Idle | Idle | Idle |

谁能帮我解决这个问题?非常感谢您的回复。 :)

最佳答案

你应该能够做这样的事情:

SectorID=`$SNMPWALK -v2c -c Canopy ${EACH} ${SNMPOID}.1.1.16 2>&1 | sed 's/Timeout: No Response.*/Idle/'`
if [ "$SectorId" != "Idle" ] ; then
SectorID=`echo $SectorID | awk '{ print $4 }'`
fi

但是,该脚本的复杂性正在迅速增加,我更想在比 sh(我不是抨击 bash;我一直使用它)如 python 或 perl 更好的脚本环境中重写它.但是如果你想使用*sh,我至少会实现一个函数来为你做一次处理而不是重复上面的4次。但我会将其作为练习留给读者。

关于linux - 将 SNMP "Timeout: No Response from <IP_Address>"替换为特定文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20324027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com