Arrays 在bash脚本中将snmpbulkwalk输出分配给关联数组
我到处寻找答案,但解决办法仍然没有找到。下面是我在本地服务器上运行的Arrays 在bash脚本中将snmpbulkwalk输出分配给关联数组,arrays,bash,associative-array,net-snmp,Arrays,Bash,Associative Array,Net Snmp,我到处寻找答案,但解决办法仍然没有找到。下面是我在本地服务器上运行的snmpbulkwalk的结果 snmpbulkwalk -v2c -Oqs -m EGT-VIPr-TRx -c <community> <ip> egtViprOutputMuxSecDestPort | sed -e 's/egtViprOutputMuxSecDestPort\.//g' Output 1 2001 4 2002 5 2003 8 2004 任何帮助都将不胜感激。我已经找到了一个
snmpbulkwalk
的结果
snmpbulkwalk -v2c -Oqs -m EGT-VIPr-TRx -c <community> <ip> egtViprOutputMuxSecDestPort | sed -e 's/egtViprOutputMuxSecDestPort\.//g'
Output
1 2001
4 2002
5 2003
8 2004
任何帮助都将不胜感激。我已经找到了一个可行的解决方案,我正在发布答案供将来参考。经过多次尝试和错误后,一个
while read
循环完成了我的最终目标
declare -A array
while read id value; do
array[$id]=$value
done < <(snmpbulkwalk -v2c -Oqs -m EGT-VIPr-TRx -c <community> <ip> egtViprOutputMuxSecDestPort | sed -e 's/egtViprOutputMuxSecDestPort\.//g')
echo ${array[1]}
Output
2001
declare-A数组
读取id值时;做
数组[$id]=$value
完成<
declare -A array
while read id value; do
array[$id]=$value
done < <(snmpbulkwalk -v2c -Oqs -m EGT-VIPr-TRx -c <community> <ip> egtViprOutputMuxSecDestPort | sed -e 's/egtViprOutputMuxSecDestPort\.//g')
echo ${array[1]}
Output
2001