shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Concatenar variáveis do laç o for


From: Julio C. Neves
Subject: Re: [shell-script] Re: Concatenar variáveis do laç o for
Date: Wed, 30 Apr 2014 17:35:57 -0300

A linha que está ocorrendo o erro deve ser let vetor[$id_alarm]++. É essa a linha 12?

Caso o erro esteja nessa linha, deve ser pq em algum momento id_alarm recebe algo não numérico. Nesse caso, troque aquela linha por:

(( id_alarm == 9 || id_alarm == 14 )) && let vetor[id_alarm]++ || let vetor[0]++

Fazendo assim, os casos estranhos ficarão em vetor[0] e não ocorrerão mais erros.


Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 26-30/05
Dou treinamento de shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 30 de abril de 2014 16:41, <address@hidden> escreveu:
 

Julio.
Fiz como vc falou.
Está dando o seguinte erro nessa linha:

linha: let vetor[$id_alarm]++
erro:
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto
./julio.sh: line 12: vetor[]: índice da matriz (array) incorreto

O script completo:
#########################
#!/bin/bash
export SCRIPT_NAME=`basename $0`
export NUM_PARAM=$#
export VERSAO_SNMP="1"
HOST=$2
COM_SNMP=$4

#IFS=$'\n';
qtde_alarmes="0"
for alarme in `snmpwalk  -v$VERSAO_SNMP $HOST -c $COM_SNMP -On 1.3.6.1.2.1.33.1.6.2.1.2` ; do
    id_alarme=$(echo $alarme | awk -F"." '{print $NF}')
    let vetor[$id_alarm]++
done

#Vc monta a saída:
for indice in "${!vetor[@]}" ; do
    case $indice in
        9) printf '%30s %5i\n' "Modo bypass automatico ativo" ${vetor[indice]}
           ;;
       14) printf '%30s %5i\n' "Saida do nobreak desligada" ${vetor[indice]}
           ;;
        *) printf '%30s %5i\n' "Alarme desconhecido" ${vetor[indice]}
           ;;
    esac
done
#######################
Pode ajudar?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]