当我在我的服务器上登录时,root
一切正常,但当我登录时,myusername
bash 无法正常工作。
该行开头为:
$
代替
myusername@myserver:~$
所有特殊键(如箭头键、Tab 键等)都将不起作用。
当我输入时,bin/bash
它再次起作用,但我想解决问题或bin/bash
在登录时自动运行。我怎样才能解决这个问题?
答案1
你只需要改变你的外壳。作为该用户,运行:
$ chsh -s /bin/bash
然后退出并重新登录。
执行此操作后,提示看起来不像您想要的那样,您需要开始调整环境的 PS1 变量。
答案2
你需要改变你的外壳。运行命令
chsh -s /bin/bash
然后再次登录。
然而,并非所有用户都有权更改自己的 shell。如果您使用sudo
请记住添加您的用户名命令chsh
为
sudo chsh <username> -s /bin/bash
否则你会无意中更改 root 的 shell。
答案3
一个可能的原因是默认 shell我的用户名不是bash。
您可以使用以下命令检查当前用户的 shell:
echo ${SHELL}
echo $0
要永久更改用户 shell,请参阅man chsh
,例如:
chsh -s /bin/bash
答案4
只是想再添加一件事。
如果需要 sudo 访问权限来更改该用户的 bash,那么您还需要在 sudo 命令中提及您的用户名,因为如果没有用户名,它将应用于 root 用户。
$ sudo chsh -s /bin/bash <user>