#!/bin/bash
for i in `seq 1 3000`
do
index=`snmpget -v 2c -c public -Oqv localhost 1.3.6.1.4.1.21067.4.1.1.1.$i`
done
for i in `seq 1 3000`
do
upload=`snmpget -v 2c -c public -Oqv localhost 1.3.6.1.4.1.21067.4.1.1.10.$i`
done
for i in `seq 1 3000`
do
download=`snmpget -v 2c -c public -Oqv localhost 1.3.6.1.4.1.21067.4.1.1.11.$i`
done
(ubuntu-12.04)上面是我的shell脚本......每次执行snmpget命令它都会返回一个整数并将值存储在上述三个变量中......问题是数据表有9000个值。因此,使用此脚本会消耗过多的时间和 bettelnake。
任何人都可以建议我一些简单的“SNMPWALK”(或其他任何东西)使用脚本,我可以将所有这些数据存储到单个数组 [9000] 或三个解析中,在三个不同的数组中,索引为 1 到 3000.so我可以尽可能地减少时间。
例如: snmpwalk -v 2c -c public -Oqv localhost 1.3.6.1.4.1.21067 给出所有值,但我不知道如何将所有这些存储在具有不同索引的数组中。..................................................... ......
看到我在下面尝试过:但是给我错误...
cat script.sh
#!/bin/sh
OUTPUT1=$(snmpbulkwalk -Oqv -c public -v 2c localhost 1.3.6.1.2.1.2.2.1.1 2> /dev/null)
i=1
for LINE in ${OUTPUT1} ;
do
OUTPUT1[$i]=$LINE;
i=`expr $i + 1`
done
sh script.sh
j4.sh: 6: j4.sh: OUTPUT1[1]=1: not found
j4.sh: 6: j4.sh: OUTPUT1[2]=2: not found