如何在 Linux 中更改 Shell
这个快速教程展示了如何检查正在运行的 shell、系统中可用的 shell 以及如何更改 Linux 中的默认 shell。
这个快速教程展示了如何检查正在运行的 shell、系统中可用的 shell 以及如何更改 Linux 中的默认 shell。
您可能已经知道 Linux 和其他类 Unix 系统上有多种可用的 shell。 Bash 是几乎所有 Linux 发行版上的默认 shell,但还有一些其他流行的 shell,例如:
克什
桀骜
鱼
西施
短跑
一些 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。例如,如果您安装了 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。
您是否注意到我必须指定 /etc/shells 文件中列出的完整路径?如果我使用 chsh -s Fish,它会给我一个类似“chsh:fish 是无效 shell”的错误。
你喜欢哪种外壳?
现在您已经了解了如何更改 shell,您还可以阅读如何在 Linux 中更改用户。
我希望这篇小文章可以帮助您更改 Linux 中的 shell。如果您考虑过更改默认 shell,那么您可能会使用 bash shell 以外的其他 shell。是哪个壳?为什么你比其他人更喜欢它?
请在下面的评论中分享您的观点。