linux en utilisant 2.6.18 ..script shell: tableau problème lié
/bin/bash -version
GNU bash, version 1.14.7(1)
(commande snmpwalk donne une sortie dans une console comme ... ci-dessous)
33
4232
5342
632
45342
23342
3243
J'utilise script shell Grep données de snmp et en essayant de l'ajouter dans le tableau. mais ne peut pas le faire avec des problèmes suivants ...
#!/bin/bash
OID="1.3.6.1.2.1.2.2.1"
declare -a index=$(snmpwalk -v 2c -c public -Oqv localhost ${OID}.1)
declare -a upload=$(snmpwalk -v 2c -c public -Oqv localhost ${OID}.10)
declare -a download=$(snmpwalk -v 2c -c public -Oqv localhost ${OID}.11)
echo "retrieved ${#index[@]} elements"
echo "#${index[3]}: up=${upload[2]} down=${download[2]}"
sortie:
+ declare -a index=1 2
j2.sh: 4: j2.sh: declare: not found
(donc je ne peux pas utiliser 'Déclare')
2ème voie
#!/bin/bash
OUTPUT1=$(snmpbulkwalk -Oqv -c public -v 2c localhost
1.3.6.1.4.1.21067.4.1.1.1 2> /dev/null)
i=1
index=1
upload=1
download=1
for LINE in ${OUTPUT1}
do
index=$LINE
OUTPUT2=$(snmpget -Oqv -c public -v 2c localhost 1.3.6.1.4.1.21067.4.1.1.10.$i 2> /dev/null)
OUTPUT3=$(snmpget -Oqv -c public -v 2c localhost 1.3.6.1.4.1.21067.4.1.1.11.$i 2> /dev/null)
upload=$OUTPUT2
download=$OUTPUT3
i=`expr $i + 1`
done
son donne bettelnack avec une grande quantité de données ...
3ra approch:
#!/bin/bash
OUTPUT=$(snmpbulkwalk -Oqv -c public -v 2c localhost
1.3.6.1.4.1.21067.4.1.1.1 2> /dev/null)
i=0
index[3000]=0
for LINE in ${OUTPUT} ; do
index[$i]=$LINE
i=`expr $i + 1`
done
ici index [1], index [2] ...... ne sont pas Fount
Deux autres options: séparez les commandes avec un point-virgule, ou déclarez les trois variables dans la même commande: 'declare -a index = $ (...) upload = $ (...) download = $ (. ..) ' – chepner
J'ai fait dans la ligne séparée. Il suffit de coller l'erreur ici .. désolé .. Mais mon bash ne supporte pas "déclarer" ou toute sorte de déclaration de tableau normale .... pouvez-vous m'aider avec cela? –
/bin/bash -version GNU bash, version 1.14.7 (1) {Je ne peux pas mettre à niveau la version de bash sur mon serveur} –