lftp: 로그인, 원격 디렉토리에 파일 넣고 단일 명령으로 종료: 적절한 인용 도움말

lftp: 로그인, 원격 디렉토리에 파일 넣고 단일 명령으로 종료: 적절한 인용 도움말

나는 한 번에 전체 세션을 수행하고 싶고 lftp -c(나중에 스크립트에서 이 세션을 시작할 것이기 때문에) 관리했지만 -e그로 인해 원하지 않는 대화형 세션이 남게 되었습니다.

수동 상태

-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" 그냥 나한테 소리지르거나 실제로 내가 시도한 인용문 조합( ||또는 &&상관없이)

답변1

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

그것을 해야 한다.

/etc/lftp.conf그래도 작동하지 않으면 다음 줄을 추가해 보세요 .

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

답변2

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

답변3

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

다음과 같이 ~/.netrc 아래에 자격 증명을 입력하세요.

machine ftp.yourhost.com login your_username password your_password

업로드 중에 ps -aux를 사용할 때에도 읽을 수 있기 때문에 cli에 비밀번호를 입력하는 것은 절대 불가능합니다. bash 기록 옆에도 있습니다.

관련 정보