什么是 VMS 中 unix 的等效命令

what is equivalent command of unix which in VMS

我在 vms.I 中有一个工具 xyz 想要在 unix[=15= 中获取 installed.For 示例的位置] 我们可以通过使用 which command.So 来实现这一点请帮助我 vms 等效于此命令。

VMS中没有which的等效命令。要找到此类工具的位置,取决于该工具在 VMS 上的设置方式。 VMS 命令可以是 DCL 命令,又名 DCL 动词,或外部命令,又名 DCL 符号。我假设您只需在 DCL 命令提示符下键入 "xyz" 即可调用 xyz 工具。

DCL 动词在 DCL 命令中定义 table。您的系统管理员可能已将 xyz 工具添加到 DCL 命令 table 之一,例如在系统范围的 LOGIN 命令过程中使用 $ SET COMMAND 命令。如果您的工具设置为 DCL 命令,您可能需要获取并查看 VERB 实用程序(该实用程序可从 VMS 免费软件 CD 获得),它将向您显示 XYZ 命令,以及 DCl 命令 $ VERB XYZ.它的输出将列出一个 "image" 行,因此该关键字之后的任何内容都是该工具的 executable 图像的(文件)规范。这里默认的目录是SYS$SYSTEM,这是一个逻辑名。请记住,规范可以是(完整的)VMS 文件规范或只是一个逻辑名称。

对于外国命令 - 几乎总是用于从 Unix 移植的工具 - 您可以使用 DCL 命令 $ SHOW SYMBOL XYZ 检查 DCL 符号。如果以这种方式设置该工具,您将看到类似 "XYZ == $file_ specification" 的输出。同样,文件规范可以是(完整的)VMS 文件规范或只是一个逻辑名称。

此外,最新版本的 VMS 支持自动执行外部命令。也就是说,executable 映像(和命令程序)在逻辑名称 DCL$PATH 指向的 directoy/-ies 中找到,将自动用作外部命令。所以你的工具xyz可能就是这样一个目录下的一个文件。这将是找到其位置的最简单方法:$ DIRECTORY DCL$PATH:XYZ 应该这样做。

由于 user2116290 提到了免费软件 VERB 实用程序,我将插入另一个名为 DFU 的免费软件实用程序(对于 Disk/File 实用工具)。

DFU 可以做的一件事是在磁盘卷的索引文件中搜索与特定名称匹配的所有文件。 (它还可以按日期、文件大小、文件所有者等进行搜索)。

DFU 可以做很多其他有用的事情。查看我上面链接的网站以获取更多信息。

一种定位 EXE 映像的实用方法。那就是我会做的:

  1. 询问您的同事或 VMS 管理员

  2. 检查一个外部命令,例如MYEXE (MYEXE :== $SOMEWHERE:[DIR]MYEXE.EXE):

    SHOW SYMBOL/GLOBAL MYEXE
    DIR 'f$string(MYEXE - "$")
    
  3. 检查一个外部批处理命令,例如我的电脑 (MYCOM :== @SOMEWHERE:[DIR]MYCOM.COM):

    DIR 'f$string(MYCOM - "@")
    
  4. 检查定义的 DCL 命令动词,例如MYVERB(SET COM MYCOMMANDS.CLD)——这个是最棘手的,取决于 .CLD 文件的处理方式),您可能需要一个 VERB 实用程序(VMS 免费软件)从 DCLTABLES.EXE

    HELP MYVERB
    HELP VERB
    DIR SYS$SYSTEM:MYVERB.EXE
    

但是,如果您在搜索中到了这一点,我实际上会查看 LOGIN 过程,这是可能从 .CLD 文件设置此类动词的地方……除非直接安装了自定义 DCLTABLES。所以它 很棘手,应该直接交给管理员。

   SEARCH SYS$LOGIN:LOGIN.COM MYVERB, "SET COM", ".CLD"
   SEARCH SYS$MANAGER:SY*.COM MYVERB, "SET COM", ".CLD"

不过,最简单的方法是询问您的同事或您友好的 VMS 管理员...除非您是他们两个:)

您可以使用....

$ PRODUCT SHOW HISTORY

以上命令将帮助您显示已安装的产品。