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

时间:2016-04-13 10:24:24

标签: 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”,但不可行。

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

1 个答案:

答案 0 :(得分:3)

您是否检查How to store a result to a variable in HP OpenVMS DCL?中接受的答案是否有助于此问题?

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

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