how to ftp multiple file using shell script

2019-04-28 18:40发布

问题:

I am trying to ftp multiple files from one machine to another using shell script. Below is my script :-

ftp -nv <<EOF
open home.machine.com
user remote monday
binary
mput *.txt
bye
<<EOF

now, the problem is, it hangs in between, but when i try each and every command on the command prompt. after i execute mput *.txt it asks for confirmation for each and every file, when i enter yes then it moves on to next file, and asks again.

Am i missing something?

Thanks.

回答1:

i tried something like this

prompt
mput *.txt

prompt command closed the user interaction, and then it workedd properly.



回答2:

From the manual:

-i Turns off interactive prompting during multiple file transfers.



回答3:

Based on your code snippet, it should be like this:

ftp -inv <<EOF
open home.machine.com
user remote monday
binary
mput *.txt
bye
<<EOF

notice the inclusion of '-i' in the ftp arguments.

also, it is not advisable to use mput since it will be difficult to track errors than transferring files individually



回答4:

ftp -n ftp.test.com <<+
user ftpUser  password 
cd  local_dir/
lcd  remote_dir/
mget *.*
mdelete *.*
quit
bye
+


标签: unix ftp