【猫咪教程】#1 更换Mac的默认Shell(更新bash4.3)

Mac中自带的Bash版本为3.x反正不是最新版,平时用起来不会有什么问题,但是呢有时候他就有问题了。

今天猫咪教程来学习 如何在Mac上安装bash最新版

请先务必安装好Homebrew再阅读本教程!

5.1 安装bash

打开终端窗口,用brew安装最新版的bash

1
$ brew install bash

安装好以后bash可执行文件的路径是/usr/local/bin/bash,并不会替换/bin/bash

但是这时直接运行bash是可以的,因为Homebrew设置PATH环境变量中/usr/local/bin更优先

所以安装好以后我们需要把用户的默认shell路径改掉

5.2 更改用户默认shell

首先要编辑一个文件/etc/shells

1
$ sudo vim /etc/shells
1
2
3
4
5
6
7
8
9
10
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

出于安全考虑,用户的默认shell只能从这个文件里的shell列表里选,所以/usr/local/bin/bash是不被信任的。只要把这个路径加在这个文件末尾就可以了,不然会报错chsh: /usr/local/bin/bash: non-standard shell

1
chsh -s /usr/local/bin/bash

这样就完成了,重启终端看看是不是用上新的Bash了?

5.3 注意

运行shell脚本的时候,如果第一行写#!/bin/bash还是会以老bash运行,但是#!/usr/local/env bash会用新bash。99%时候这个没有影响。