shell脚本执行期间找不到文件错误

时间:2014-09-30 13:14:57

标签: shell ftp

运行我的shell脚本时遇到一些奇怪的问题。 shell脚本主要用于通过FTP发送文件。它只需一个参数作为文件名,并在目标FTP路径上发送文件。

现在,当我使用Putty执行shell脚本时,它会毫无问题地发送文件。但是,当我尝试使用某些外部应用程序运行shell脚本时,我收到错误,指出未找到指定的路径。我已经尝试在脚本中设置路径并检查文件权限。一切都很好看。请帮我提一些线索和指示。

这些是我得到的错误

  1. 直接传递文件名时出错。 Myfile.csv:路径名中的文件或目录不存在。

  2. 传递文件的完整路径时出错。 /serv/scripts/test/Myfile.csv:系统找不到指定的路径。

  3. 以下是shell脚本。

     ftp_put()
     {
       ftp -ni server_name << EOF
       user anonymous anonymous
       cd BHU
       put $FTPFILE
       quit
       EOF
     }
     FTPFILE=$1
     ftp_put
    

1 个答案:

答案 0 :(得分:0)

here-doc 的结束字必须是该行的唯一字符。不允许使用前导或尾随空格。

唯一的例外是此表单:<<-EOF,其中结尾字的前面可能只有制表符


你的功能应该像这样结束

    put $FTPFILE
    quit
EOF
}
相关问题