Acho que me expressei mal. Tu copias os dois primeiros parâmetros passados para o script dessa forma:
ARQENT=$1 ARQSAI=$2 Existe um teste mais simples, porém não muito robusto, que seria testar o número de parâmetros if [ $# -ge 2 ]; then # se vc tiver pelo menos 2 parametros... ... fi MAS se vc executar o script dessa forma ./script.sh "" "" vc passou 2 parametros. vazios, mas passou.é claro que isso 'raramente' vai acontecer. Agora, um teste interessante seria ver se o ARQENT é um arquivo regular, isso vc pode fazer trocando o teste -z por -f nesse arquivo. ai sim o seu teste seria bem robusto! Att Tiago On 5/2/07, Renato de Oliveira Diogo <[EMAIL PROTECTED]> wrote: > > Olá > > funcionou perfeitamente deste jeito > > if [ -z "${ARQENT}" -o -z "${ARQSAI}" ]; > > vlw.. muito obrigado > > do outro não sei se entendi direito... mas vc está dizendo se a string > (que > vem por referencia) tem até 2 conjuntos de parametros? > > []s > > On 4/28/07, Tiago Barcellos Peczenyj <[EMAIL > PROTECTED]<tiago.peczenyj%40gmail.com>> > wrote: > > > > 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]<rdiogo01%40yahoo.com.br> > <rdiogo01%40yahoo.com.br>> > > 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 > > > > > > -- > ________________________________________________ > Renato de Oliveira Diogo > > Blueeye Web Solutions > 14-32243492 > > Bacharel em Ciência da Computação > UNESP - Bauru > Mestrando em Ciência da Computação > UNESP > > [EMAIL PROTECTED] <renato.diogo%40gmail.com> > [EMAIL PROTECTED] <rdiogo01%40yahoo.com.br> > > [As partes desta mensagem que não continham texto foram removidas] > > > -- Tiago B Peczenyj Linux User #405772 # cd /pub # more beer [As partes desta mensagem que não continham texto foram removidas]