我正在尝试一个简单的任务,找出两个文件之间的差异,并将其存储在记事本中 . 我不能用命令和shell来做 . 请说明我错在哪里 -
-
hosts:myserver任务:
-
name:获取差异命令:diff hosts.new hosts.mod register:diff
-
debug:var = diff.cmd
错误 - 致命:[zlp12037]:失败! => {“已更改”:true,“cmd”:[“diff”,“hosts.new”,“hosts.mod”],“delta”:“0:00:00.003102”,“end”:“2017- 03-29 10:17:34.448063“,”失败“:真实,”rc“:1,”开始“:”2017-03-29 10:17:34.444961“,”stderr“:”“,”stdout“:
2 回答
我不太确定你的输入游戏的格式是什么样的 . 但以下应该是一个解决方案:
一些解释:
如果diff命令失败,则返回码> 1.我们通过"failed_when"对此进行评估 .
要获取命令的输出,我们打印".stdout"元素 .
为了确保我们在文件所在的文件夹中,我们使用"chdir" .
我会将hosts.new或hosts.mod移动到ansible控制机器 .
使用src作为hosts.new运行复制模块,使用--check和--diff运行dest作为hosts.mod . 我发现这种方法对于发现大型企业中文件的差异非常有用 .
跑:
输出: