如何使用 Linux 命令找到我的 shell 版本?

新手上路,请多包涵

我想使用 Linux 命令了解我的 shell 版本。我尝试了以下命令,但它显示了我所在的 shell 的类型。

命令:

 echo $SHELL

结果:

 /bin/bash

原文由 sago 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 490
2 个回答

这将做到:

 $SHELL --version

就我而言,输出是:

 zsh 5.0.2 (x86_64-pc-linux-gnu)

原文由 Muhammad Sumon Molla Selim 发布,翻译遵循 CC BY-SA 3.0 许可协议

这取决于您是想知道默认登录 shell 的版本,还是您当前正在运行的 shell 的版本。它们不一定相同。

对于您的默认登录 shell,正如接受的答案所说, $SHELL --version 可能会起作用。大多数(但不是全部)shell 接受 --version 选项。 ( dash 没有。)这假设 $SHELL 的值没有改变(可能有正当理由这样做)。

对于您当前正在运行的 shell,如果它恰好是 bash 您可以键入:

 echo $BASH_VERSION

对于 tcsh

 echo $version

对于 zsh

 echo $ZSH_VERSION
echo $ZSH_PATCHLEVEL # shows more detailed information

对于 ksh

 echo $KSH_VERSION

对于 fish

 echo $version

同样,这假设相关变量没有被修改(很少有任何非恶意的理由来改变它)。

Bash 尤其有一个数组变量 $BASH_VERSINFO 以更易于以编程方式处理的形式提供更多信息。打印 $BASH_VERSINFO 只打印第一个元素;打印所有元素:

 echo "${BASH_VERSINFO[@]}"

原文由 Keith Thompson 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏