Teste dessa forma:

if [ -z "${ARQENT}" -o -z "${ARQSAI}" ];

normalmente esse tipo de erro acontece devido ao uso de uma variavel sem valor.

na verdade vc poderia testar se a variavel $# é igual a 2 tambem ;-)

[]´s Tiago

On 4/28/07, Renato de Oliveira Diogo <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
>
> Olá pessoal
>
> estou construindo um script e estou checando a passagem de parametros...
>
> ==
> ARQENT=$1;
> ARQSAI=$2;
> COUNT=1;
> ARQTEMP=/tmp/tmpscriptsh_vararqtemp
>
> LINHA_EXT="c_1,c_2,c_3,c_4,c_5,c_6,c_7,c_8";
>
> if [ -z $ARQENT -o -z $ARQSAI ];
> then
> echo "script v0.1 - Renato Diogo";
> echo "Sintaxe: script {arquivo_entrada} {arquivo_saida}"
> exit 1;
> fi
> ==
>
> Quandou vou testar, se nao passar nenhum parametro, entra normal, se
> passo os dois, também... mas quando coloco somente 1 (que era para
> entrar no if) dá o seguinte erro:
>
> ==
> ./script.sh: line 35: [: argument expected
> ==
>
> Alguem pode me dizer o pq?
>
> []s
>
> 



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer

Responder a