Bash基础:在MacOS上确认版本与升级Bash的方法_macos bash_淼叔的博客-程序员秘密

技术标签: # MacOS基础  # Shell脚本编程  MacOS  BASH  

这篇文章记录一下在MacOS上Bash版本的确认和升级方法。


事前确认

由于MacOS在新版中已经开始使用zsh作为缺省shell,首先需要确认当前shell是否是Bash,使用如下环境变量即可确认

环境变量:SHELL

liumiaocn:~ liumiao$ echo $SHELL
/bin/bash
liumiaocn:~ liumiao$ 

版本确认

使用如下环境变量即可确认BASH的版本信息

环境变量:BASH_VERSION

liumiaocn:~ liumiao$ echo $BASH_VERSION
3.2.57(1)-release
liumiaocn:~ liumiao$ 

当前稳定版本确认

执行命令:brew info bash

liumiaocn:~ liumiao$ brew info bash
bash: stable 5.0.18 (bottled), HEAD
Bourne-Again SHell, a UNIX command interpreter
https://www.gnu.org/software/bash/
Not installed
From: https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git/Formula/bash.rb
License: GPL-3.0-or-later
==> Options
--HEAD
	Install HEAD version
==> Analytics
install: 17,928 (30 days), 54,717 (90 days), 287,380 (365 days)
install-on-request: 15,244 (30 days), 46,240 (90 days), 239,390 (365 days)
build-error: 0 (30 days)
liumiaocn:~ liumiao$ 

可以看到当前稳定版本为5.0.18

更新BASH

执行命令:brew install bash

liumiaocn:~ liumiao$ brew install bash
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/bash-5.0.18.catalina.bottle.2.tar.gz
==> Downloading from https://d29vzk4ow07wi7.cloudfront.net/6a701a90139e32ff22532978c5280548a2d32b96944c2b3cb1beedd912eda827?response-con
######################################################################## 100.0%
==> Pouring bash-5.0.18.catalina.bottle.2.tar.gz
  /usr/local/Cellar/bash/5.0.18: 150 files, 10.3MB
liumiaocn:~ liumiao$

因为本文环境使用的sh为3.2的bash,此处安装的bash为5.0,会发现两者共存的情况。

liumiaocn:~ liumiao$ ls -l /bin/sh
-rwxr-xr-x  1 root  wheel  31440 Jul 10 06:30 /bin/sh
liumiaocn:~ liumiao$ 
liumiaocn:~ liumiao$ bash
bash-5.0$ echo $SHELL $BASH_VERSION
/bin/bash 5.0.18(1)-release
bash-5.0$ 
bash-5.0$ sh
sh-3.2$ echo $SHELL $BASH_VERSION
/bin/bash 3.2.57(1)-release
sh-3.2$ 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/liumiaocn/article/details/110463957

智能推荐

pnpm : 无法加载文件 C:\Users\86183\AppData\Roaming\npm\pnpm.ps1,因为在此系统上禁止运行脚本。_键盘敲烂工资上万的博客-程序员秘密

今天下载了一个后台管理模板,在使用时报错,后来才发现了问题。我使用的是这个模板,向下滑发现在这个发现了问题,在上一个项目中我是使用的npm来进行安装依赖和运行打包的,在看到这里时才发现了问题,解决的方法就是。

hdu 1087 Super Jumping! Jumping! Jumping!(dp)_diansitao5461的博客-程序员秘密

hdu 1087 Super Jumping! Jumping! Jumping!http://acm.hdu.edu.cn/showproblem.php?pid=1087ProblemDescriptionNowadays,akindofchessgamecalled“SuperJumping!Jumping!Jumping!”isv...

为什么投资要趁早?_程序员的成长之路的博客-程序员秘密

程序员的成长之路互联网/程序员/技术/资料共享关注阅读本文大概需要 2.8 分钟。前言这个号是我平时更新投资理财的地方,没怎么推过,大家应该第一次看到。我是个程序员,工作之余也在学习各...

JSON数据的NULL值与时间类型的转换处理_东四先生的博客-程序员秘密

JSON数据的NULL值与时间类型的转换处理**传递JSON数据时有可能会出现NULL值不显示,还有就是时间类型的字符串会出现问题。这个时候我们可以利用 GSON 对 json 数据中的时间类型字符串进行处理(setDateFormat(“yyyy-MM-dd HH:mm:ss”))。GSON转换对象属性null 保留属性方法(serializeNulls())。下面开始上菜 ...

C++ TIMER与线程的关系,以及WM_TIMER消息的不准确性_c++ timer线程_Simple Simple的博客-程序员秘密

C++ TIMER与线程的关系,以及WM_TIMER消息的不准确性一,SetTimer介绍二,定时器与线程的关系三,WM_TIMER的不准确性四,解决方案一,SetTimer介绍SetTimer函数定义如下:UINT_PTR SetTimer(HWND hWnd, // 窗口句柄UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器UINT...

16.webpack typescript环境搭建_胖鹅68的博客-程序员秘密

文章目录文章参考安装依赖库webpack.config.js 配置解析 ts或者 tsx 类型文件添加 `tsconfig.json` 配置文件files 支持glob通配符测试 typescript 文件文章参考typescript基础教程typescript-handbook 安装依赖库cnpm install ts-loader --save-devcnpm install ...

随便推点

Solr入门之Lucene&Solr临近查询之SpanQuery_solr spannearquery_当以乐的博客-程序员秘密

Lucene中用来控制临近查询使用如下: //要查询的词语列表   词语要在几个编辑距离内  是否要按照顺序       SpanNearQuery nearQuery = new SpanNearQuery(new SpanQuery[]{new SpanTermQuery(new Term("name", "户外")),new SpanTermQuery(new Term("nam

QT动画之消息推送框_sundynes的博客-程序员秘密

QT动画之消息推送框这几天项目中用到了做一个消息提示的动画,这里写了一个小测试Demo,直接上代码: #ifndef CHNSYSLAWTIPWIDGET_H #define CHNSYSLAWTIPWIDGET_H #include <QPropertyAnimation> #include <QTextEdit&

VS2010下MFC对话框中插入ActiveX控件时无法创建窗口问题(winocc.cpp line:329/325)_winocc.cpp line 329_不跑步就等肥的博客-程序员秘密

项目需要用VS2010写了两个ActiveX控件,但是集成到主软件(主软件用VS2015编写)中时一直报错winocc.cpp(line:(VS2010)329/(VS2015)325),软件中一共四个activeX控件,只有我的两个控件相互冲突,然后自己用VS2010写了一个MFC对话框测试控件,发现这两个控件不能同时创建,只创建其中一个、或者把其中一个创建几次都没有问题,唯独在两个控件同时...

apache旧版本下载地址:http://archive.apache.org/dist/httpd/_archive apache_南方布衣的博客-程序员秘密

http://archive.apache.org/dist/httpd/archive.apache.orgThis site contains the historical archive of old software releases.For current releases, please visit the mirrors. Name

mysql下载安装安装包_mysql下载安装包及安装步骤_储闻道的博客-程序员秘密

mysql.msi的安装包链接:https://pan.baidu.com/s/1-pkLJgA_Vf-6dtka9Tlj_w提取码:1vr1安装步骤1.找到你下载的mysql安装软件双击安装2.出现如下界面勾选 I accpet the license terms,点击Next3.根据需求选择你需要的类型,点击NextDevelop Default:默认开发类型,安装MySQL服务器以及开发My...

dubbo提供者报错Decode argument[1] failed: java.lang.String cannot be cast to java.util.SortedMap_decode argnum failed_周虽旧邦其命维新的博客-程序员秘密

dubbo消费者在启动的过程中,提供者报错如下:[11:14:12|WARN |(com.alibaba.dubbo.rpc.protocol.dubbo.DecodeableRpcInvocation)]=[ [DUBBO] Decode argument[1] failed: java.lang.String cannot be cast to java.util.SortedMap, d...

推荐文章

热门文章

相关标签