我想使用 Linux 命令了解我的 shell 版本。我尝试了以下命令,但它显示了我所在的 shell 的类型。
命令:
echo $SHELL
结果:
/bin/bash
原文由 sago 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想使用 Linux 命令了解我的 shell 版本。我尝试了以下命令,但它显示了我所在的 shell 的类型。
命令:
echo $SHELL
结果:
/bin/bash
原文由 sago 发布,翻译遵循 CC BY-SA 4.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 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答795 阅读✓ 已解决
2 回答3.2k 阅读
这将做到:
就我而言,输出是: