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}'