天天看點

Linux系統中不同使用者所使用的$PATH環境變量的差別

事情是這樣的,在程式設計時發現分别使用“sudo -s“指令和“su - root“指令切換為超級使用者後,能夠執行的操作略有不同,譬如在"/etc/profile"檔案中修改的PATH環境變量就不太一樣,“sudo -s“指令切換後的超級使用者使用的$PATH比較少,納悶。

貼幾張圖說明問題。

Linux系統中不同使用者所使用的$PATH環境變量的差別
Linux系統中不同使用者所使用的$PATH環境變量的差別
Linux系統中不同使用者所使用的$PATH環境變量的差別
Linux系統中不同使用者所使用的$PATH環境變量的差別
Linux系統中不同使用者所使用的$PATH環境變量的差別

可以看出,sudo指令使用的是普通使用者的環境變量;

su - root指令和su -指令使用的是超級使用者的環境變量;

那麼sudo -s指令是咋回事?

我之前隻知道sudo -s可以切換超級使用者,并且不更改目前所在目錄,沒想過環境變量的差異這麼大,怪不得之前用交叉編譯器時敲這個指令後執行不了