這是一個很容易讓人忽視的問題:
習慣了root,但是新工作環境中,不提倡使用root操作,所以經常用到su命令。使用中經常遇到這樣的問題:
我從root切換到普通用戶後,有時候直接運行ifconfig命令可以運行,有時候提示找不到命令,需要加全路徑/sbin/ifconfig運行。後來研究發現:
su命令只是切換了到了普通用戶身份,但Shell環境仍然是root用戶的Shell;這時候可以查看環境變量,echo $PATH 還是root用戶的,包含/sbin/等等,那麼這時候直接執行ifconfig是沒有問題的。
su - 用戶名 這樣子切換到普通用戶身份,連同Shell環境一起切換成普通用戶身份,,pwd一下,發現工作目錄變成了普通用戶的工作目錄。這時候查看環境變量,發現已經是普通用戶的環境變量了。這時候直接執行ifconfig就得加絕對路徑了
同理,普通用戶切換到root用戶道理一樣,所以,提倡用su -