如何将我的 shell 更改为真正的 bash?

如何将我的 shell 更改为真正的 bash?

通过输入echo $0,我知道我正在使用tcshUbuntu 13.04 终端。但是无论使用chsh -s /bin/bash还是直接输入bash都无法将 bash 作为我的当前 shell。有趣的是,如果我输入sh,那么我的 shell 将是sh。最后我发现了一件更有趣的事情:每次我输入 后bash,我输入ps以查看变化,我发现我得到了两行:一个是新的 bash PID,另一个是新的 tcsh PID,这意味着每次我尝试使用 bash shell 后,系统都会立即自动将我的 shell 更改回 tcsh。我该如何解决这个问题?请帮帮我!谢谢!

答案1

通过使用echo $0,您将获得正在运行的进程的名称、在命令行上调用的文件的名称、当前正在执行的命令的名称(参见特殊 shell 变量)。返回你当前所在 shell 的正确命令是:

echo $SHELL

这可能就是你困惑的地方。没错,更改默认 shell 的正确命令是:

chsh

最好不要使用任何参数来观察究竟发生了什么。

答案2

首先键入cat /etc/shells以查看可用 shell 的列表,然后使用chsh它来交互和更改 shell。如果您想从脚本中使用它,请使用chsh --shell SHELLNAME
我还建议您阅读/etc/login.defs以了解您可以自定义的内容,这很有趣也很有用。祝
您有美好的一天。

相关内容