什么是 Linux 系统管理的好语言?

use*_*645 -3 linux

我创建了一组漂亮的 Makefile,用于重复配置和维护许多 AWS 集群的步骤。

make 的好处是:

  • 大部分执行是各种 shell 命令。这些命令在 make 中被明确指定并且易于维护。
  • 如果任何单个步骤失败,整个过程就会失败(与 bash 不同)
  • 我可以将参数化命令烘焙到制作配方中(使用hackery)
  • 我可以指定对这些命令的依赖(使用hackery)

然而,在这其中的大部分时间里,我一直觉得 make 不太适合这项任务。参数化命令是一个可怕的黑客,通过调用 make 用新参数再次调用自己来实现。条件执行在 make 中很糟糕。简单的任务,如 if CHECK_SERVER_STARTED(params) then START_SERVER(params); COLLECT_DATA_FILES(params) 如果 server_was_stopped_at_the_start(params) 然后 STOP_SERVER(params);

此外,使用文件进行依赖性跟踪是一个糟糕的主意。

一定会有更好的办法。有没有我可以拥有的好语言:

  • shell 命令可以正常运行(最好是语言的一部分)(即不是 Python、Perl)
  • 条件、分支、失败案例处理等……都是内置的
  • 循环
  • 局部变量(或者至少是像堆栈这样的东西,这样我就可以调用一个函数,而不会在我的全局变量上到处乱跑)。

eww*_*ite 8

这读起来很痛苦……太复杂了!

是的,当然有更好的方法。成为专业人士的一部分是跟上技术的变化。配置管理正是您正在寻找的,并且已经存在了很多年。你的大部分问题都已经解决了。