运行我的shell脚本时遇到一些奇怪的问题。 shell脚本主要用于通过FTP发送文件。它只需一个参数作为文件名,并在目标FTP路径上发送文件。
现在,当我使用Putty执行shell脚本时,它会毫无问题地发送文件。但是,当我尝试使用某些外部应用程序运行shell脚本时,我收到错误,指出未找到指定的路径。我已经尝试在脚本中设置路径并检查文件权限。一切都很好看。请帮我提一些线索和指示。
这些是我得到的错误
直接传递文件名时出错。 Myfile.csv:路径名中的文件或目录不存在。
传递文件的完整路径时出错。 /serv/scripts/test/Myfile.csv:系统找不到指定的路径。
以下是shell脚本。
ftp_put()
{
ftp -ni server_name << EOF
user anonymous anonymous
cd BHU
put $FTPFILE
quit
EOF
}
FTPFILE=$1
ftp_put
答案 0 :(得分:0)
here-doc 的结束字必须是该行的唯一字符。不允许使用前导或尾随空格。
唯一的例外是此表单:<<-EOF
,其中结尾字的前面可能只有制表符。
你的功能应该像这样结束
put $FTPFILE
quit
EOF
}