何时使用Bash,何时使用Python / Perl / Ruby?

什么时候编写Bash脚本以及什么时候使用更强大的脚本语言(Python,Perl,Ruby,…)?

我发现很简单的脚本比Bash更好,但是随着时间的推移,很多脚本都会变得非常有趣,而且重写整个事情似乎不是一个好主意。 这就是为什么我倾向于总是使用Python的所有脚本。

但是因为Bash似乎是Linux脚本的通用语言,那么一个负责任的系统pipe理员会做些什么呢?

答案总是归结为“使用你所知道的”。 根据我的目的,我经常以超过六种不同的语言编写脚本。 这里的大多数人可能会这样说。

有些工具/环境可能比其他工具稍微适应某些任务,但是在区分bash,python,perl和ruby(以及类似的)pipe理脚本时,应该考虑(如果不赞成)人为因素:

  1. 可维护吗? (你在这个问题上触及了这个问题。)
  2. 你的组织内的其他人可以使用吗? 如果你(不知何故)是公司中唯一知道任何python的pipe理员,那么它可能不是正确的语言,即使它比等效的bash更短或更有效率的脚本。

如果环境在您的系统上同样可用,并且许多语言适合帐单,请select您最适合的语言。 为什么? 这将缩短开发时间,方便debugging,提高可维护性,至less不会降低机构的可用性。

我的主观偏好也是bash,但这并不重要:这只是我的select,因为我对此感到满意(比如说,我知道如何在不查找文档的情况下操作iptables )。

另外,使用正确的工具进行工作。 你的问题是否需要比bash提供的更灵活的数据结构?