wwys 2019-04-20 11:08 采纳率: 33.3%
浏览 704

ansible工具是否没有shell脚本灵活?

例如 我要对一个配置文件修改后发送给三台主机

第一台主机的配置文件更改处为第一台主机的ip的某一段

第二台主机的配置文件在第一台主机的配置文件之上再加上自身ip的某一段

第三台主机依次类推

在shell脚本中只需把三个ip写到同一个文件中,然后在while循环中读取ip,再根据awk命令截取ip设置变量后,根据sed命令利用变量的值修改配置文件,再分别拷到对应主机上即可。

而ansible工具好像要使用3个模板和许多的变量才能实现,每次修改ip后都需要手动修改定义的变量的值(shell脚本中只需改一个ip即可,因为很多变量的值都用ip加上awk命令实现了)

总的给我的感觉就是ansible的变量写的有点死,写完后是什么就是什么。而shell中变量可根据其他变量的值使用awk等命令进行操作,这样只需改变一个变量的值其他变量的值会自动改变。

  • 写回答

1条回答 默认 最新

  • xiaokcsdn 2019-05-09 09:08
    关注

    ansible本身去实现xx功能是相当受限的,受限变量的操纵就是一个问题。从稍微复杂一点的数据结构中提取数据在组成新的数据结构,这种基本只能用脚本语言写module去实现,ansible本身只提供并发和管理与远程主机的连接。个人觉得ansible做得太多的(或者太少了)

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料