Bash Shell我们都知道,可是你了解过 Zsh shell吗?

举报
wljslmz 发表于 2022/07/28 00:23:37 2022/07/28
【摘要】 您可能已经知道 Linux/Unix 中有各种可用的 shell,Bash 是大多数 Linux 发行版上最流行和默认的 shell。 另一个流行的 shell 是Zsh,它功能强大,也是 macOS ...

您可能已经知道 Linux/Unix 中有各种可用的 shell,Bash 是大多数 Linux 发行版上最流行和默认的 shell。

另一个流行的 shell 是Zsh,它功能强大,也是 macOS 中的默认 Shell

现在,问题来了,哪些特性使 Zsh 成为流行的选择,您甚至应该费心使用它吗?

让我来回答。

什么是zsh?

“Z shell”最初是由 Paul Falstad 在普林斯敦大学读书时创建的,Zsh 整合了其他流行 Shell 中的许多有用功能,例如 Bourne-Again Shell (Bash)、Korn Shell (ksh)、C-shell (csh) 和 tcsh。

因此,Zsh 旨在提供与这些 shell 的某种程度的兼容性,从而允许更高的用户采用率。

如今,Zsh 是一个大型开源项目(未维护 Paul Falstad),拥有庞大的用户和贡献者社区,自 2019 年以来,它一直是 Apple macOS 的默认 Shell。

Bash 和 Zsh 的区别?

如今,这两个开源项目的积极开发使两个 shell 在一般特性和功能方面彼此接近,但在如何做某些事情上存在一些小的差异。默认情况下 Zsh 更强大且可自定义,而 Bash 可能需要一些额外的脚本(插件)来实现某些事情。

从更广泛的角度来看,使 Zsh 在 Bash 上大放异彩的主要特点是:

Zsh 提供了更高级的功能。

自动完成在 Zsh 中工作得更快更好。在 bash 中,制表符补全通过从头开始匹配术语来工作(mn 将匹配 mnt 但不匹配 findmnt)。在 Zsh 中,即使术语在中间,它也可以显示结果。

Zsh 中的 Tab 补全功能更丰富

在 Zsh 中,命令历史记录在 shell 之间共享,这改善了自动完成的用户体验。

Zsh 还内置了自动更正功能。如果您输入速度太快并打错字,它可能会建议一个替代的正确命令。

Zsh 更具可配置性,并且具有更多选项来构建精美的用户提示。

Zsh中的参数扩展比Bash中更强大。

Zsh 有很多可用的插件、主题和框架,比如流行的Oh My Zsh。它可以帮助您获得具有实用功能的精美终端。

你应该使用 Zsh 吗?

Zsh 已被证明是一个强大且快速的 shell,易于定制,允许用户轻松设置一个精美且用户友好的 CLI 以供日常使用。

如果您是软件开发人员或从事任何其他需要您经常在自己的计算机上使用 CLI 的活动,那么 Zsh 似乎是改善您的一般体验的不错选择。这是,特别是如果您愿意花一些时间来探索它。

我应该放弃 Bash 吗?

Bash 不会去任何地方,这是事实!它是嵌入在大多数 Linux 发行版中的标准 shell,这意味着世界各地的大多数服务器、容器、虚拟机和云实例。

关于脚本,除非您有非常特定的用途,否则您最好编写 bash 脚本以实现系统的一致性。

你可以在你的主计算机中使用 Zsh,但不要认为你不会再接触 Bash,Bash 脚本在未来几年仍然是一个安全的选择。

为什么它在 macOS 上是默认的?

除了 Zsh 是一个很好的 shell 之外,问题的答案都是关于软件许可证的。

在切换到 Zsh 之前,MacOS 多年来一直在其过时的版本 v3.2(2007 年发布!)中作为默认 shell Bash 提供,这是最后一个在 GPLv2 下获得许可的版本。在 3.2 之后,较新版本的 Bash 在 GPLv3 下获得许可,这种许可对于 Apple 来说似乎是不够接受的。

在默认提供过时的 shell 十多年后,Apple 决定处理这个问题并转移到 Zsh,它在 MIT 许可下获得许可。

结论

Zsh 可以改善您在主计算机上的 CLI 体验,它是初学者的完美选择,因为一些框架通过简单的安装使其大放异彩。

Bash 是编写脚本的好选择,而且熟悉标准 Bash 安装对于处理 DevOps、系统管理、云计算和容器的人可能非常有用,因为它是大多数 Linux 发行版的默认 shell。

文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_43025343/article/details/122832788

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。