su oracle和su - oracle之间的区别?

时间:2013-02-12 22:08:30

标签: unix

简单的问题,

之间有什么区别

su oraclesu - oracle

我不确定-在两个命令中的含义是什么。

更新

在做了oracle之后,尝试了哪个sqlplus但是它没有被识别但是通过做su - oracle,设置了sqlplus环境。

2 个答案:

答案 0 :(得分:3)

根据手册页

 -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)

答案 1 :(得分:0)

su - oracle它启动登录shell,因此使用了oracle用户环境。 W / O连字符只是改为用户oracle用户;这授予与oracle用户相同的权限,因此您可以访问oracle拥有的文件/目录。

相关问题