bash和zsh都是 Unix/Linux Shell,基于sh发展而来。bash 是服务器标配,zsh 是桌面优选。
关系图谱
sh(鼻祖,基础语法)
├─ bash(正统继承者,Linux 默认)
└─ zsh(功能拓展者,macOS 默认)核心区别
| 维度 | bash | zsh |
|---|---|---|
| 兼容性 | 最高,兼容所有 sh 脚本 | 兼容 bash 大部分语法 |
| 默认系统 | Linux 发行版 | macOS |
| 命令补全 | 基础补全 | 智能补全(参数、选项) |
| 插件支持 | 无原生支持 | 丰富(oh-my-zsh) |
| 主题定制 | 手动配置 | 原生支持 |
使用场景
| 场景 | 推荐 |
|---|---|
| 服务器/脚本开发 | bash |
| 个人桌面 | zsh |
| 运行老脚本 | bash |
切换命令
# 查看当前 Shell
echo $SHELL
# 切换到 zsh
chsh -s /bin/zsh
# 切换到 bash
chsh -s /bin/bash总结
- bash:稳定兼容,服务器首选
- zsh:功能丰富,桌面首选
- 两者语法高度兼容