标签: ansible
在ansible,我可以使用类似的东西:
debug:var="{{lookup('pipe', 'date +%Y%m%d')}}"
这可以起作用,但是'管道是什么?意思?在ansible文档中找不到任何详细解释,想要了解当这个语句运行时会发生什么。
例如,' date'意味着运行日期'来自shell的命令?然后使用类似管道的方式以指定的方式格式化日期?
答案 0 :(得分:10)
pipe是一个ansible查找插件,它将计算您在查找的第二个参数中指定的shell命令的输出,并将其传递到查找的左侧。您可以在那里指定任何shell命令。
pipe
因此,在您的示例中,shell命令date +%Y%m%d的输出应该是管道调试模块,var应该设置为此输出值。
date +%Y%m%d
var
我通常使用pipe查找为时间戳设置一个事实,这样我就可以在最后为任何资源名称的变量中添加时间戳,如下所示:
- set_fact: timestamp="{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}"
关于Lookups的官方文档,以及包含pipe的具体示例。