Je veux utiliser lftp -c
pour faire une session entière en une seule fois (car je lancerai cela à partir d'un script plus tard) et j'ai réussi avec -e
mais cela me laisse avec la session interactive que je ne veux pas.
États manuels
-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.
Mais je ne comprends pas comment je devrais citer et enchaîner correctement mes commandes / interactions.
lftp -e "put -O remote/dir/ /local/file.txt" -u user,pass ftpsite.com
fonctionne très bien. Mais je veux quitter après avoir exécuté la commande;
lftp -c "open -u user,pass ftpsite.com" || put -O "remote/dir/ /local/file.txt"
me crie juste dessus, ou en fait n'importe quelle combinaison de citations que j'ai essayées ( ||
ou &&
peu importe)
Réponses:
devrait le faire.
Si cela ne fonctionne pas, essayez d'ajouter à vos
/etc/lftp.conf
lignes suivantes:la source
' " : ;
lftp -e "put -O remote/dir/ /local/file.txt; bye" -u user,pass ftpsite.com
la source
lftp -e "put -O remote/dir/ /local/file.txt; bye" ftp.yourhost.com
et mettez vos informations d'identification sous ~ / .netrc comme
machine ftp.yourhost.com login your_username password your_password
Mettre des mots de passe dans le cli est absolument impossible car ils sont même lisibles lorsque vous utilisez ps -aux pendant le téléchargement .. à côté de l'historique bash également.
la source