我想利用标准输入重定向来实现ftp的自动上传下载,但是验证密码时失败了,为什么??

我想利用标准输入重定向来实现ftp的自动上传下载,但是验证密码时失败了,为什么??

我想用一个脚本来实现ftp文件的自动上传下载

ftp-scripts的内容如下:
open 192.168.6.217
user
password
cd /home
put testfile
bye

然后在命令行里输入:ftp<ftp-scripts
但是在执行到验证密码的时候提示说密码错误,请问这是什么原因呢?      
举例说明:
$ vi ftp.sh
复制内容到剪贴板
代码:
#!/bin/bash

USER=anonymous
PASS=a@b.c
ftp -i -n << END
open localhost
user $USER $PASS
ls
close
END
$ chmod u+x ftp.sh
$ ./ftp.sh
复制内容到剪贴板
代码:
输出:
d--x--x--x    2 0        0            4096 Aug 07 13:29 bin
d--x--x--x    2 0        0            4096 Jun 27  2002 etc
drwxr-xr-x    2 0        0            4096 Jun 27  2002 lib
drwxr-sr-x    2 0        50           4096 Jun 23  2002 pub
      
[QUOTE]最初由 dearvoid 发布
[B]举例说明:
$ vi ftp.sh
复制内容到剪贴板
代码:
#!/bin/bash

USER=anonymous
PASS=a@b.c
ftp -i -n << END
open localhost
user $USER $PASS
ls
close
END
$ chmod u+x ftp.sh
$ ./ftp.sh
复制内容到剪贴板
代码:
输出:
d--x--x--x    2 0        0            4096 Aug 07 13:29 bin
d--x--x--x    2 0        0            4096 Jun 27  2002 etc
drwxr-xr-x    2 0        0            4096 Jun 27  2002 lib
drwxr-sr-x    2 0        50           4096 Jun 23  2002 pub
[/B][/QUOTE]

USER
PASS
这两个是变量嘛 好象有什么特殊的意义?      
复制内容到剪贴板
代码:
#!/bin/bash

ftp -i -n << END
open localhost
user anonymous a@b.c
ls
close
END
      
谢谢各位热心帮助。可是我还想问一下,为什么从文件里重定向就行不通呢?      
从文件重定向也可以的,不过一定要用 “-i -n”选项
(详情见 man ftp)