bash 中的元编程 | Adam Young 的网络日志

主要观点:工作需在多台机器上操作,包括对平台管理服务器和远程连接操作系统,为简化工作管理脚本,介绍了不同机器角色(如构建服务器、测试服务器、QA 机器)的操作及相关脚本编写。
关键信息

  • 有 power-cycle 机器(需 IPMI 命令到 BMC)和通过 ssh 连接机器两种操作,共 6 种变体,易出错。
  • 通过将机器名作为命令开头在 bash 中实现语句补全,如 ssh 脚本示例。
  • 可重构函数以减少重复代码,如将 ssh 和 IPMI 相关操作提取为函数。
  • 指出参数列表方法的缺点,添加参数会增加编辑和测试负担。
  • 利用 eval 根据服务器配置生成各机器的变量和别名,帮助用户了解和使用脚本。
    重要细节
  • 构建服务器负责编译代码等,测试服务器用于测试代码,可能是物理机或虚拟机,QA 机器由他人使用。
  • IPMI 命令示例及重构后的函数形式。
  • 利用 awk 解析服务器配置文件,生成各机器的相关信息及别名。
  • 执行函数时打印命令,帮助用户理解脚本作用,还可添加与 Ansible 等的集成等改进计划。
阅读 27
0 条评论