我在 TSO 下的 USS shell 中,我有这个 exec(名为tryit):
/* rexx */
"cd /differentdir"
"pwd"
结果如下:
> pwd
/origdir
> tryit
/origdir
换句话说,cd命令的效果似乎只在命令本身的持续时间内持续。REXX exec 有没有办法以一种可以在以下命令中识别的方式更改工作目录?
对于在 USS shell 下运行的 REXX 执行程序,默认寻址环境是 SH。从使用 REXX 和 z/OS UNIX 系统服务手册:
请注意,内置 shell 命令在 shell 进程中运行,而不是在您的 REXX 进程中运行,并且无法更改 REXX 环境。例如,地址 sh 'cd /' 不会改变你的 REXX 进程的当前目录。
要对当前工作目录进行持久更改,请发出address syscall chdir
命令。来自同一手册:
如果您使用 chdir 更改在 TSO/E 会话中运行的 REXX 程序中的目录,则该目录通常会在 REXX 程序结束时重置为您的主目录。