pwd /origdir > tryit /ori" /> pwd /origdir > tryit /ori" /> pwd /origdir > tryit /ori"/>

Change directory in REXX exec running in z/OS USS?

1k Views Asked by At

I'm in the USS shell under TSO, and I have this exec (named tryit):

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

Here's the result:

> pwd
/origdir
> tryit
/origdir

In other words, the effects of the cd command appear to last only for the duration of the command itself. Is there a way for the REXX exec to change the working directory in a way that will be recognized in following commands?

1

There are 1 best solutions below

0
Oh Come On On BEST ANSWER

For REXX execs running under the USS shell, the default addressing environment is SH. From the Using REXX and z/OS UNIX System Services manual:

Note that built-in shell commands run in the shell process, not your REXX process and cannot alter the REXX environment. For example, address sh 'cd /' will not change the current directory of your REXX process.

To make a persistent change to the current working directory, issue the address syscall chdir command. From the same manual:

If you use chdir to change a directory in a REXX program that is running in a TSO/E session, the directory is typically reset to your home directory when the REXX program ends.