2014-02-13 49 views
0

我已经添加了这段代码来将文件上传到远程FTP。 现在我得到一个错误:“58行语法错误:意外的文件结尾” 单独它的工作原理EOF意外的文件结尾

#!/bin/bash  
    for fileupload in *.zip; do 
    hostname="myhost" 
    username="myuser" 
    password="mypwd" 
    ftp -vn $hostname <<ENDFTPCOMMAND 
    quote USER $username 
    quote PASS $password 
    binary 
    put $fileupload 
    quit 
    ENDFTPCOMMAND 
    cd /home/user1/DATA/ 
    for fullname in DATAFILES/*.zip; do 
    filename="${fullname##*/}" 
    echo $filename 
    line 57 done 
+0

您可以张贴所有的脚本,可能是问题出现在不贴线? – developer

+1

为什么在用户和密码前面有“报价”?我认为你应该在“$ fileupload”周围放双引号 –

+0

@linuxcdeveloper我已经更新了类似的小实线代码 – pasaico

回答

1

for循环没有正常结束。 done需要以分号开头,或单独一行。

for fullname in DATAFILES/*.zip; do 
filename="${fullname##*/}" 
echo $filename 
line 57 
done 

(在一个侧面说明,什么是line 57?)

+0

谢谢 丢失是在ENDFTPCOMMAND 之后完成的,“第57行”是完成的行号 – pasaico