我应该使用哪个 shell - tcsh 与 bash?

我应该使用哪个 shell - tcsh 与 bash?

我现在已经使用tcsh很长时间了。但每当我搜索某些东西时,我经常发现指定的方法是bash特定的。甚至两者的 shell 脚本语法也不同。

根据我在互联网上搜索和学习的经验,bash似乎是更常用的 shell。甚至该网站上标记的问题数量也bash比标记的问题数量多得多(目前是五倍)tcsh

所以,我想知道我是否应该切换到 bash。你怎么认为?

为什么我应该坚持tcsh或者为什么我应该转向bash

答案1

事实上,你应该搬到zsh!它本质上是向后兼容的,并且具有bash以下功能的所有实用性:令人敬畏。甚至还有一个(虽然我还没有时间去读它)。

我会承认有理由不使用zshover bash,但除非您经常进行多个新安装,否则它并不真正适用。特别是如果您了解最重要的差异。然而,这实际上类似于vim和之间的差异vi;你不想太天真,但实际上这没什么大不了的。即使是铁杆vim用户也能找到解决办法emacs,反之亦然。

答案2

学习了 bash 后我发现 tcsh 有点倒退了。例如,我在 bash 中可以轻松做到的事情,却发现在 tcsh 中很难做到。我关于 tcsh 的问题。 bash 的互联网支持和文档也好得多,而 tcsh 的支持和文档则非常有限。 O'Reilly 关于 bash 的书籍数量很多,但我没有找到类似的 tcsh 书籍。

答案3

您应该切换到 POSIX 兼容的 shellhttp://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html,例如 bash、ksh、dash 之一,但不是 zsh,当然也不是 tcsh。自从 csh 被宣布为糟糕的脚本选择以来已经有很长一段时间了:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ , tcsh 在该领域没有太大不同。

编写脚本时,如果您不想再次被锁定在不可移植的内容中,请确保仅使用 POSIX 结构(即避免 bashisms 等)。

答案4

哪个外壳?选择“易用性”与“麻烦”比率最佳的一款......

如果您无法为您的“Maserati”外壳找到足够的一般示例和解释,那么它的额外性能可能更多是一个问题而不是奖励......

我发现这篇文章/网站很有趣;可能值得一读:
UNIX shell 差异以及如何更改 shell

相关内容