You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在macOS(Catalina及更高版本)中将默认Shell从zsh切换回bash

macOS Catalina替换bash为zsh的原因
  1. 许可证合规问题:bash 4.x及以上版本采用GPLv3许可证,这类许可证条款对苹果这类商业公司存在潜在限制;而Catalina之前预装的bash 3.2是最后一个使用GPLv2的版本,已多年未更新,苹果选择替换为采用MIT许可证的zsh,规避后续许可风险。
  2. 功能体验升级:zsh完全兼容bash语法,同时提供更强大的特性——比如智能路径补全、主题自定义、丰富的插件生态(如oh-my-zsh),比老旧的bash 3.2更适配现代终端使用场景。
能否切换回bash及具体操作

完全可以切换回bash,分两种场景:

  • 临时切换:打开终端后直接执行bash,回车即可进入bash环境,关闭终端后自动恢复默认zsh。
  • 设置为默认Shell:
    1. 先确认系统自带bash的路径,执行命令:which bash,通常输出为/bin/bash
    2. 执行chsh -s /bin/bash,输入用户登录密码后生效,重启终端即默认进入bash。
    3. 图形界面操作:打开「系统设置」→ 找到「用户与群组」→ 右键点击当前用户选择「高级选项」→ 在「登录Shell」下拉菜单中选择/bin/bash,点击「好」保存设置。
切换回bash是否合理

是否合理取决于实际需求:

  • 适合切换的场景:如果工作流严重依赖bash专属脚本(注意:Catalina自带bash是3.2版本,不支持4.x新语法),或完全习惯bash交互逻辑,切换是合理的。
  • 不建议切换的场景:若无特殊依赖,更推荐保留zsh——它兼容绝大多数bash用法,能获得更好的功能体验,且苹果后续系统更新会偏向zsh的优化。
切换回bash的注意事项
  • 版本限制:macOS自带bash停留在3.2版本,无法通过系统更新升级到4.x及以上。若需要新版本bash,可通过Homebrew安装(brew install bash),之后需将/usr/local/bin/bash添加到/etc/shells文件中,才能设置为默认Shell。
  • 配置文件切换:切换默认Shell后,zsh的配置文件(如.zshrc)不再生效,需确保bash的配置文件(.bash_profile、.bashrc)配置正确,避免环境变量、别名等失效。
  • 长期兼容性:苹果后续macOS版本可能逐步弱化对bash的支持,部分系统工具的默认交互更适配zsh,长期使用bash可能遇到小范围兼容性问题。

内容的提问来源于stack exchange,提问作者P i

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 13:08:26