Mac 升级 Bash 到最新版本
文章目录
- 一、场景概述
- 二、前置安装
- 三、升级安装
- 四、置为默认(可选)
一、场景概述
Mac
自带的bash shell
版本为 2007 年的发行版本3.2.57(1)-release
由于该版本授权为
GPLv2
, 3.2 的下一个版本为 4.0,使用GNU General Public License v3 (GPLv3)
授权,苹果一直没有想采用该协议的授权,所以一直没有升级由于在工作中需要编写一些
shell
脚本,需要对编写的脚本进行debug
调试,而不巧的是,支持调试功能的bash
在 4.0 以后,所以才索性将bash
升级到目前最新到版本5.1.8
二、前置安装
采用
Mac
安装软件可以使用brew
来实现非常到方便,所以如果是第一次在Mac
种采用命令行到方式安装软件,不妨采用brew
来安装点击此处查看具体到安装和卸载步骤
三、升级安装
查看当前
bash
版本 // /bin/bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19)
采用
brew
安装brew install bash
P.S
- 如果此处安装出错,比如证书过期、等等错误,可以采用
brew doctor
来自检brew
工具包,根据自检的警告提示执行相应的提示命令(可能会升级你的Mac
系统的小版本)
- 如果此处安装出错,比如证书过期、等等错误,可以采用
查看安装的
bash
// which -a bash /usr/local/bin/bash /bin/bash
P.S
安装新版的
bash
在/usr/local/bin
下面,而系统自带的bash
在/bin
下面如果想使用新版本的
bash
必须要保证PATH
中的/usr/local/bin
排在/bin
的前面cd ~ cat .bash_profile
查看
bash
版本 ~/ bash --version GNU bash,版本 5.1.8(1)-release (x86_64-apple-darwin19.6.0) 版权所有 (C) 2020 自由软件基金会 许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>本软件是自由软件,您可以自由地更改和重新发布。 在法律许可的情况下特此明示,本软件不提供任何担保。 ~/ /bin/bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin19) Copyright (C) 2007 Free Software Foundation, Inc.
四、置为默认(可选)
方案一:(不改变原有系统的
/bin/bash
)将新版本的
bash
路径添加到/etc/shells
文件中,作为系统默认的shell
即login shell
(登录到系统时所使用的shell
)/bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh /usr/local/bin/bash
执行
chsh
设置为默认shell
sudo chsh -s /usr/local/bin/bash
P.S
在写
bash
脚本的时候,第一行默认写法是#!/bin/bash
显示设置使用/bin/bash
执行脚本如果想确保使用最新版本的
bash
执行可以在脚本的第一行修改为#!/usr/local/bin/bash
方案二:(改变了原有系统的
/bin/bash
)替换系统自带
bash
,并做备份sudo mv /bin/bash /bin/bash.origin sudo ln -s /usr/local/opt/bash/bin/bash /bin/bash
由于
MacOS
下的sh
并不是直接链接bash
,而是bash
的一个文件拷贝,所以还要替换默认的sh
指向的命令为bash
sudo mv /bin/sh /bin/sh.origin sudo ln -s /usr/local/opt/bash/bin/bash /bin/sh
P.S 如果以上替换显示没有权限的操作方式
重启
OSX
系统,然后按住Command + R
出现界面之后,选择
Utilities menu
中Terminal
在
Terminal
中输入csrutil disable
关闭SIP
(csrutil enable
打开SIP
)重启
reboot OSX
重启后,以上的重命名和软链接即可进行操作了。待操作完毕以后,再将SIP
开启即可。
Mac 升级 Bash 到最新版本相关推荐
- linux centos升级php_CentOS使用yum升级php到最新版本
CentOS的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到最新版本,比较常见的是升级到5.2.6版本 ...
- pip show pip可以查看pip的版本以及升级pip到最新版本
输入命令:pip show pip可以查看pip的版本,如果不是最新版最后会有提示如下: 输入命令:python -m pip install --upgrade pip可以升级pip到最新版本.
- mac更新go到最新版本
mac更新go到最新版本 记录一下如何简单快捷(只需三步)的更新mac golang 到最新版本,适合任何版本的go 查看版本 > go version go version go1.17.4 ...
- Linux升级gcc到最新版本gcc-11.2.0
Linux升级gcc到最新版本gcc-11.2.0 当前环境 更新方法 1. 下载最新的源码包并解压缩 2.下载依赖及配置文件 3. 配置 4. 编译 5. 安装 6. 验证gcc版本 7. 删除旧版 ...
- Linux升级gcc到最新版本--gcc-9.1.0
Linux升级gcc到最新版本–gcc-9.1.0详细步骤 一.下载gcc最新的源码包–>wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0. ...
- yum如何升级php,CentOS 5.3 通过yum升级 php到最新版本的方法
方法一 CentOS5.3的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.2.9,比较常见的是升级 ...
- 升级bugzilla 到最新版本成功 bugzilla 3.2
升级bugzilla 到最新版本成功 bugzilla 3.2 Stable Release (3.2) Bugzilla 3.2 is our current stable release in t ...
- Mac下升级ruby至最新版本
升级ruby Mac OS自身安装的有ruby,但是版本较低,为2.0.x 而安装CocoaPods,最低版本是2.2 查看ruby版本 ruby --version 安装homebrew ruby ...
- mac升级php后旧版本还在,Mac下更新自带的PHP版本
Mac一般自带的PHP版本为5.*,现在PHP7.2.9都已经出来了,由于PHP7性能的飙升,和Laravel最新框架至少需要7.1的支持,所以需要更新Mac自带的PHP版本到最新版本. 1.下载和安 ...
- mac升级php后旧版本还在,老版本mac如何升级系统
老版本mac如何升级系统? 在 Mac App Store 的搜索栏里搜索 macOS Mojave,点击下载,在高级中勾选"下载可用更新",根据提示下载安装即可完成系统升级,12 ...
最新文章
- LeetCode.3-最长无重复字符子串(Longest Substring Without Repeating Characters)
- Scala函数作为参数传递示例
- 树莓派3 mysql端口_树莓派3 之 安装Mysql服务
- python 日志函数参数_将日志信息作为参数传递给函数
- android Animation 动画。淡出动画
- JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会
- GitHub(从安装到使用)
- 特斯拉宣布在美召回5974辆Model 3和Model Y
- C语言调用拼多多api,vb CommonDialog 属性
- 拓端tecdat|R语言用相关网络图可视化分析汽车配置和饮酒习惯
- jdk的wsimport方法实现webservice客户端调用服务
- VB.NET合并图片
- 多节点什么网络取得技术性突破_我国学者研究“多节点量子网络”取得基础性突破...
- 线性方程组——Jacobi迭代和G_S迭代
- 通达信macd接口指标
- 双窗格文件管理器:Commander One PRO Mac中文版
- 生成的包含卫兵:一次替代实用主义
- 在不开启回收站的情况下恢复Hadoop误删除文件
- 生成带logo的二维码
- php获取证书编号没有serialNumberHex只有serialNumber处理方法
热门文章
- AD20 制作 Logo
- ‘github提交超时‘
- 为什么说龙妈能活到最后?
- 在内核中创建文件 filp_open/sys_open
- Visual Studio 2015创建ASP.NET5项目“DNX SDK version 'dnx-clr-win-x86.1.0.0-beta5' 无法安装的错误...
- 李白打酒 递归 C语言
- 通过摄像机视频设备或者流媒体服务器SDK获取到数据转换成RTMP流实现网页手机微信播放
- 2021年,小灰都读了哪些书?
- 服务器开机系统进不去怎么办,开机就进BIOS进不去系统怎么处理
- 黄瓜客户端java_建造者模式