macos自catalina(10.15)起默认shell为zsh,若echo $shell返回/bin/bash,需执行chsh -s /bin/zsh切换,并确认/etc/shells含该路径,再迁移配置至~/.zshrc后source生效。
macos 自 catalina(10.15)起已将终端默认 shell 设为 zsh,所以如果你当前看到 echo $shell 返回 /bin/bash,说明你的系统仍沿用旧配置,或曾被手动改回 bash。要切回 zsh(即恢复系统默认行为),只需几步即可完成。
确认当前 Shell 类型
先检查你现在的默认 Shell:
- 运行
echo $SHELL—— 显示当前登录 Shell 路径 - 运行
dscl . -read ~ UserShell—— 查看系统记录的登录 Shell
如果输出是 /bin/bash,那就需要切换。
确保 Zsh 在允许列表中
Zsh 通常预装,但仍需确认它被系统认可:
- 执行
cat /etc/shells - 检查输出中是否包含
/bin/zsh - 若没有,用管理员权限添加:
sudo sh -c "echo '/bin/zsh' >> /etc/shells"
执行切换命令
在终端中运行:
chsh -s /bin/zsh
输入当前用户密码后,命令无提示即表示成功。
重启终端生效
关闭所有终端窗口,重新打开一个新窗口。再运行 echo $SHELL,应显示 /bin/zsh。
迁移原有配置(可选但推荐)
Zsh 不读取 ~/.bash_profile 或 ~/.bashrc,你需要把常用设置搬过去:
- 把 PATH、alias、函数等复制到
~/.zshrc - 或在
~/.zshrc开头加上:source ~/.bash_profile
- 修改后执行
source ~/.zshrc立即生效,无需重启
验证是否真正切换成功
除了 echo $SHELL,还可检查:
- 新开终端后自动加载的是
~/.zshrc(不是.bash_profile) - 运行
which zsh应返回/bin/zsh - 输入
zsh --version可查看 Zsh 版本(通常为 5.9+)
不复杂但容易忽略。











