我有一个旧脚本,该脚本用于通过x3270从IBM服务器抓取信息。但是,我无法使其正常工作。这就是我所说的:

/usr/X11R6/bin/x3270 -script -model 3279-2 -geom +110+160 -efont 3270-20 'Script( "/usr/X11R6/lib/X11/x3270/qmon_script.sh" )'


我得到一个x3270窗口和以下错误消息:主机名语法错误:多个端口名

我正在调用的脚本处理了所有的连接详细信息,但是x3270似乎很困惑,并且在考虑'Script(“ /usr/X11R6/lib/X11/x3270/qmon_script.sh”)'是主机名(显然不是)正确)。

我一直找不到像这样通过x3270调用脚本的任何好的示例。有任何想法吗?

最佳答案

根据documentation for x3270


  -脚本
  
  使x3270从标准输入读取命令,并将结果写入标准
  输出。这些命令的协议记录在x3270-script(1)中。


因此,不允许在命令行上提供脚本本身。相反,您应该通过标准输入提供脚本。您可能想要:

echo 'Script( "/usr/X11R6/lib/X11/x3270/qmon_script.sh" )' | /usr/X11R6/bin/x3270 -script -model 3279-2 -geom +110+160 -efont 3270-20


或许:

/usr/X11R6/bin/x3270 -script -model 3279-2 -geom +110+160 -efont 3270-20 < /usr/X11R6/lib/X11/x3270/qmon_script.sh

10-08 13:57