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

2024-01-08

我正在编写一个需要 Bash 4.x 的安装脚本。此安装脚本也可以在 OSX 上使用。我知道在 Linux 系统上我可以通过检查来获取 Bash 版本echo $BASH_VERSIONenv 变量,但如何在达尔文中获取 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.

This is not我想要的输出。我希望输出只是版本号,特别是主版本号。


echo $BASH_VERSION也适用于 Mac OS X:

$ echo $BASH_VERSION
3.2.57(1)-release

如果您需要检查他们是否安装了较新的 bash(例如通过 Homebrew 或 MacPorts),请调用bash这是在他们的路径中,您可以从该版本的内部执行该命令bash:

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

要仅获取版本的一个组件,可以使用array https://www.gnu.org/software/bash/manual/bashref.html#Arrays, BASH_VERSINFO,这样您就可以单独访问每个元素。如果您只想要主要版本(这是在我的系统上,我的登录 shell 是 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 OS X 中获取 Bash 版本号 的相关文章

随机推荐