shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Verificar se arquivo existe utilizando FTP e BASH


From: MrBiTS
Subject: Re: [shell-script] Verificar se arquivo existe utilizando FTP e BASH
Date: Thu, 16 Apr 2009 18:52:20 -0300
User-agent: Thunderbird 2.0.0.21 (X11/20090409)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Para armazenar o resultado do ls em uma variável é
> 
> var=`ls $1`  #entre crases
> 
> Mas, cuide que a variável estará no shell filho criado na execução do
> script. Dependendo do objetivo terás que fazer um export

Infelizmente, isso não vai funcionar dentro do FTP. Lembre-se que você está, no 
momento, dentro do shell do FTP, mais limitado que o
 shell "convencional".

Como foi criada uma função verifica_ftp, é possível armazenar o retorno dela 
numa variável, assim:

RET=$(verifica_ftp)

A função será chamada e tudo o que ela retornar estará na variável RET, que 
pode ser lida, filtrada, testada.

Para aprendizado ou para sistemas onde o acesso é restrito, esse é o caminho. 
Se, no entanto, você puder instalar coisas nem que
seja no seu $HOME, recomendo o conjunto de ferramentas que vem com o ncftp [1]. 
Temos lá ncftpput, ncftpget, ncftpls, com várias
opções que automatizam as tarefas.

No seu caso, algo como

$ ncftpls -x "-l" ftp://ftp.gnu.org/pub/find.txt.gz
- -rw-r--r--    1 0        0          152501 Apr 16 10:29 find.txt.gz

ou talvez

$ if [ "$(ncftpls ftp://ftp.gnu.org/pub/find.txt.gz)" ==  "find.txt.gz" ] ; 
then echo OK ; fi
OK



- --

Um abraço

.0. MrBiTs - address@hidden
..0 GnuPG  - 
http://keys.cardboard.net:11371/pks/lookup?op=get&search=0xAC37715A6DD1F186
000 http://www.mrbits.com.br

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAknnqJQACgkQrDdxWm3R8YZI2wCfQCtFOTFFp+Nm45aJI8ZspcuN
aWoAn13qMq2l+rZQdmIZFqJfYBTQuNVU
=SbmB
-----END PGP SIGNATURE-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]