0

我正在尝试运行一个程序并在 DCL 中获取输出值。

在 Linux 平台脚本中,如下所示

result=$(./tool -e $parameter1 $parameter2 )
echo "result:" $result

我尝试在 HP openVMS 平台上执行相同的脚本,但失败了。

谁能提供样品或给我一些提示?

非常感谢。

参考: 如何将程序的输出分配给 VMS 上 DCL com 脚本中的变量?

4

3 回答 3

0

你的“工具”的结果是什么?只要是一行,就可以回答最近的一个类似问题如何将结果存储到 HP OpenVMS DCL 中的变量中?可能会有所帮助。除此之外,使用带有临时输出文件的管道命令可能是最简单的解决方案。就像是

$ PIPE tool -e argument1 argument2 >tmp.txt
$ TYPE tmp.txt

如果您不知道如何将参数传递给您的“工具”,请参阅如何通过读取 openvms 中的命令行参数来运行 ac 程序?

于 2016-02-25T08:56:50.857 回答
0

我想你想检查 $STATUS DCL 变量的值。

于 2016-03-19T00:04:26.823 回答
0

如果你想在 OpenVMS 中重定向 sys$output,你可以这样做

1)$ define/user sys$output file.lis

这意味着对于下一个图像激活,输出将进入 file.lis

例如,命令

mc authorize sh system

如果您第二次发出,只会返回提示

mc authorize sh system

它将在屏幕上“正常”显示

一个变体是

define sys$output file.lis my_command my_other_command deassign sys$output

所有命令的输出都会转到 file.lis,直到您取消分配 sys$output

2)@my_script.com/output=file.lis

你运行你的 OpenVMS 脚本,输出到 file.lis

3)@tt:/output=file.lis @myscript CTRL Z

退出类似于 2)

这用于退出“俘虏命令程序”

于 2016-03-16T17:43:26.843 回答