「sudo su root」和「sudo su - root」有什麼區別嗎?我知道-
讓 shell 成為登入 shell,但是它有什麼區別呢?它們之間的權限是否有所不同或環境變數發生任何變化?
答案1
登入 shell 運行~/.profile
(或特定於 shell 的等效項: .login
for *csh
、.bash_profile
、.zshprofile
等)。如果沒有-
,則只會執行特定於 shell 的互動式配置(.cshrc
, .bashrc
, .zshenv
;沒有什麼forash
或其派生詞,或 forksh
除非$ENV
設定正確和 sudo
傳播它)。另請注意,sudo
可以配置它的設置方式$HOME
,這決定了使用的是目標帳戶的點文件還是您自己的點文件(Debian 衍生品默認使用前者,OS X 默認使用後者) - 但su
與它一起使用將覆蓋它所有情況下的目標帳戶。