我正在尝试运行一个程序并在 DCL 中获取输出值。
在 Linux 平台脚本中,如下所示
result=$(./tool -e $parameter1 $parameter2 )
echo "result:" $result
我尝试在 HP openVMS 平台上执行相同的脚本,但失败了。
谁能提供样品或给我一些提示?
非常感谢。
我正在尝试运行一个程序并在 DCL 中获取输出值。
在 Linux 平台脚本中,如下所示
result=$(./tool -e $parameter1 $parameter2 )
echo "result:" $result
我尝试在 HP openVMS 平台上执行相同的脚本,但失败了。
谁能提供样品或给我一些提示?
非常感谢。
你的“工具”的结果是什么?只要是一行,就可以回答最近的一个类似问题如何将结果存储到 HP OpenVMS DCL 中的变量中?可能会有所帮助。除此之外,使用带有临时输出文件的管道命令可能是最简单的解决方案。就像是
$ PIPE tool -e argument1 argument2 >tmp.txt
$ TYPE tmp.txt
如果您不知道如何将参数传递给您的“工具”,请参阅如何通过读取 openvms 中的命令行参数来运行 ac 程序?
我想你想检查 $STATUS DCL 变量的值。
如果你想在 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)
这用于退出“俘虏命令程序”