推荐 - Zsh vs FishShell。脚本,生产力和poweruser持有人

时间:2009-11-20 04:32:05

标签: bash shell zsh fish

我花了一些时间尝试选择一个,净比较是针对zsh vs bash和fish vs bash。但是,我找不到zsh vs fish的任何比较。我用C和C ++编程,除了hello-world类型之外,从未做过任何主要的脚本编写。但现在尝试使用python和shell脚本。哪种外壳在生产率方面首先保留了更多的果汁然后再开发? 或者最后,任何shell的功能和可用性都来自它的_rc文件。那么我对bash好吗?

4 个答案:

答案 0 :(得分:14)

历史上,C壳(CSH和TCSH)和Bash之间存在各种火焰。针对CSH变体的投诉是它们不适合编写脚本。

在我成为CLI迷的那些年里,我永远不会完成任何选择脚本语言的独立脚本,因为那就是我的shell。

我编写了各种脚本,大致可分为两类:

  1. 那些有助于我提高命令行效率的方法
  2. 与我的命令行生产力没有直接关系的那些。
  3. 类别1中的脚本几乎总是用我的shell脚本语言编写(通常与我使用ZSH的功能一样,之前使用的BASH都支持函数)。

    类别2中的脚本是以最有效的方式编写的(包括开发时间和运行时间)。我经常发现自己在Perl,C(明显编译),BASH / ZSH / SH或其他我想要的东西中编写小脚本。我做了一些Python脚本(但不多),甚至偶尔使用Java(再次编译)。

    那我在胡说八道呢?不要基于它的独立脚本功能来选择shell。选择你的shell作为shell的实用程序。无论你选择什么,都要写剧本。使用BASH作为你的shell你可能已经足够好了(虽然我更喜欢ZSH,** / * globbing很不错以及其他一些小东西,但我为ZSH编写的大多数脚本都早于它们的BASH对应物)。

答案 1 :(得分:5)

如果你找不到zsh与fish之间的任何比较,那么自己试试吧。这是你能说出你喜欢哪一个的唯一方法,没有其他人可以告诉你。另外,定义生产力的含义。对我来说,它丰富的模块和语言的内部功能。如果你已经开始使用Python,那就去吧。至于shell,你可以学到更少的东西(不是说完全忘记它),关于可能理解你的rc脚本和其他系统的东西等等。除此之外,Python可以做shell的工作。

答案 2 :(得分:3)

在您已经知道的环境中,您将获得最高效率。我使用bash多年,它很好。它completes almost everything可以是used with gitmercurial ...

答案 3 :(得分:3)

我有同样的问题,发现: