如何在 Linux 中更改 Shell
您可能已经知道 Linux 和其他类 Unix 系统上有多个可用的 shell。Bash 是几乎所有 Linux 发行版的默认 shell,但还有一些其他流行的 shell 可用,例如:
一些 shell 以更用户友好的方式提供附加功能。以Fish shell为例。它会根据您之前输入的命令部分开始向您显示命令提示。如果您不想一直记住Linux 终端快捷方式,它非常方便。
让我们看看 Linux 系统中有关 shell 的一些内容。
如何知道默认shell?
要了解 Linux 系统中为您设置的默认 shell,您可以检查 SHELL 环境变量。通常,默认 shell 是 bash,显示如下:
echo $SHELL
/bin/bash
如何查看你当前正在使用的是什么shell?
没有任何一种方法可以100% 准确地告诉您所使用的 Shell 。
您可以尝试echo $0,它会向您显示如下输出:
echo $0
zsh
或者使用ps -p $$检查进程,如下所示:
ps -p $$
PID TTY TIME CMD
9625 pts/0 00:00:00 zsh
如何查看 Linux 系统上所有可用的 shell?
该文件列出了 Linux 系统上所有可用的 shell /etc/shells
。您可以使用 cat 命令或less 命令查看该文件的内容。
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/usr/bin/fish
/bin/zsh
/usr/bin/zsh
如何更改 shell 以使用另一个?
如果您想使用不同的 shell,只需输入其名称,即可登录到新 shell。例如,如果您安装了 zsh并想使用它,您只需使用:
zsh
您可以输入 exit 退出新的 shell 并返回到前一个 shell。
如何永久更改 Linux 中的默认 shell?
假设您非常喜欢 Fish shell,并且想要将其用作默认 shell,这样每次打开终端或 ssh 进入系统时,您都会使用它而不是默认的 bash shell。
Linux 允许您使用 chsh 命令更改默认 shell。更改您自己的登录用户的默认 shell 的最佳方法是使用 -s 选项指定 /etc/shells 文件中列出的 shell 名称。
chsh -s /usr/bin/fish
您必须退出系统以使更改生效;否则您会认为运行 chsh 并没有改变 shell。
你喜欢哪种外壳?
现在您知道了如何更改 shell,您还可以阅读如何在 Linux 中更改用户。
我希望这篇小文章能帮助您更改 Linux 中的 shell。如果您考虑过更改默认 shell,也许您使用的是 bash shell 以外的其他 shell。它是哪个 shell?为什么您更喜欢它而不是其他 shell?
请在下面的评论中分享您的观点。