2013-02-12 45 views
1

簡單的問題,是什麼我不知道是什麼的-在這兩個命令的意義su oracle與su-oracle的區別?

su oraclesu - oracle

之間的差異。

更新:

做ス神諭後,嘗試這sqlplus中,但它並沒有確定,但這樣做su - oracle,sqlplus的環境設置。

回答

2

根據該男子頁

-l  Simulate a full login. The environment is discarded except for HOME, SHELL, PATH, TERM, and USER. HOME and SHELL are modified as above. 
     USER is set to the target login. PATH is set to ``/bin:/usr/bin''. TERM is imported from your current environment. The invoked shell is 
     the target login's, and su will change directory to the target login's home directory. 

-  (no letter) The same as -l. 

簡而言之,如果你使用su - oracle您切換到用戶oracle和環境復位。沒有-,環境不會重置。

例如,如果沒有-

#(root) export HELLO=world 
#(root) su postgres 
$(postgres) echo $HELLO 
world 
$(postgres) 

而且隨着-

#(root) export HELLO=world 
#(root) su - postgres 
$(postgres) echo $HELLO 

$(postgres) 
0

su - oracle它啓動登錄shell,因此使用oracle用戶環境。 W/O連字符只是更改爲用戶oracle用戶;這會授予與oracle用戶相同的權限,因此您可以訪問oracle擁有的文件/目錄。