Bashのsnmpwalkループ

Bashのsnmpwalkループ

snmpwalkを使った出力に問題があったので、次のスクリプトで試してみました。

var=`snmpwalk -v2c -c private ${ip} .1.1.1.6`
echo "${hostname}=>${var}"

次のような結果が出ました。

R1=>Gauge32: 240
R1=>Gauge32: 293
R1=>Gauge32: 255
R1=>Gauge32: 25

しかし、実際には次のような出力があります。

R1=>Gauge32: 240
Gauge32: 293
Gauge32: 255
Gauge32: 25

それでは、Bashで必要な出力をどのように取得できますか?

ベストアンサー1

文字列に保存されているすべての行の前にホスト名を印刷すると、必要に応じて機能しません$var。各行の前にホスト名を繰り返し印刷する代わりに。

パイプとawkを使用してループを繰り返す1つの方法は次のとおりです。

snmpwalk -v2c -c private ${ip} .1.1.1.6 | awk -vHost="${hostname}" '{print Host"=>"$0}'

おすすめ記事