Zsh vs. Bash

2024 年 8 月 29 日 | 阅读 2 分钟

Zsh shell是最流行的 shell 之一。它也被称为“Z shell”。虽然 bash shell 和 Zsh shell 都被称为强大的 shell,但它们也根据用户可能拥有的偏好有不同的要求。

由于这两个 shell 都在积极开发中,在这里过于具体是不明智的。下面给出了 Zsh 和 Bash 之间的一些重要区别

ZshBash
Zsh 提供了先进的 tab 补全功能,这些功能更快更智能(支持不区分大小写的补全,具有智能默认值)。Bash 缺少一些补全功能,与 Zsh 相比,速度不如 Zsh。
Zsh 默认情况下未安装在大多数 Linux/UNIX 机器上。Bash 是大多数 Linux/UNIX 机器中的内置 shell,这使得它在不同系统之间具有可移植性。
Zsh 支持递归路径扩展。这意味着如果只有一个路径(假设:/usr/local/bin),那么我们可以键入“cd /u/l/b”并按 tab 键来访问该路径。Bash 不提供对递归路径扩展的支持。但是,有一些替代方法,例如使用 vim 或命令补全 (compgen -c)。
Zsh 具有内置的拼写更正和近似补全功能,用于在目录名称或命令名称中键入错误。Bash 默认不支持拼写更正和补全功能。
Zsh 为几个插件框架和主题提供支持。Bash 对插件框架和主题的支持有限。
在 Zsh 中,'which command' 将显示别名的定义、函数的来源以及命令的位置。在 Bash 中,'which command' 仅显示命令的位置。

这就是我们区分 Zsh 和 Bash 的方式。


下一个主题Bash Hash 命令