ftp (로긴+디렉토리 지정)를 편하게 쓰기 위한 스크립트?

foruses의 이미지

$ftp
>o
servername
username
passwd
ftp>cd /scratch/work1
ftp>prompt
ftp>mget file1 file2
ftp>quit

위 과정을 일일이 타이핑 하지 않고, 스크립트 또는 ftp 옵션을 써서 실행하는 방법이 있을까요?
패스워드 입력은 보안상 안하고요.

sftp 의 경우,
$sftp user@server:/scratch/work1
로, 일단 디렉토리까지 찾아들어가는 건 쉬웠는데요.

감사합니다.

M.W.Park의 이미지

일단은,

man netrc

다음을 ftp.scr로 저장.
open <a href="http://ftp.somewhere.over.the.net" rel="nofollow">ftp.somewhere.over.the.net</a>
cd path/to/dir
(bin)
get something.(txt|zip)
bye

마지막으로,
/usr/bin/ftp < <a href="http://ftp.scr" rel="nofollow">ftp.scr</a> > <a href="http://ftp.log" rel="nofollow">ftp.log</a>

-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

doodoo의 이미지

$ftp
>o
servername
username
passwd
ftp>cd /scratch/work1
ftp>prompt
ftp>mget file1 file2
ftp>quit

ftp -n servername << EOF
user username passwd
cd /scratch/work1
prompt
mget file*
quit
EOF

보통 이렇게들 쓰시는듯.....bash,tcsh 에서..
peecky의 이미지

lftp 사용 가능하시면(우분투에는 기본적으로 깔려있더군요) lftp로 하는 방법도 있습니다.

$ lftp servername -u username,passwd -e "cd /scratch/work1; mget file1 file2; quit"
또는
$ lftp -f 스크립트파일

',passwd' 부분은 생략 가능하며, sftp도 접속할 수 있습니다.
$ lftp sftp://servername

그리고 lftp는 기본적으로 덮어쓰기를 합니다.

foruses의 이미지

다른 ftp도 좋지만, lftp는 제가 원하는 타입의 ftp입니다.
스크립트 지원도 만족할 만하고요.
정말 감사합니다.

cinsk의 이미지