HP NonStop Guardian中判断宏/可执行文件运行优先级及切换方法
HP NonStop Guardian环境下TACL宏与可执行文件的执行优先级问题
1. 输入RunMe时如何判断运行哪个版本
TACL执行命令时,会按以下优先级顺序查找匹配项:
- 首先检查当前TACL会话中本地定义的宏(比如通过
DEFINE命令创建的临时宏) - 接着按
MACROPATH环境变量指定的目录顺序,查找同名的TACL宏文件 - 如果未找到匹配的宏,最后按
PATH环境变量指定的目录顺序,查找同名的可执行文件
要快速确认实际会运行的版本,直接执行以下命令:
WHEREIS RunMe
该命令会列出所有找到的匹配项及优先级排序,排在第一位的就是输入RunMe时会执行的版本。
也可以单独验证宏或可执行文件的存在性:
- 检查是否存在匹配的宏:
MACRO? RunMe - 检查可执行文件状态:
FILEINFO $SYSTEM.SYSEXE.RunMe
2. 修改环境设置默认运行可执行文件版本
有几种可行的方式:
移除宏路径中的对应目录:从
MACROPATH中删除包含RunMe宏的目录(比如示例中的$SYSTEM.MACROS),这样TACL找不到宏,就会自动去PATH中查找可执行文件。修改MACROPATH的命令:SET MACROPATH [原有路径列表,移除$SYSTEM.MACROS]如果需要永久生效,将该命令添加到TACL启动配置文件(如
$HOME.TACLCSTM或$SYSTEM.TACL.TACLCSTM)。创建别名指向可执行文件:用
ALIAS命令直接将RunMe映射到目标可执行文件,别名优先级高于宏和PATH搜索,会话内立即生效:ALIAS RunMe $SYSTEM.SYSEXE.RunMe若要永久生效,将该
ALIAS命令添加到TACL启动配置文件。临时指定执行可执行文件:如果不需要修改环境,每次直接用
RUN命令指定路径:RUN $SYSTEM.SYSEXE.RunMe
内容的提问来源于stack exchange,提问作者Patrick O'Hara
相关产品推荐
相关产品推荐

