Bash
更改使用者時出錯
每次我使用
su myName
更改我的使用者時,我總是會遇到這 3 個錯誤。-bash: zstyle: command not found -bash: autoload: command not found -bash: compinit: command not found
僅在切換到普通使用者時才會發生。我該如何擺脫它?
系統:
- 拱 x86_64
- 終端:Bash(之前嘗試使用 zsh 但後來將其刪除)
編輯:
bash
在控制台中 執行時也會發生同樣的錯誤
如開始輸出的每一行的*-bash*
su
所示,已嘗試啟動登錄shell (1)。也就是說,將讀取 /etc/profile、myName_Home_Dir/.bash_profile、myName_Home_Dir/.bash_login 和 myName_Home_Dir/.profile 並執行在其中找到的命令。
因此,我們可以假設
zstyle
,autoload
和compinit
是無意中遺留在上述文件之一中的命令,如果以前使用另一個 shell,很可能是 /etc/profile 或 myName_Home_Dir/.profile 。(1) 正如Gilles在以下評論中所指出的那樣,如果您實際上
su myName
按照您的說法su myName
應該只啟動了一個互動式shell(而不是閱讀/etc/profile
and中的說明myName_$HOME/.profile
),那麼您就不應該是這種情況。因此,您幾乎可能要求明確觸發登錄 shell 的su - myName
同義詞。su --login myName