如何查找我在 Linux 中使用的 Shell [4 种方法]
这里有四个简单的命令来找出您在 Linux 中使用的 shell。
我在 Linux 中使用哪个 Shell?这还是一个问题吗?当然如此。 Linux 系统有多种可用的 shell。一些最受欢迎的是:
巴什
克什
桀骜
tcsh
在某些情况下您可能会想知道这一点。
例如,如果您登录到一个您不认识的 Linux 系统,您可能想知道默认情况下使用的是哪个 shell。如果您经常在 Linux 中更改 shell,您可能想知道您现在使用的是哪个 shell。
让我向您展示各种 Linux 命令,以了解您正在使用哪个 shell。
找出您在 Linux 中使用的 shell
现在没有任何命令可以为所有 shell 提供 100% 准确度的输出。但这些命令对于大多数 shell 来说应该是准确的。
方法一
您可以使用特殊的 shell 参数 $$。 “$$”表示您正在运行的 shell 的当前实例的进程 ID。这是只读参数,无法修改。
如果您尝试查看进程信息,它应该会显示进程名称,即此处的 shell。
ps -p $$
输出应该是这样的:
PID TTY TIME CMD
15012 pts/0 00:00:00 zsh
方法二
您也可以使用 0 美元。 $0 可以是 shell 的名称或 shell 脚本的名称。当它在 shell 脚本中使用时,它表示脚本的名称。
但如果您在没有文件名的 shell 中使用它,它将显示 shell 的名称。
echo $0
输出将仅包含 shell 的名称:
echo $0
bash
方法三
您还可以使用 pstree 命令。 pstree 的意思是进程树,它将所有正在运行的进程显示为一棵树。
如果不提供任何参数,它将显示 init 或 systemd 中的所有进程。
但是,如果您给它一个进程 ID,它会将所有进程显示为树的根。换句话说,它将显示该进程启动的所有进程。
您可以使用我们在方法 1 中看到的相同 $$bash 参数。
pstree $$
方法4
最后一种方法是使用 proc 目录中的文件。如果您阅读过有关在 Linux 中检查 CPU 信息的文章,您可能已经知道该目录包含有关 Linux 系统的运行时系统信息。
您可以使用以下命令来获取您正在使用的 shell:
cat /proc/$$/cmdline
输出应该给出 shell 的名称。
额外提示:了解 shell 的版本
所以你学会了如何知道你正在使用哪个 shell。您使用的 shell 版本怎么样?您只需在正在运行的 shell 名称后添加 –version 即可获取 shell 的版本。
例如,如果您正在运行 zsh,则可以使用以下命令:
zsh --version
输出将为您提供版本信息:
zsh 5.4.2 (x86_64-ubuntu-linux-gnu)
我希望这个快速教程可以帮助您了解您正在运行哪个 shell。不要忘记查看另一个关于在 Linux 中更改 shell 的简单技巧。
顺便问一下,您是否使用其他方法来检查您正在使用哪个 shell?为什么不在评论部分与我们分享呢?