加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-16 01:50:34 所属栏目:安全 来源:网络整理
导读:我正在编写一个需要 Bash 4.x的安装脚本.此安装脚本也可以在OSX上使用.我知道在 Linux系统上我可以通过使用echo $BASH_VERSION env变量检查来获得Bash版本但是如何在Darwin中获得bash版本?运行bash –version将给出: GNU bash,version 4.3.33(1)-release (
我正在编写一个需要 Bash 4.x的安装脚本.此安装脚本也可以在OSX上使用.我知道在 Linux系统上我可以通过使用echo $BASH_VERSION env变量检查来获得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

要获得该版本的一个组件,有一个array,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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读