Linux Shell中切换用户 su与su - 的区别

zhjn0 2010-12-17

在Linux Shell中遇到这么一个问题,在Oracle用户下运行一个shell,运行过程中需要切换到另外一个用户(load),删除该用户的一些文件。

大致思路如下(shell脚本的一部分):

passwd=load

su - load <<!

$passwd

cd ~/backup

rm *.txt

exit

!


顺便讲下su 和 su - 的区别


具体案例:

有人用root登陆。然后切换到oracle用户下,执行sqlplus 命令 却报错:‍command not found!

就是因为使用的是su ,而不是su -


另外还有个很明显的区别:

比如说 root用户在/root/目录下, su oracle,

切换到了oracle 用户,但是目录仍然在/root/下。

如果使用su - oracle

你可以发现目录也切换到oracle用户的家目录下。

相关推荐