linux ftp lcd error没有这样的文件或目录

时间:2012-08-16 20:37:14

标签: linux ftp

我写了一个bash脚本来连接到ftp服务器,并将文件从FTP服务器下载到我本地linux盒子上的不同目录。

我正在使用以下内容来实现此目的。

#! /bin/sh 
FILENAME='helloworld.txt'
USSER='username'
PASSWD='password'
ftp -niv ftp.domain.com <<HEREDOC
quote USER $USSER
quote PASS $PASSWD
lcd /home/username/scripts/data
mget $FILENAME
bye
HEREDOC

我必须使用USSER登录,因为USER是关键字

此外,我能够手动运行命令而不会出现任何错误。

有谁知道这个问题是什么?任何有关这方面的帮助或领导在哪里看都将非常感激。

修改

当我运行脚本时,我得到以下内容,并注意错误消息如何掩盖它回显的大部分路径

# bash test.sh
test.sh: line 11: warning: here-document at line 5 delimited by end-of-file (wan')d `HEREDOC
Connected to ftp.domain.com (ipaddress).
220 Welcome to the domain FTP Server
331 Password required for username.
230 User username logged in.
: No such file or directoryts/data
local: helloworld.txt remote: helloworld.txt
227 Entering Passive Mode (216,19,206,212,226,85)
150 Data connection accepted from myipaddress:54375; transfer starting for /helloworld.txt (107828 bytes)
226 File sent ok.
107828 bytes received in 0.137 secs (789.81 Kbytes/sec)
?Invalid command
?Invalid command
221 Goodbye.

1 个答案:

答案 0 :(得分:2)

错误消息覆盖自身的原因是您的文件名包含在错误消息中,并且回车符包含在您的文件名中。你需要dos2unix那件事并停止用DOS-ish编辑器编辑unix脚本。