为什么 zsh 教程这么少!

一直想写点什么来介绍 zsh。国内搜 zsh 教程清一色都是教你怎么配置 OMZ 的,让人无语……

zsh 非常强大,然而很多人只是单纯把它当成 bash with many plugins 用,在写 zsh 脚本时都是当成 bash 来写的。这实在是暴殄天物,而且带来了不少问题:

  1. 首先牢记:zsh 不兼容 bash!!! 很多人都误以为 zsh 兼容 bash,这是不正确的,它们只是继承了同一套语法,然而各自都在其基础上进行了不同程度的扩展。把 zsh 当成 bash 来写,大概率就会踩坑然后抱怨 zsh 辣鸡。
  2. 作为一个注重交互式的 shell,zsh 引入了大量方便的功能以便减少对外部命令的依赖。而当成 bash 来写,你写出的 zsh 插件会比 zsh 慢数倍甚至数十倍。
  3. zsh 解决了 bash 中的不少坑点,比如默认不进行 Shell Word Splitting。当成 bash 来写,你的代码不仅坑多,行数也多

考虑到系统化的长篇教程已经有 zshguide 了,我决定写一系列短篇教程,针对 ZSH 的某一方面进行全面的介绍。

要说最全面的教程,那肯定是 ZSH 的文档了(虽然我常常吐槽它晦涩难懂)。事实上我也确实打算照着 ZSH 文档来写,甚至本来打算起名为“ZSH 文档翻译”的,但是起名翻译的话感觉就给我的文章套上了一个框框,发挥起来不是很自由。因此还是决定叫教程,这样我觉得有用的地方就可以多提一下,没用的地方就不讲了

14 Expansion