openvms - 如何在 HP openVMS DCL 中启用区分大小写?

标签 openvms dcl

我的DCL如下(TEST.EXE只打印输入)

$ DEFINE DCL$PATH SYS$DISK:[],SYS$LOGIN:,SYS$SYSTEM:
$ PIPE TEST.EXE abc | DEFINE/JOB RET_VALUE @SYS$PIPE
$ x = f$logical("RET_VALUE")
$ WRITE SYS$OUTPUT x

我想让这个DCL显示结果是“abc”。 但这个 DCL 结果将显示“ABC”。

我尝试在 DCL 中添加“SET PROCESS/CASE_LOOKUP=SENSITIVE”,但不起作用。

有人有任何建议或提示吗?非常感谢。

最佳答案

您是否检查过 How to store a result to a variable in HP OpenVMS DCL? 中是否接受了答案对这个问题有帮助吗?

管道中的 DEFINE 命令是 DEFINE/JOB RET_VALUE abc,通过 DCL 更改为 DEFINE/JOB RET_VALUE ABC。当引用等效名称(即 DEFINE/JOB RET_VALUE "abc")时,DCL 不会更改为大写。但是,当您编写 "@SYS$PIPE" 时,您将使用字符串 @SYS$PIPE 作为等效名称。换句话说,在字符串中,重定向器 @ 不再起作用。因此,您必须按原样从 SYS$PIPE 获取字符串,例如使用 READ 获取字符串,如链接答案中所示。

PS:...您可能希望从管道命令中的 test.exe 中删除 .exe

关于openvms - 如何在 HP openVMS DCL 中启用区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36595532/

相关文章:

c - 如何在openvms中读取命令行参数来运行c程序?

cobol - 远离安腾

java - 为什么静态单例是避免 'DCL' 的简单而优雅的解决方案?

vms - 在 dcl 脚本中隐藏错误消息

c - 快速读取文件(stream_lf 格式)

Java BufferedReader openvms

document - 搜索 VMS 文档工具(VAX 文档?)