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

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

Re: [shell-script] Script com erro [: -eq: unary operator expected


From: Julio C. Neves
Subject: Re: [shell-script] Script com erro [: -eq: unary operator expected
Date: Mon, 13 Nov 2006 14:16:02 -0200

Weder,
antes do if, ponha a seguinte linha:
echo :$MES: :$MES_AT:
Se a variável MES estiver vazia, vc terá de rever a linha que a cria, se a
MES_AT estiver vazia, vc deverá exportá-la antes do loop, pois o while roda
em um subshell (criado pelo pipe) que talvez não esteja vendo os dados do
Shell pai.

Tb é possivel evitar o pipe fazendo:

# Variaveis a serem iniciadas
DIA_AT=`date +%d`
MES_AT=`date +%m`
ANO_AT=2006

while read info
do
...
done < <(egrep '(^Nome|^Cliente|^Projeto|^IP|^Gerente|desligado)'
usr/local/snmp/Consultas_snmp/Geral/Tempo_ocioso/relatorio_off.txt)

Abração,
Julio
:wq


Em 13/11/06, weder_feliciano <address@hidden> escreveu:
>
>   Estou fazendo um script pra saber quanto tempo cada maquina na rede
> está ligada e para isso faço alguns calculos de acordo com a saida de
> logs das máquinas, porém estou com o erro [: -eq: unary operator
> expected, segue o script abaixo
>
> #!/bin/bash
>
> # Variaveis a serem iniciadas
> DIA_AT=`date +%d`
> MES_AT=`date +%m`
> ANO_AT=2006
>
> cat
> /usr/local/snmp/Consultas_snmp/Geral/Tempo_ocioso/relatorio_off.txt |
> egrep '(^Nome|^Cliente|^Projeto|^IP|^Gerente|desligado)' |\
> while read info
> do
> DIA=`echo $info | grep desligado | awk '{print $6}' | cut -d/ -f1`
> MES=`echo $info | grep desligado | awk '{print $6}' | cut -d/ -f2`
> ANO=`echo $info | grep desligado | awk '{print $6}' | cut -d/ -f3`
>
> if [ $MES -eq $MES_AT ]
> then
> TOTAL_DIAS=$(expr $DIA_AT - $DIA)
> echo $TOTAL_DIAS
> fi
>
> A Saida do comando para executar o laço é:
> Nome: E-BR-000-000A-Desenvolvimento-Solaris9
> Cliente: Interno
> Projeto: Teste Internos
> IP: 172.16.7.151
> Gerente: Robson
> O servidor está desligado desde 27/10/2006
>
> Minha lógica seria pra comparar o mês, se for igual só calcula os
> dias, no caso acrescentari um else para calcular mes e dias depois,
> mas quero fazer funcionar a primeira parte antes.
>
> Weder
>
>  
>



-- 
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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