Bash 与 python 执行 UNIX 相关任务

Bash 与 python 执行 UNIX 相关任务

即使拥有高级编程语言的经验,我仍然在努力使用 Bash 来自动化任务(作为 Unix - Linux Mint 的新手)。该语言非常强大,但学习曲线太陡峭。因此,我正在考虑完全转向 python 来编写脚本(python 已预装在 Linux Mint 上)。

我的偏好是追求可读性和可测试性(python),而不是简洁和优雅(Bash)。

您能否列出一些最重要的原因,说明为什么在操作系统相关任务中使用 python 与脚本“不”合理/可能。

答案1

“自动化任务”有点宽泛。许多典型的系统管理任务可以存储在非常简单的 shell 脚本或单个命令中,其中“真正的”语言级别太高而无法实用。这就是“贝壳”这个名字的由来——你舒适地坐在里面,但也被困住了。没有 perl shell 或 python shell - 我什至不知道为什么。

shell 让您可以集成其他口译员非常简单:用于可执行文件的 shebang,以及使用字符串(“单行”)或文件(“命名脚本”)的显式调用。

可读性和可测试性 vs 简洁和优雅

您可以使用任何一种语言来实现这一切取决于具体问题。问题不(python vs. perl) vs. bash在于用哪个“锤子”打哪个“钉子”。

来自评论:

速度可能是另一个问题,Python 启动速度可能很慢......

同样,一切都取决于特定的任务/算法。但速度始终是一个问题,因为如果您以某种方式执行,看起来“无害”的循环可能会花费 10 或 100 倍的时间。

我想说的是,只要使用你觉得舒服的东西,就能完成工作。

我同意这是否意味着:在编写脚本之前,您必须决定:

  1. 如何高效地做到这一点? (便携、可维护、优雅、……)
  2. 我喜欢使用什么工具? (我擅长吗?)

它应该匹配。

如果没有:那么你就进行黑客入侵你的语言或者您在其中学习新主题其他语言。

相关内容