很多mac用户在使用终端工具时,都会发现不同版本的macos默认shell环境不同:近几年推出的新系统默认是zsh,而多年前的旧版本系统默认还是bash,不少用户因为使用习惯或是开发环境适配需求,需要修改默认的shell环境。这篇文章整理了最简单的通用操作步骤,哪怕是刚接触mac的新手也能一步完成,不用踩网上很多过时教程的坑。

第一步:查看当前系统可用的shell列表
首先打开启动台中的「终端」应用,在命令行输入指令 `cat /etc/shells`,按下回车键后,终端就会输出当前系统支持的所有shell的完整路径,常见的结果包括/bin/bash、/bin/zsh、/bin/sh等。如果你要切换的是比较小众的shell比如fish,需要先通过homebrew完成安装,确认它出现在可用列表后再进行后续操作。

第二步:执行指令修改默认shell
确认你要切换的目标shell的完整路径后,输入修改指令 `chsh -s 目标shell路径`,举个例子:如果你要把默认从zsh改成bash,就完整输入`chsh -s /bin/bash`,如果要把旧系统的默认改成zsh,就输入`chsh -s /bin/zsh`。输入完成按下回车后,终端会要求你输入mac的开机解锁密码,输入过程中终端不会显示密码字符或是占位符,输入完成后直接回车即可。这里要注意一个常见坑:必须填写第一步查到的完整路径,只写bash或zsh会直接报错,无法完成修改。

第三步:验证修改结果
修改完成后一定要完全退出终端应用,再重新打开,仅新建标签页会沿用旧的配置。重新打开后输入`echo $shell`,回车后输出的路径就是当前默认shell,如果和你设置的一致,就说明修改成功了。如果修改失败,检查路径是否正确后重试即可,极少情况需要重启mac生效。如果只是临时使用其他shell,不需要修改默认,直接输入shell名称回车就能临时切换,关闭终端后就会恢复原配置,适合临时测试场景使用,不用反复修改默认配置。全文约635字。



































