If no Shell Script [RESOLVIDO]

1. If no Shell Script [RESOLVIDO]

Jeremias Fernandes Rocha Júnior
cHaKaLBsB

(usa Ubuntu)

Enviado em 26/05/2010 - 09:57h

Olá,

Estou iniciando com o shell script e aqui no portal também. Se possível preciso de ajuda da galera mais experiente em shell.
Bem, não consigo fazer meu if rodar direito. preciso verificar se um arquivo existe no diretório onde estarei rodando o script. Sempre aparece o erro: if[1: not found

Eu estou fazendo assim.

find "diretório" |grep -i "Arquivo"
if[ $? -eq 0]; then
echo "Arquivo existe no diretório!";
else
echo "Arquivo não existe no diretório!";
fi

Valeu a força galera!!


  


2. Re: If no Shell Script [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/05/2010 - 10:36h

Tente assim:

find "diretório" |grep -i "Arquivo"
if [ $? -eq 0 ]; then
echo "Arquivo existe no diretório!";
else
echo "Arquivo não existe no diretório!";
fi

Note q eu só acrescentei um espaço entre os colchetes, pois o shell script dá erro se não deixar da forma q ele deseja.


3. Re: If no Shell Script [RESOLVIDO]

Jeremias Fernandes Rocha Júnior
cHaKaLBsB

(usa Ubuntu)

Enviado em 26/05/2010 - 11:41h

Agora gerou este erro => if[: not found

Hein Renato estou salvando e executando com tipo sh, tem algum problema?



4. Re: If no Shell Script [RESOLVIDO]

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 26/05/2010 - 11:53h

Devem haver espaços...

if<espaço>[<espaço>$? -eq 0<espaço>] ...




5. Re: If no Shell Script [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/05/2010 - 11:55h

O kra ainda num entendeu...


6. Re: If no Shell Script [RESOLVIDO]

Jeremias Fernandes Rocha Júnior
cHaKaLBsB

(usa Ubuntu)

Enviado em 26/05/2010 - 12:05h

Agora funcionou a parte da validação do IF, ficou show, valeu.

Mas esta dando este erro => Syntax error: end of file unexpected (expecting "fi")

Eu já coloquei o ";" no final do else, já tirei também, não funcionou. Tentei outras coisas também não funcionou.


7. Re: If no Shell Script [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/05/2010 - 12:19h

Eu vi o erro. Na verdade vc colocou ponto-e-vírgula (igual no C++), mas num é necessário neste caso. O certo é:

find "diretório" |grep -i "Arquivo"
if [ $? -eq 0 ]; then
echo "Arquivo existe no diretório!"
else
echo "Arquivo não existe no diretório!"
fi

O ponto-e-vírgula vc só põe se todas as condições (if, then, else e fi) estiverem na msm linha.


8. Re: If no Shell Script [RESOLVIDO]

Jeremias Fernandes Rocha Júnior
cHaKaLBsB

(usa Ubuntu)

Enviado em 26/05/2010 - 13:36h

Desculpe ai Renato não ter visto o espaço antes.

Bom eu também testei sem o ";" não funcionou, vou postar meu script aqui pra facilitar.

#!/bin/bash
echo "Realizando download versão IntegradorSAW..."
find jboss-3.2.8.SP1 |grep -i integradorSAW
if [ $? -eq 0 ]; then
rm -rf *.zip
echo "Arquivo versão antiga Apagado!"
ftp -inv "Endereço de FTP" <<EOF
user ##### #########
bin
cd IntegradorSAW/Infomed
mget *.zip
quit
EOF
echo "Download realizado com sucesso!"

else
ftp -inv ftp -inv "Endereço de FTP" <<EOF
user ##### #########
bin
cd IntegradorSAW/Infomed
mget *.zip
quit
EOF
echo "Download realizado com sucesso!"
fi




9. Re: If no Shell Script [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/05/2010 - 14:26h

Vamos fazer diferente. Execute-o assim:

# bash -x nomedoscript.sh

E poste a saída aki.


10. Re: If no Shell Script [RESOLVIDO]

Jeremias Fernandes Rocha Júnior
cHaKaLBsB

(usa Ubuntu)

Enviado em 26/05/2010 - 14:43h

Segue a resposta do bash...

download_integrador.sh: linha 25: aviso: here-document na linha 7 delimitado por final do arquivo (era pedido `EOF')
download_integrador.sh: linha 26: erro de sintaxe: fim prematuro do arquivo

Pesquisei em outros lugares...mas em cada um diz uma coisa diferente...ai é complicado...

Desde já, agradeço pelo suporte!!


11. Re: If no Shell Script [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/05/2010 - 14:53h

Na última linha, pq vc colocou "fi"? Apague e tente d novo.


12. Re: If no Shell Script [RESOLVIDO]

Jeremias Fernandes Rocha Júnior
cHaKaLBsB

(usa Ubuntu)

Enviado em 26/05/2010 - 15:09h

Ué porque é padrão do IF no shell não é?

Mas Tirei...Abaixo resultado:

Syntax error: end of file unexpected (expecting "fi")



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts