当我设置默认 shell 时,它不会“采取”

当我设置默认 shell 时,它不会“采取”

我希望我的默认 shell 是 bash。然而,每当我登录我的服务器时,shell 显然是-bash

$ echo $0
-bash

如果我运行bash,我当然会在该会话中切换到 bash,但即使我这样做,它也不会坚持下去chsh -s /bin/bash

如果我希望 bash 成为我的默认 shell,是否缺少某些步骤?

答案1

bash 运行后,它会在其名称前面添加 ,以-表明它是一个登录 shell。

SHELL变量将包含实际二进制文件的路径。

答案2

你在跑步bash。 Try echo $BASH,它将指向执行的二进制文件。

答案3

表示-bash您正在运行 bash 作为登录 shell。

如果您/bin/bash从登录 shell 运行并运行echo $0,那么您将看到从登录 shell 执行的当前正在运行的命令(但不是登录 shell 本身)。

长话短说,您正在运行 bash 作为登录 shell。您可以通过在 中查找您的用户名来检查您指定的登录 shell /etc/passwd

答案4

杰森,

从您对 SvenW 答案的评论来看,您的实际问题似乎与您在问题中描述的问题有些不同。

你为什么不编辑你的问题? :-)

同时你可以看看这个帖子,它似乎可以解决您的问题。特别是你可以添加

source ~/.bashrc

到您的主目录中的文件.bash_profile(或者创建它,如果它不存在)。

相关内容