手记

Bash、Fish和Zsh:如何选择适合你的终端 shell

说到选择一个 shell,Bash、Fish 和 Zsh 是热门选择。它们各自都有拥趸、特性和优势,但哪一个更适合你呢?我们来聊聊——直奔主题,直接说说它们的优缺点。

……

Bash: 经典的选择

Bash(Bash shell)是大多数类 Unix 系统上的默认 shell。如果你在 Linux 或 macOS 上打开过终端,你大概率使用的就是 Bash。

优点如下:

  • 无处不在:它无处不在。为Bash编写的脚本几乎可以在任何系统上直接运行,无需额外配置。
  • 丰富的文档资料:由于它的广泛使用,有大量的教程、指南和论坛可以帮你解决问题。
  • POSIX兼容性:如果你需要脚本在不同的Unix系统上运行,Bash是最佳选择。
  • 轻量级:没有多余的特性来拖慢你的速度,它简洁高效。

不足之处:

  • 基本功能:开箱即用的体验非常简陋。自动完成功能非常有限,也没有语法着色功能。
  • 复杂任务时脚本运行缓慢:在处理复杂任务时,Bash 脚本会变得缓慢和笨拙。
  • 更难定制:虽然强大,但将 Bash 调整到符合现代标准需要时间和精力——比如 bash-completion 这样的插件也不如其它工具那么流畅。

星号是分隔符

新来的有风格的小伙伴:小鱼

鱼(友好的互动外壳)强调现代且用户友好的体验。要是你正在寻找开箱即用、即装即用且能顺畅运行的工具,Fish 可能会让你眼前一亮。

好处:

  • 从一开始就很好用——语法高亮、自动补全和选项卡补全等功能都内置了。
  • Fish脚本的语法清晰直观,比Bash更容易理解。
  • 轻量快速,即使启用了所有功能也依然迅速。

不足:

  • 不兼容 POSIX:用 Fish 编写的脚本在其他 shell 中无法运行,这对于需要脚本兼容性的人来说可能是个问题。
  • 插件生态系统有限:虽然 Fish 有一些自定义选项(比如 Oh My Fish),但其社区规模比 Zsh 小得多。
  • 高级用户的学习曲线:如果你是从 Bash 或 Zsh 迁移到 Fish,适应 Fish 的脚本语言可能会让你稍微慢一些。

    • *
Zsh:高级用户的乐园

Zsh(Z Shell)非常强大。它非常具有可定制性,并且拥有庞大的插件库,这要归功于类似 Oh My Zsh 这样的工具。

好的地方:

  • 可定制性:通过插件、主题和配置选项,你可以使 Zsh 完美适应你的工作流程。
  • 强大的功能:Zsh 拥有出色的通配符匹配、更强大的自动补全以及内置的语法高亮。
  • Oh My Zsh:这个框架使安装插件和主题变得轻松,让使用 Zsh 更加轻松愉快。
  • POSIX 兼容性:不同于 Fish,Zsh 脚本在其他 shell 中也可以正常运行。

缺点:

不足之处:

  • 性能下降:如果你安装了太多插件和主题,Zsh 的运行速度可能会显著下降。
  • 学习曲线较陡:新手可能会被大量的自定义选项弄得不知所措。
  • 默认配置不太好:你需要花时间配置它才能充分发挥其潜力。

    • *
你应该用哪个 Shell?

这得看你要什么:

  • Bash:如果你需要简单性、便携性,或者正在为多种环境编写脚本,Bash 都是不错的选择。
  • Fish:如果你想要一个即刻提供良好用户体验且无需太多麻烦的shell,Fish是不错的选择。
  • Zsh:对于喜欢动手调整且想要一个无所不能的shell的高级用户来说,Zsh非常理想(但不介意稍微配置一下)。

总之,没有什么“错误”的选择——只有最适合你的工作方式的那个。所以,不妨都试试。你的终端,你做主,你定规矩。

0人推荐
随时随地看视频
慕课网APP