Bash Ansible-仅在不是我期望的情况下替换字符串

Bash Ansible-仅在不是我期望的情况下替换字符串,bash,replace,ansible,yaml,inline,Bash,Replace,Ansible,Yaml,Inline,假设我有一个bash脚本,在这个bash脚本中我有这些参数 Sleep=45 Awake=52 Hello=69 我想做的是在我的ansible playbook中有一个任务查看这个文件,如果看到睡眠不等于45,清醒不等于52,或者hello不等于69,它会纠正它 我知道您可以使用replace inline模块,但不确定使用该模块是否是最好的方法尝试使用Ansible模块。您可以证明某一行应该在那里,如果没有,任何与正则表达式匹配的行(比如Hello=.*)都将被替换为正确的值(这里Hell

假设我有一个bash脚本,在这个bash脚本中我有这些参数

Sleep=45
Awake=52
Hello=69
我想做的是在我的ansible playbook中有一个任务查看这个文件,如果看到睡眠不等于45,清醒不等于52,或者hello不等于69,它会纠正它

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

尝试使用Ansible模块。您可以证明某一行应该在那里,如果没有,任何与正则表达式匹配的行(比如
Hello=.*
)都将被替换为正确的值(这里
Hello=69
)。如果行已经是正确的值,则不会进行更改

- lineinfile:
    path: /tmp/example
    regexp: '^Sleep='
    line: 'Sleep=45'
尝试使用Ansible模块。您可以证明某一行应该在那里,如果没有,任何与正则表达式匹配的行(比如
Hello=.*
)都将被替换为正确的值(这里
Hello=69
)。如果行已经是正确的值,则不会进行更改

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