Quiero usar lftp -c
para hacer una sesión completa de una vez (ya que lanzaré esto desde un script más adelante) y lo logré, -e
pero eso me deja con la sesión interactiva que no quiero.
Estados manuales
-c commands
Execute the given commands and exit. Commands can be separated with a semicolon, `&&'
or `||'. Remember to quote the commands argument properly in the shell. This option
must be used alone without other arguments.
Pero no entiendo cómo debo citar y encadenar mis comandos / interacciones correctamente.
lftp -e "put -O remote/dir/ /local/file.txt" -u user,pass ftpsite.com
funciona excelente Pero quiero salir después de ejecutar el comando;
lftp -c "open -u user,pass ftpsite.com" || put -O "remote/dir/ /local/file.txt"
solo me grita, o de hecho cualquier combinación de citas que probé ( ||
o &&
independientemente)
Respuestas:
Deberías hacerlo.
Si esto no funciona, intente agregar a
/etc/lftp.conf
las siguientes líneas:fuente
' " : ;
lftp -e "put -O remote/dir/ /local/file.txt; bye" -u user,pass ftpsite.com
fuente
lftp -e "put -O remote/dir/ /local/file.txt; bye" ftp.yourhost.com
y ponga sus credenciales en ~ / .netrc como
machine ftp.yourhost.com login your_username password your_password
Poner las contraseñas en el cli es absolutamente imposible ya que incluso son legibles cuando se usa ps -aux durante la carga ... además del historial de bash también.
fuente