如何在OS X中获取Bash版本号

Sindhu S

我正在编写一个需要Bash 4.x的安装脚本。该安装脚本也可以在OSX上使用。我知道在Linux系统上可以通过检查echo $BASH_VERSIONenv变量来获取Bash版本,但是如何在Darwin中获取bash版本呢?运行bash --version将给出:

GNU bash, version 4.3.33(1)-release (x86_64-apple-darwin14.1.0)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

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

不是我想要的输出。我希望输出只是版本号,尤其是主要版本号。

布莱恩·坎贝尔

echo $BASH_VERSION 在Mac OS X上也可以使用:

$ echo $BASH_VERSION
3.2.57(1)-release

如果您需要通过调用bash其路径中的来检查是否已安装了更新的bash(例如通过Homebrew或MacPorts),则可以从该版本的bash以下版本中执行该命令

$ bash -c 'echo $BASH_VERSION'
4.3.30(1)-release

为了得到只是其中一个版本的组件,有一个数组BASH_VERSINFO,这样你就可以访问每一个元素。如果您只想要主要版本(这是在我的系统上,我的登录外壳是Bash 3,但是我安装了Bash 4进行脚本编写):

$ echo ${BASH_VERSINFO[0]}
3
$ bash -c 'echo ${BASH_VERSINFO[0]}'
4

您还可以看到数组的全部内容:

$ echo "${BASH_VERSINFO[@]}"
3 2 57 1 release x86_64-apple-darwin14
$ bash -c 'echo "${BASH_VERSINFO[@]}"'
4 3 30 1 release x86_64-apple-darwin14.0.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章