[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]