如何将 Bash 设为 Ubuntu 上的默认 shell?

如何将 Bash 设为 Ubuntu 上的默认 shell?

我的主目录中有一个.bash_profile,但它在登录时没有运行。如果我执行以下操作,那么事情似乎如我所料:

ssh myhost
bash
source ~/.bash_profile

但通常这一切都是在登录时发生的。你觉得呢?

答案1

使用:

chsh

输入您的密码并说明您想要使用的 shell 的路径。

对于 Bash 来说,应该是/bin/bash。对于 Zsh 来说,应该是/usr/bin/zsh

答案2

除了 akira 的答案之外,您还可以编辑您的密码文件 /etc/passwd文件来指定你的默认 shell。

您将发现类似以下示例的一行:

john:x:1000:1000:john,,,:/home/john:/bin/sh

最后指定了 shell。

答案3

启用 bash:

$ /bin/bash

更改用户的 shell:

$ sudo usermod -s /bin/bash username

在哪里:

  -s, --shell SHELL             new login shell for the user account

答案4

您可以检查一下您的终端程序。它可能配置为运行 /bin/sh 而不是 /bin/bash

Bash 仅在登录会话中执行 .bash_profile。.bashrc 在所有 bash 会话中执行,而不仅仅是登录会话。尝试从 .bashrc 获取 .bash_profile(避免循环依赖!)或配置终端程序以将 /bin/bash -l 作为 shell 程序运行。

相关内容