我正在尝试运行程序并在DCL中获取输出值。
在Linux平台脚本中如下
result=$(./tool -e $parameter1 $parameter2 )
echo "result:" $result
我尝试在HP openVMS平台上执行相同的脚本,但失败了。
有人可以提供样品或给我一些提示吗?
非常感谢。
参考: How to assign the output of a program to a variable in a DCL com script on VMS?
答案 0 :(得分:0)
您的“工具”的结果是什么?只要它是一行,对类似的最近问题How to store a result to a variable in HP OpenVMS DCL?的答案可能有所帮助。除此之外,使用带有临时输出文件的管道命令可能是最简单的解决方案。像
这样的东西$ PIPE tool -e argument1 argument2 >tmp.txt
$ TYPE tmp.txt
如果您不知道如何将参数传递给“工具”,请参阅how to run a c program with reading command line parameters in openvms?
答案 1 :(得分:0)
如果要在OpenVMS中重定向sys $输出,可以执行
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)
这用于退出“强制命令程序”
答案 2 :(得分:0)
我想你想检查$ STATUS DCL变量的值。