Bash
使用“su”切換使用者只給我 $ 提示
我正在使用 Ubuntu 19,並且已經創建了一些使用者。在我創建並嘗試執行的最新使用者上:
su使用者
我只使用 $ 提示符登錄,但是當我以該使用者身份鍵入“bash”時,我得到:userx@myhost:
我的其他使用者都以 user@myhost 身份登錄。為什麼該使用者直接進入 $ 提示符?而且我的路徑似乎都不起作用。當我輸入ll時,它在我輸入“bash”之前不起作用。
很可能您在創建使用者時沒有為使用者設置登錄 shell,導致
su
預設為/bin/sh
. 如中所述man su
:The invoked shell is chosen from (highest priority first): The shell specified with --shell. If --preserve-environment is used, the shell specified by the $SHELL environment variable. The shell indicated in the /etc/passwd entry for the target user. /bin/sh if a shell could not be found by any above method.
使用 adduser 而不是 useradd 使這個過程更容易。
如果 /etc/passwd 中的使用者旁邊沒有列出登錄 shell,則可以確認這是問題所在。
您可以通過執行來解決此問題
usermod -s /bin/bash <username>