如何找到我正在运行的 bash 版本?

Zab*_*bba 180 command-line bash

(学习 bash)我试图检查 bash 版本,所以我输入了/bin/bash -v.

这会向屏幕输出大量文本(.bashrc 的内容以及源自它的其他文件)。

由于该命令,我是否可以搞砸一些事情(例如覆盖一些配置文件/设置不正确的环境变量等)?

我也找不到有关-v开关用途的文档。

小智 181

-vbash的参数代表verbose,它指示bash 打印出尽可能多的关于它正在做什么的信息。在启动时,它会打印出它正在读入的所有配置。

要打印 bash 的版本信息,请使用bash --version.

  • 或者,如果您已经在运行 bash shell,则可以输出特殊 BASH_VERSION 变量的内容。`echo "$BASH_VERSION"`。还有一个特殊的数组 (BASH_VERSINFO) 在单独的元素中包含每个版本号。`if ((BASH_VERSINFO[0] < 4)); 然后回显“抱歉,您至少需要 bash-4.0 才能运行此脚本。” >&2; 出口1;菲` (39认同)
  • 错字,应该是类似`[ "${BASH_VERSINFO}" -lt 4 ]` 或 `[ "${BASH_VERSINFO[0]}" -lt 4 ]` (3认同)

小智 108

运行 bash (例如 from gnome-terminal)时,您可以检查BASH_VERSION环境变量的值。

$ echo $BASH_VERSION
4.2.37(1)-release
Run Code Online (Sandbox Code Playgroud)

如果该值为空,则您没有运行bash.

  • 这比只运行 `bash --version` 更好,因为它确认您当前正在运行 bash,而不仅仅是您的系统上安装了 bash。 (14认同)
  • +1 `bash --version` 不显示您当前使用的 bash。 (2认同)

小智 41

有一个快捷键指示当前的 shell 信息显示出来:

Ctrl+ x Ctrl+v

man bash

   display-shell-version (C-x C-v)
          Display version information about the current instance of bash.
Run Code Online (Sandbox Code Playgroud)

如果您弄乱了环境变量,这是最好的选择。


use*_*own 8

不,一切都好。来自man bash

   --verbose
          Equivalent to  -v.
Run Code Online (Sandbox Code Playgroud)

它只是不像往常那样沉默。尝试

--version 
Run Code Online (Sandbox Code Playgroud)

反而。