用于将文件从服务器FTP到大型机的Unix脚本

用于将文件从服务器FTP到大型机的Unix脚本,unix,ftp,mainframe,Unix,Ftp,Mainframe,我编写了一个脚本,如下所示,将文件发送到大型机。但它不起作用请帮忙 $1是服务器中的文件名 $2是大型机数据集名称。 文件名正确..我可以在处理后发送的电子邮件中看到。 这有什么问题 function ftp_mainframe { mainFrame=mvs.xxx.com ftp -i -v $mainFrame <<END quote SITE lrecl=400 recfm=fb blksize=27600

我编写了一个脚本,如下所示,将文件发送到大型机。但它不起作用请帮忙 $1是服务器中的文件名 $2是大型机数据集名称。 文件名正确..我可以在处理后发送的电子邮件中看到。 这有什么问题

function ftp_mainframe
    {     mainFrame=mvs.xxx.com    
      ftp -i -v $mainFrame <<END    
  quote SITE lrecl=400 recfm=fb blksize=27600    
      echoToEmailFile "COMMENT" "$1 $2"    
      put $1 $2   
      quit   
    END
    }
功能ftp\u主机
{mainFrame=mvs.xxx.com

ftp-i-v$mainFrame如果你想上传一个成员到一个数据集,你需要用“.”包围它,所以put命令类似于

put test.txt 'QUAL1.QUAL2(MEMNAME)'

您是否尝试过从命令行手动运行上述操作?此外,没有,我在哪里看到您指定了用户ID或密码它FTP'ed,但它看起来像是FTP'ed到HFS服务器..没有推送到mainframeIf,“HFS服务器”是指“分层文件系统”然后就是大型机-它只是大型机上的一个不同的文件系统。这很重要,因为它排除了身份验证问题。请确认。如果数据作为HFS数据集进入大型机,则“登录”用于大型机上的unix,而不是z/OS登录,这将允许数据到达您期望的位置。看起来您必须使用“匿名”(默认情况下),因为我也看不到登录名的指定位置,如果存在匿名登录名,它将不会出现在z/OS上。@Bill,Unix系统服务是一种ESM权限,与TSO、CICS、IMS或任何其他ESM权限的身份验证凭据相同(至少我们是这样做的)。z/Linux当然是一个单独的操作系统,但我希望是“HFS”要指的是USS,而不是z/Linux。当您说“我现在尝试了”时,请准确地向我们显示您尝试了什么,以及在客户端会话或大型机操作日志中出现的任何错误消息。