Изменить каталог в REXX exec, работающем в z/OS USS?
Я в оболочке USS под TSO, и у меня есть этот exec (названный tryit):
/* rexx */
"cd /differentdir"
"pwd"
Вот результат:
> pwd
/origdir
> tryit
/origdir
Другими словами, эффекты команды cd, по- видимому, сохраняются только на протяжении самой команды. Есть ли способ для REXX exec изменить рабочий каталог таким образом, который будет распознаваться в следующих командах?
1 ответ
Для REXX execs, работающих под оболочкой USS, средой адресации по умолчанию является SH. Из руководства по использованию REXX и z/OS UNIX System Services:
Обратите внимание, что встроенные команды оболочки выполняются в процессе оболочки, а не в вашем процессе REXX, и не могут изменять среду REXX. Например, адрес sh 'cd /' не изменит текущий каталог вашего процесса REXX.
Чтобы внести постоянные изменения в текущий рабочий каталог, введите address syscall chdir
команда. Из того же руководства:
Если вы используете chdir для изменения каталога в программе REXX, которая выполняется в сеансе TSO/E, каталог обычно сбрасывается в ваш домашний каталог после завершения программы REXX.