[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Comando test com variável vazia
From: |
Fernando Lemes da Silva |
Subject: |
Re: [shell-script] Comando test com variável vazia |
Date: |
Mon, 4 Sep 2006 19:33:16 -0300 |
User-agent: |
KMail/1.9.1 |
Rodrigo,
Primeiramente faça uma comparação de string e depois faça a aritmética. Ex:
[ -n "${menor}" -a ${menor} -gt 0 ]
Isto verificará se a variável menor não é vazia para depois avaliar a
segunda expressão (-a = AND). Voce poderia verificar se é um numero inteiro
usando alguma ereg para ter certeza que a comparação seguinte não irá falhar.
[]'s
--
0010111100101010010100110100100101000111
Fernando LEMES da Silva
M$N: ferlemes AT yahoo com br
www.koho.com.br (0x53E56DAA)
0101001101001001010001110010101000101111
Em Segunda 04 Setembro 2006 18:31, Rodrigo escreveu:
> Olá amigos.
> Tenho um script que possui uma variável que se inicia vazia:
> menor=
> Após alguns if's ela pode assumir valores inteiros ou permanecer vazia
> caso esses if's não sejam satisfeitos.
> Mais além preciso fazer alguns testes com outros if's, assim:
> if [ "$menor" -eq "$PR1" ]
> then
> media=`expr \( $PR2 + $PR3 \) / 2`
> fi
> Porém esses testes estão retornando o erro bash: [: -eq: unary
> operator expected quando as variáveis não vêm entre aspas duplas e o
> erro bash: [: : integer expression expected quando vêm entre aspas duplas.
> Algum de vocês saberia me dizer se esse tipo de teste que estou
> realizando é possível?
> Obrigado.