我有点不懂 Linux,所以如果这是一个非常基本的问题,我很抱歉。我尝试在超级用户上寻找其他答案,但我不确定我在寻找什么。
所以,这就是我的问题。当我登录我的 VPN 服务器时,它不再自动打开 Bash。相反,它只是给我
$
代替
$ user@host / location
当我以 root 用户身份登录时,它实际上会在登录时加载 bash。我可以使用
/bin/bash
命令,但我更了解发生了什么,首先改变了这一点,以及如何恢复它。
答案1
运行此命令:
grep $USER /etc/passwd
(解释如下。或者使用cat /etc/passwd | grep $USER
,两者都是等效的,但后者可能更容易理解。但它效率较低,因此不推荐用于脚本等。感谢@Mat 的建议。)
它将返回你的用户帐户信息。这是我的:
gronostaj:x:1000:1000:gronostaj,,,:/home/gronostaj:/bin/bash
最后一个冒号 ( ) 后面的部分/bin/bash
是我的默认 shell。看来你的是sh
。这意味着你要么明确将其设置为默认 shell ( /bin/sh
),要么没有默认 shell 或默认 shell 无效,因此 Linux 会回退到sh
最基本的 shell。
切换到bash
,运行此命令:
chsh -s /bin/bash
它将要求您输入密码并将默认 shell 更改为bash
。