推荐 - Zsh 与 FishShell。脚本编写、生产力和高级用户本身 [关闭]
题
我花了一些时间尝试选择一个,在网上比较了 zsh 与 bash 以及 Fish 与 bash。但是,我找不到 zsh 与 Fish 的任何比较。我用 C 和 C++ 编程,除了 hello-world 类型之外,从未编写过任何主要的脚本。但现在尝试使用 python 和 shell 脚本。哪个 shell 首先在生产力方面保留更多汁液,然后在开发方面保留更多汁液?或者最后,任何 shell 的功能和可用性都取决于它的 _rc 文件。那么我对 bash 足够好吗?
解决方案
历史上,C shell(CSH 和 TCSH)和 Bash 之间存在某种火焰制品。对 CSH 变体的抱怨是它们不利于脚本编写。
在我成为 CLI 迷的这些年里,我 绝不 完成了选择脚本语言的任何独立脚本,因为这就是我的 shell。
我编写了各种脚本,大致可分为两类:
- 那些有助于我的命令行生产力的
- 那些与我的命令行生产力没有直接关系的。
类别 1 中的脚本。几乎总是用我的 shell 脚本语言编写(通常作为函数,因为我使用 ZSH,之前使用 BASH,两者都支持函数)。
类别 2 中的脚本。以最有效的方式编写(考虑到开发时间和运行时间)。我经常发现自己用 Perl、C(显然是编译的)、BASH/ZSH/SH 或其他我想要的东西编写小脚本。我编写了一些 Python 脚本(但不多),甚至偶尔使用 Java(再次编译)。
那我在胡言乱语什么呢?不要根据 shell 的独立脚本功能来选择 shell。选择您的 shell,因为它对您来说是实用的 shell。使用您选择的任何其他内容编写脚本。使用 BASH 作为 shell 可能就足够了(虽然我更喜欢 ZSH 一点,**/* 通配符很好,还有其他一些小东西,但我为 ZSH 编写的大多数脚本早期都与它们的 BASH 相同)同行)。
其他提示
如果你不能找到的zsh VS鱼之间的比较,然后尝试出来自己。这就是你可以告诉你更喜欢哪一个的唯一办法,没有人可以告诉你。此外,定义生产力的意义。对我来说,它的丰富的模块和语言的内部能力。如果你已经开始使用Python,去了。至于炮弹,你可以了解它的少(不是说完全忘掉它),关于可能了解你的rc脚本和其他系统的东西等等。除此之外,Python可以做壳做什么。
在您熟悉的环境中您将获得最高的工作效率。我使用 bash 多年了,它很好。它 完成几乎所有事情, , 可 与 git 一起使用, 水银 ...
我有同样的问题并发现:
- 比较的页面 Unix 外壳:Bash、Fish、Ksh、Tcsh、Zsh ;
- Bash 与 Zsh(与 Fish) 一个 Reddit 话题;
- 最好的 Unix shell 是什么?