【问题标题】:Change directory in REXX exec running in z/OS USS?更改在 z/OS USS 中运行的 REXX exec 中的目录?
【发布时间】:2017-04-04 13:36:07
【问题描述】:

我在 TSO 下的 USS shell 中,我有这个 exec(名为 tryit):

/* rexx */
"cd /differentdir"
"pwd"

结果如下:

> pwd
/origdir
> tryit
/origdir

换句话说,cd 命令的效果似乎只在命令本身的持续时间内持续。 REXX exec 有没有办法以一种可以在以下命令中识别的方式更改工作目录?

【问题讨论】:

  • 查看 REXX 系统调用环境。您所做的是临时的,因为默认情况下,这些命令中的每一个本质上都是带有命令字符串参数的单独 ADDRESS 语句。
  • @zarchasmpgmr 这正是我需要的提示。谢谢。

标签: zos chdir rexx uss


【解决方案1】:

对于在 USS shell 下运行的 REXX 执行程序,默认寻址环境是 SH。来自 Using REXX and z/OS UNIX System Services 手册:

请注意,内置 shell 命令在 shell 进程中运行,而不是在您的 REXX 进程中运行,并且无法更改 REXX 环境。例如,地址 sh 'cd /' 不会改变你的 REXX 进程的当前目录。

要对当前工作目录进行持久更改,请发出address syscall chdir 命令。来自同一手册:

如果您使用 chdir 更改正在运行的 REXX 程序中的目录 TSO/E 会话时,目录通常会重置为您的主目录 REXX 程序结束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    相关资源
    最近更新 更多