您认为何时应该编写 Bash 脚本、何时应该使用更强大的脚本语言(Python、Perl、Ruby 等)的理由是什么?
我发现用 Bash 编写非常简单的脚本会更好,但很多脚本随着时间的推移会变得非常花哨,而且重写整个脚本似乎不是一个好主意。这就是为什么我倾向于始终使用 Python 编写所有脚本。
但是,由于 Bash 似乎是 Linux 脚本的通用语言,所以这是一个负责任的系统管理员会做的事情吗?
答案1
这个问题的答案总是归结为“使用你所知道的”。根据目的,我经常用六种以上的不同语言编写脚本。这里的大多数人可能会这么说。
答案2
某些工具/环境可能比其他工具/环境更适合某些任务,但是当需要区分 bash、python、perl 和 ruby(以及类似的)用于管理脚本时,您应该考虑(如果不是偏爱的话)人为因素:
- 可维护吗?(您在问题中提到了这一点。)
- 您的组织内的其他人可以使用它吗?如果您(不知何故)是公司中唯一了解 Python 的管理员,那么它可能不适合您使用,即使它比等效的 bash 编写的脚本更短或更高效。
如果您的系统上的环境同样可用,并且多种语言符合要求,请选择你最舒服的一个。为什么?它将缩短开发时间,方便调试,提高可维护性,并且至少不会降低机构可用性。
我主观上也偏爱 bash,但这并不重要:这只是我的选择,因为我对它很满意(比如,我知道如何操作iptables
而不需要查找文档)。
答案3
另外,使用正确的工具来完成工作。您的问题是否需要比 bash 提供的更灵活的数据结构?