How to ftp multiple files using a shell script
I 开发者_开发百科am trying to ftp multiple files from one machine to another using a 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 the next file, and asks again.
Am I missing something?
I tried something like this:
prompt
mput *.txt
The prompt
command closed the user interaction, and then it worked properly.
From the manual:
-i
Turns off interactive prompting during multiple file transfers.
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 compared to transferring files individually.
ftp -n ftp.test.com <<+
user ftpUser password
cd local_dir/
lcd remote_dir/
mget *.*
mdelete *.*
quit
bye
+
精彩评论