linux ftp lcd error没有这样的文件或目录
问题描述:
我写了一个bash脚本来连接到ftp服务器,并将文件从FTP服务器下载到我本地Linux机器上的不同目录中。linux ftp lcd error没有这样的文件或目录
我正在使用以下来实现此目的。
#! /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登陆,因为用户是关键字
而且,我可以手动运行该命令没有任何错误。
有谁知道这个问题可能是什么?任何与此有关的帮助,或导致在哪里看,将不胜感激。
编辑
当我运行该脚本,我得到以下并注意该错误信息是如何覆盖了大部分的路径,这是呼应
# 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.
答
原因的错误消息覆盖本身就是您的文件名被包含在错误信息中,并且您的文件名中包含回车符。你需要dos2unix
那件事,并停止用DOS-ISH编辑器编辑unix脚本。
+0
谢谢,我在vim中重写了它,它工作正常! – 2012-08-16 22:13:42
执行此脚本的系统上是否存在“/ home/username/scripts/data”?我只是复制你的脚本(显然不同的文件名,用户名,密码,网站等),并且它工作的很好.... – twalberg 2012-08-16 21:28:32
@twalberg是的。我可以连接,更改本地目录并手动下载而不会出错,但运行脚本文件时出现错误。请注意,错误在路径上重叠/写入。 – 2012-08-16 21:57:18
@twalberg难道这是我的系统安装的方式吗? Fedora 14(Laughlin) Linux 2.6.35.4-rscloud x86_64 – 2012-08-16 22:02:01