3

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

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

结果如下:

> pwd
/origdir
> tryit
/origdir

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

4

1 回答 1

5

对于在 USS shell 下运行的 REXX 执行程序,默认寻址环境是 SH。从使用 REXX 和 z/OS UNIX 系统服务手册:

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

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

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

于 2017-04-05T12:38:46.610 回答