gpt4 book ai didi

linux - 在 Linux Bash 中从 SNMP 输出中获取信息

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:57 24 4
gpt4 key购买 nike

我正在写一个 bash 脚本,它使用 SNMP 命令连接到我的 GPS 路由器。我正在使用“snmpwalk”,这是命令:

snmpwalk -v 2c 10.0.0.250 -c public enterprises.30140.7.2

它返回:

SNMPv2-SMI::enterprises.30140.7.2.0 = STRING: "3203.558467N"

现在我的主要目标是获取不带“N”的数字“3203.558467”。

我是 Linux/bash 新手,经过几次搜索,我发现有一个叫做“eval”的东西,它帮助我将整个字符串分成一个数组,并将“3203.558467N”放在第四个单元格(代码在最后)。

这仍然不是我想要的,因为“N”就在那里。我知道还有一些方法,例如“sed”和“tr”,但我不太知道如何有效地使用它们。
分隔“3203.558467”以便使用该数字进行计算的最佳方法是什么?

#!/bin/bash

latitude=$(snmpwalk -v 2c 10.0.0.250 -c public enterprises.30140.7.2)
eval x=($latitude)
echo "latitude is : ${x[3]}"

最佳答案

您可以使用bash parameter substition为此,使用 ${variable%?}

latitude=$(snmpwalk -v 2c 10.0.0.250 -c public enterprises.30140.7.2)
eval x=($latitude)
echo "latitude is : ${x[3]%?}"

关于linux - 在 Linux Bash 中从 SNMP 输出中获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32119922/

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