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