Answers:
采用:
chsh
输入您的密码并指出您要使用的外壳程序的路径。
对于Bash来说/bin/bash
。对于Zsh来说应该是/usr/bin/zsh
。
sudo chsh -s /bin/bash username
除了akira的答案之外,您还可以编辑/ etc / passwd文件以指定默认外壳程序。
您将找到类似于以下示例的行:
john:x:1000:1000:john,,,:/home/john:/bin/sh
外壳在末尾指定。
/etc/passwd
并且要小心,John的答案就是很好地利用系统提供的工具。
您可以检查终端程序。它可能配置为运行/ bin / sh而不是/ bin / bash
Bash仅对登录会话执行.bash_profile。.bashrc对所有bash会话都执行,而不仅仅是登录会话。尝试从.bashrc采购.bash_profile(避免循环依赖!),或将终端程序配置为将/ bin / bash -l作为shell程序运行。
一种选择是将启动脚本重命名为.profile。大多数Unix shell都可以得到该文件。
启用bash:
$ /bin/bash
更改用户的shell:
$ sudo usermod -s /bin/bash username
哪里:
-s, --shell SHELL new login shell for the user account
sudo
访问该系统?为什么要提供有关更改另一个用户的登录shell的说明?
要将任何shell设置为默认外壳,请首先查看以下内容,以验证其是否已在计算机上安装并被识别/etc/shells
:
$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
/usr/bin/fish
然后使用chsh
来更改您的外壳:
$ sudo chsh -s /usr/bin/bash $(whoami) # or sudo chsh -s /bin/bash $(whoami)
您的问题中没有足够的信息可供我确定,但是我之前遇到过同样的问题。假设您已经在密码输入中设置了/ bin / bash,这可能是终端启动的方式。
如果您要启动GUI终端,请说gnome-terminal
您可能希望Shell读取bash启动文件。但是,默认情况下,这在Ubuntu和其他系统上不会发生。
我在Ubuntu上修复它的方法是编辑gnome-terminal首选项,并将启动命令设置为bash -l
。 -l
是的缩写--login
。这告诉bash作为登录外壳程序启动,这导致它通过ssh登录时加载您启动时的启动脚本。
我敢肯定,这样做是有道理的,但是我发现它令人惊讶,而且令人烦恼,因为我在linux,cywgin和macos系统中共享相同的配置文件。
~/.profile
或~/.bash_login
,因为只有这三个来源之一。(我忘记了确切的顺序。)