如何查找我在 Linux 上使用的 shell如何查找我在 Linux 上使用的 shell如何查找我在 Linux 上使用的 shell如何查找我在 Linux 上使用的 shell
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何查找我在 Linux 上使用的 shell

问题:我经常在命令行中切换不同的 shell。有没有一种快速、简单的方法来找出我当前所处的 shell?另外我怎样才能找到shell的版本?

找出您所在的外壳

有多种方法可以判断您当前所在的 shell。最简单的方法是使用特殊的 shell 参数。

其一,名为 $$ 的特殊参数表示当前正在运行的 shell 实例的 PID。该参数是只读的,不能修改。因此,以下命令还将显示正在运行的 shell 的名称:


$ ps -p $$

  PID TTY          TIME CMD
21666 pts/4    00:00:00 bash

上述命令适用于所有可用的 shell。

如果您没有使用 csh,另一种查找当前 shell 的方法是使用名为 $0 的特殊 shell 参数,它表示当前正在运行的 shell 或 shell 脚本的名称。这是 Bash 特殊参数之一,但也可在其他 shell 中使用,例如 sh、zsh、tcsh 或 dash。使用 echo 命令打印出其值将告诉您当前所在的 shell 的名称。


$ echo $0

bash

不要与名为 $SHELL 的单独环境变量混淆,该变量设置为默认 shell 的完整路径。因此,该变量不一定指向您当前使用的 shell。例如,即使您在终端中调用不同的 shell,$SHELL 也保持不变。


$ echo $SHELL

/bin/shell

简而言之,为了找出当前的 shell,您应该使用 $$ 或 $0,但不能使用 $SHELL。

找出您正在使用的 Shell 版本

一旦知道您所在的 shell,您可能想知道它是什么版本的 shell。为此,请在命令行中键入 shell 的名称,后跟 --version。例如:

对于bash:


$ bash --version

GNU bash, version 4.3.30(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

对于 zsh:


$ zsh --version

zsh 5.0.7 (x86_64-pc-linux-gnu)

对于 tcsh:


$ tcsh --version

tcsh 6.18.01 (Astron) 2012-02-14 (x86_64-unknown-linux) options wide,nls,dl,al,kan,rh,nd,color,filec

对于某些 shell,您还可以使用特定于 shell 的变量(例如,$BASH_VERSION 或 $ZSH_VERSION)。


$ echo $BASH_VERSION

4.3.8(1)-release
©2015-2025 艾丽卡 support@alaica.com