张芷铭的个人博客

bashzsh 都是 Unix/Linux Shell,基于 sh 发展而来。bash 是服务器标配,zsh 是桌面优选。

关系图谱

1
2
3
sh(鼻祖,基础语法)
  ├─ bash(正统继承者,Linux 默认)
  └─ zsh(功能拓展者,macOS 默认)

核心区别

维度bashzsh
兼容性最高,兼容所有 sh 脚本兼容 bash 大部分语法
默认系统Linux 发行版macOS
命令补全基础补全智能补全(参数、选项)
插件支持无原生支持丰富(oh-my-zsh)
主题定制手动配置原生支持

使用场景

场景推荐
服务器/脚本开发bash
个人桌面zsh
运行老脚本bash

切换命令

1
2
3
4
5
6
7
8
# 查看当前 Shell
echo $SHELL

# 切换到 zsh
chsh -s /bin/zsh

# 切换到 bash
chsh -s /bin/bash

总结

  • bash:稳定兼容,服务器首选
  • zsh:功能丰富,桌面首选
  • 两者语法高度兼容

Comments