lftp: accedi, metti il ​​file nella directory remota ed esci con un solo comando: una corretta guida alla quotazione


17

Voglio usarlo lftp -cper fare un'intera sessione in una sola volta (dato che lo avrò più avanti da uno script in seguito) e ci sono riuscito -ema quello spesso mi lascia con la sessione interattiva che non voglio.

Stati manuali

-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.

Ma non capisco come dovrei citare e mettere insieme i miei comandi / interazioni correttamente.

lftp -e "put -O remote/dir/ /local/file.txt" -u user,pass ftpsite.com funziona eccellente. Ma voglio uscire dopo aver eseguito il comando;

lftp -c "open -u user,pass ftpsite.com" || put -O "remote/dir/ /local/file.txt" mi grida o, in effetti, qualsiasi combinazione di citazioni che ho provato ( ||o &&indipendentemente)


basta aggiungere; esci o; ciao :)
meso_2600

Risposte:


28
$ lftp -c "open -u user,pass ftpsite.com; put -O remote/dir/ /local/file.txt" 

dovrebbe farlo.

Se questo non funziona, prova ad aggiungere alle /etc/lftp.confseguenti righe:

set ftp:ssl-protect-data true
set ftp:ssl-force true
set ftp:ssl-auth TLS
set ssl:verify-certificate no

2
c'è comunque modo di farlo funzionare se la password contiene caratteri come' " : ;
Pete,

Mi sono inciampato, perché avevo uno spazio dopo quella prima virgola, una volta capito che funzionava benissimo
patrick,

10

lftp -e "put -O remote/dir/ /local/file.txt; bye" -u user,pass ftpsite.com


1

lftp -e "put -O remote/dir/ /local/file.txt; bye" ftp.yourhost.com

e metti le tue credenziali sotto ~ / .netrc come

machine ftp.yourhost.com login your_username password your_password

Inserire password nel cli non è assolutamente necessario, dato che sono persino leggibili quando si usa ps -aux durante il caricamento .. oltre alla storia di bash.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.