Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux Shell中切換用戶 su與su – 的區別

Linux Shell中切換用戶 su與su – 的區別

日期:2017/2/7 14:39:28      編輯:Linux教程
 

在Linux Shell中遇到這麼一個問題,在Oracle用戶下運行一個shell,運行過程中需要切換到另外一個用戶(load),刪除該用戶的一些文件。

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

passwd=load

su – load <<!

$passwd

cd ~/backup

rm *.txt

exit

!

順便講下su 和 su – 的區別

‍前者只是切換了身份,但SHELL環境仍然是原用戶的SHELL;www.linuxidc.com而後者連用戶和SHELL環境一起切換成新用戶的了。只有切換了SHELL環境才不會出現PATH環境變量錯誤。
具體案例:

有人用root登陸。然後切換到oracle用戶下,執行sqlplus 命令 卻報錯:‍command not found!

就是因為使用的是su ,而不是su -
另外還有個很明顯的區別:

比如說 root用戶在/root/目錄下, su oracle,

切換到了oracle 用戶,但是目錄仍然在/root/下。

如果使用su – oracle

你可以發現目錄也切換到oracle用戶的家目錄下。
 

Copyright © Windows教程網 All Rights Reserved