我为什么要升级Bash,弃用系统bash
1、想系统学习一遍shell做一个简单入门但只有Mac电脑(学shell还是要Windows设备,然后用vmware开虚拟机)
2、MacOS系统默认的bash是3.0版本,很多功能不支持,比如不支持关联数组,用macOS学习或写shell脚本带来很大不便
3、本机MacMini 2018,16G内存,256G硬盘(清完Xcode缓存和不需要的模拟器仅剩下50G);安装双系统或虚拟机磁盘空间都不太够(苹果设备性价比就是差,下一台PC肯定是台式电脑然后淘宝找大神远程安装双系统,黑苹果+Windows)
安装最新bash
bash --version
:<<EOF
默认结果为:
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin18) Copyright (C) 2007 Free Software Foundation, Inc.
EOF
brew install bash
:<<EOF
修改/etc/shells配置文件,在末尾添加一行:/usr/local/bin/bash
本机修改后
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/bash
EOF
which -a bash
:<<EOF
/usr/local/bin/bash # 刚安装最新5.0版本
/bin/bash # mac自带版本
EOF
切换最新bash
chsh -s /usr/local/bin/bash
切回老bash
chsh -s /bin/bash
切换zsh
chsh -s /bin/zsh
shell配置:
bash读取的配置文件:~/.bash_profile文件
zsh读取的配置文件:~/.zshrc文件
命令记录地址
echo $HISTFILE
:<<EOF
zsh:~/.zsh_history
老版本:~/.bash_history
新版本:~/.bash_sessions/xxxx.historynew
EOF
export HISTFILE=~/.custom_history
history
history -c
history | tail -n 10
history | grep 'keyword'