Я хочу использовать, lftp -c
чтобы сделать весь сеанс за один раз (как я буду запускать это из скрипта позже), и я справился, -e
но это ofc оставляет мне интерактивный сеанс, который я не хочу.
Ручные состояния
-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.
Но я не понимаю, как правильно цитировать и связывать свои команды / взаимодействия.
lftp -e "put -O remote/dir/ /local/file.txt" -u user,pass ftpsite.com
работает отлично. Но я хочу выйти после выполнения команды;
lftp -c "open -u user,pass ftpsite.com" || put -O "remote/dir/ /local/file.txt"
просто кричит на меня, или на самом деле любую комбинацию цитат я пробовал ( ||
или &&
независимо)
Ответы:
должен сделать это.
Если это не работает, попробуйте добавить
/etc/lftp.conf
следующие строки:источник
' " : ;
lftp -e "put -O remote/dir/ /local/file.txt; bye" -u user,pass ftpsite.com
источник
lftp -e "put -O remote/dir/ /local/file.txt; bye" ftp.yourhost.com
и поместите свои учетные данные в ~ / .netrc как
machine ftp.yourhost.com login your_username password your_password
Вводить пароли в cli абсолютно невозможно, так как они даже читаемы при использовании ps -aux во время загрузки ... кроме истории bash.
источник