Pregunta: Me gustaría ejecutar ftp desde dentro de un script de shell. También me gustaría proporcionar el nombre de usuario y la contraseña necesarios para la descarga del archivo FTP dentro del propio script de shell. ¿Puedes explicarme cómo realizar este ftp de baño desde un script de shell?
Respuesta: Para descargar/cargar archivos mediante ftp en modo por lotes, puede utilizar secuencias de comandos de FTP utilizando el documento HERE desde la línea de comandos o llamar a FTP desde un script de shell como se explica a continuación.
Secuencias de comandos FTP utilizando el documento HERE
$ ftp -in URL << SCRIPTEND user USERNAME PASSWORD binary cd PATH mget PATH SCRIPTEND
En el script ftp anterior:
- ftp:comando ftp
- -i :deshabilitar las indicaciones interactivas
- -n:deshabilitar el inicio de sesión automático
- usuario CONTRASEÑA DE NOMBRE DE USUARIO:inicie sesión con el nombre de usuario y la contraseña proporcionados
- binary:establezca el modo binario para la transferencia de archivos binarios
- cd PATH:cambiar directorio en máquina remota
- mget PATH:obtiene el archivo especificado
- SCRIPTEND:ambas etiquetas representan el inicio y el final del documento AQUÍ.
- Los documentos HERE se utilizan para proporcionar entrada a los comandos, consulte el documento Here para obtener más información al respecto.
Secuencias de comandos FTP utilizando Shell Script
A continuación se muestra un script de script de shell de muestra que descarga un archivo tar del servidor FTP.
$ cat download.sh ftp -in mirrors.issp.co.th << SCRIPTEND user anonymous [email protected] binary cd cpan/authors/id/P/PM/PMQS/ mget Compress-Raw-Bzip2-2.027.tar.gz SCRIPTEND
Ejecute este script de shell para descargar los archivos desde el ftp.
$ sh download.sh $ ls download.sh Compress-Raw-Bzip2-2.027.tar.gz
Para obtener más comandos FTP, consulte nuestro artículo anterior Guía para principiantes de FTP y SFTP con 10 ejemplos