歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> shell切換用戶執行後面語句,su與su -的區別

shell切換用戶執行後面語句,su與su -的區別

日期:2017/3/1 9:55:37   编辑:SHELL編程

shell裡如果需要切換用戶,然後以指定用戶的身份運行一些命令,比如需要用Oracle用戶向.bash_profile文件裡寫入一行“ORACLE_BASE=/oracle/app”的內容

可以用下面的語句

su - oracle <<!

echo "ORACLE_BASE=/oracle/app" >> .bash_profile

exit

!

關於su和su -的區別

切換用戶是可以使用su tom或者su - tom來實現,但是兩者有區別

su只是切換身份,但shell環境仍然是原用戶的shell

su -是連用戶的shell環境一起切換

切換了shell環境,PATH的環境變量才有效

舉例子:

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

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

如果使用su - tom

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

這也是造成一些命令報錯:command not found的原因

Copyright © Linux教程網 All Rights Reserved