Ansible-如果不是我期望的,仅替换字符串

时间:2018-07-18 22:14:17

标签: bash replace ansible yaml inline

因此,假设我有一个bash脚本,并且在该bash脚本中我具有这些参数

Sleep=45
Awake=52
Hello=69

我想做的是在我的ansible剧本中有一个任务会查看此文件,如果看到的是睡眠不等于45或清醒不等于52或hello不等于69,它将对其进行纠正。

我知道您可以使用replace inline模块,但不确定使用该模块是否是最好的处理方式

1 个答案:

答案 0 :(得分:2)

尝试使用Ansible lineinfile模块。您可以证明应该有特定的行,如果没有,则与正则表达式匹配的任何行(例如Hello=.*)都将被正确的值(此处为Hello=69)取代。如果该行已经是正确的值,则不会进行任何更改。

- lineinfile:
    path: /tmp/example
    regexp: '^Sleep='
    line: 'Sleep=45'