我的主目录中有一个.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 程序运行。