Andre,

vc está fazendo comparações pelo shell, e normalmente estas
comparações numéricas esperam numeros inteiros.

sugiro esta troca

iostat -x 300 1| awk '(NR > 2 && $4 > 0 && $5 > 0){ print $1,$4,$5 }' | ...

conforme lhe mandei via PVT, mas isso pode servir pra mais alguem também

On 11/30/06, Andre Campos <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Valeu, mais agora está dando outro erro..
>
>  io.sh: [: %sys: integer expression expected
>  io.sh: [: 66.54: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: r/s: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 76.08: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 0.00: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 6.27: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 1.86: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 0.00: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 0.04: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 0.00: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 67.91: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 28.03: integer expression expected
>  io.sh: [: too many arguments
>  io.sh: [: 28.03: integer expression expected
>  io.sh: [: too many arguments
>
>  Este script deveria pegar o resultado do iostat e inserir em uma tabela no 
> banco...
>
>  Valeu!!!
>
>  André Campos
>
>  ---------- Início da mensagem original -----------
>
>  De: [email protected]
>      Para: [email protected]
>        Cc:
>      Data: Thu, 30 Nov 2006 16:11:40 -0200
>   Assunto: Re: [shell-script] Rotina de consumo de IO
>
>  > seu erro está aqui:
>  >
>  > if [ $VMSTAT_IO_R -gt 0 ] and [ $VMSTAT_IO_W -gt 0 }
>  >
>  > deveria ser
>  >
>  > if [ "${VMSTAT_IO_R}" -gt 0 -a "${VMSTAT_IO_W}" -gt 0 ]
>  >
>  > O que deveria fazer este script é algo que necessita de uma engenharia
>  > reversa. Veja o que sai de cada um dos pipes, sem medo.
>  >
>  > Comece vendo o resultado do iostat.
>  >
>
>  > On 11/30/06, Andre Campos <[EMAIL PROTECTED]> wrote:
>  > >
>  > >
>  > >  Amigos,
>  > >
>  > >  Alguém saberia me dizer o que está errado nessa rotina???
>  > >
>  > >  #!/bin/ksh
>  > >  while true
>  > >  do
>  > >   iostat -x 300 1|\
>  > >     sed 1,2d|\
>  > >     awk  '{ printf("%s %s %s\n", $1, $4, $5) }' |\
>  > >    while read HDISK VMSTAT_IO_R VMSTAT_IO_W
>  > >    do
>  > >      if [ $VMSTAT_IO_R -gt 0 ] and [ $VMSTAT_IO_W -gt 0 }
>  > >      then
>  > >       sqlplus -s perfstat/perfstat <<!
>  > >        insert into perfstat.stats\$iostat
>  > >        values
>  > >          (SYSDATE, 5, '$HDISK', $VMSTAT_IO_R, $VMSTAT_IO_W);
>  > >        exit
>  > >  !
>  > >     fi
>  > >    done
>  > >    sleep 300
>  > >  done
>  > >
>  > >  Estou recebendo o seguinte erro : io.sh: [: missing `]'
>  > >
>  > >  Obrigado
>  > >
>  > >  André Campos
>  > >  --
>  > Tiago B Peczenyj
>  > Linux User #405772
>  >
>  > # cd /pub
>  > # more beer
>  >
>
>
>
>                   



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer

Responder a