2011-07-14 7 views
5

J'essaye de ftp plusieurs fichiers d'une machine à l'autre en utilisant un script shell. Voici mon script: -comment ftp plusieurs fichiers en utilisant le script shell

ftp -nv <<EOF 
open home.machine.com 
user remote monday 
binary 
mput *.txt 
bye 
<<EOF 

maintenant, le problème est, il se bloque entre les deux, mais lorsque je tente chaque commande sur l'invite de commande. après que j'exécute mput *.txt il demande la confirmation pour chaque fichier, quand j'entre yes alors il passe au prochain dossier, et demande encore.

Ai-je raté quelque chose?

Merci.

+0

appartient à Linux et Unix – genesis

+1

S'il vous plaît remove « << » caractères au début de la dernière ligne car il commence un nouveau bloc et les commandes après seront ommited par shell – Igor

Répondre

4

J'ai essayé quelque chose comme cette commande

prompt 
mput *.txt 

prompt fermé l'interaction de l'utilisateur, puis il workedd correctement.

3

A partir du manuel:

-i Désactive invite en mode interactif lors des transferts de fichiers multiples.

+0

j'ai essayé comme 'mput -i * .txt', mais cela n'a pas fonctionné .. j'utilise incorrectement .. quand j'ai essayé ceci .. seulement 2- 3 fichiers obtient le repos de ftp ne ... –

2

Sur la base de l'extrait de code, il devrait ressembler à ceci:

ftp -inv <<EOF 
open home.machine.com 
user remote monday 
binary 
mput *.txt 
bye 
<<EOF 

avis de l'inclusion -i dans les arguments ftp.

aussi, il est conseillé d'utiliser mput car il sera difficile de suivre les erreurs que le transfert de fichiers individuellement

0
ftp -n ftp.test.com <<+ 
user ftpUser password 
cd local_dir/ 
lcd remote_dir/ 
mget *.* 
mdelete *.* 
quit 
bye 
+ 
Questions connexes