2017-04-04 60 views
2

我在TSO下USS殼,我有此exec(名爲tryit):更改在z/OS USS中運行的REXX exec目錄?

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

這裏的結果:

> pwd 
/origdir 
> tryit 
/origdir 

換句話說,的影響cd命令似乎只在命令本身的持續時間內持續。有沒有辦法讓REXX exec以一種可以在下面的命令中識別的方式來改變工作目錄?

+0

看看REXX系統調用環境。你在做什麼是臨時的,因爲默認情況下,這些命令中的每一個本質上都是一個單獨的帶命令字符串參數的ADDRESS語句。 – zarchasmpgmr

+0

@zarchasmpgmr這正是我需要的提示。謝謝。 –

回答

4

對於在USS shell下運行的REXX exec,默認尋址環境是SH。從Using REXX and z/OS UNIX System Services手冊:

需要注意的是內置的shell命令運行shell過程,而不是你的REXX過程,不能改變REXX環境。例如,地址sh'cd /'不會更改您的REXX進程的當前目錄。

要持續更改當前工作目錄,請發出address syscall chdir命令。從相同的手冊:

如果使用CHDIR更改一個REXX程序的目錄是在 TSO/E會話中運行,該目錄通常復位到你的home目錄 REXX程序結束時。