2011-07-14 18 views
5

Estoy tratando de convertir varios archivos de una máquina a otra usando script de shell. A continuación se muestra mi guión: -cómo convertir archivos múltiples usando script de shell

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

ahora, el problema es, que se cuelga en el medio, pero cuando intento cada comando en el símbolo del sistema. después de ejecutar mput *.txt, solicita la confirmación de todos y cada uno de los archivos, cuando ingreso yes, pasa al siguiente archivo y vuelve a preguntar.

¿Echo de falta algo?

Gracias.

+0

pertenece a Linux y Unix – genesis

+1

Por favor, elimine '<<' caracteres en el comienzo de la última línea porque comienza un nuevo bloque y los comandos después serán omitidos por shell – Igor

Respuesta

4

Traté algo así como este comando

prompt 
mput *.txt 

prompt cerrado la interacción con el usuario, y luego correctamente workedd.

3

Del manual:

-i Desactiva provocó interactivo durante varias transferencias de archivos.

+0

intenté como 'mput -i * .txt', pero eso tampoco funcionó ... estoy usando incorrectamente ... cuando probé esto ... solo 2- 3 archivos obtienen ftp rest no ... –

2

Basado en el fragmento de código, debe ser así:

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

aviso de la inclusión de '-i' en los argumentos de ftp.

también, no es recomendable utilizar mput ya que será difícil realizar un seguimiento de los errores que la transferencia de archivos de forma individual

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