2016-09-18 85 views
4

在ansible,我可以使用类似:可靠的查询管道这个管道是什么意思?

debug:var="{{lookup('pipe', 'date +%Y%m%d')}}" 

这可以工作,但什么是“管”是什么意思?在一个可靠的文档中找不到任何详细的解释,想知道这个语句运行时会发生什么。

例如,'date'是否意味着从shell运行'date'命令?然后用管道的方式以指定的方式格式化日期?

回答

8

pipe是一个完整的查找插件,它将计算您在查找的第二个参数中指定的shell命令的输出,并将其管理到查找的左侧。你可以在那里指定任何shell命令。

因此,在您的示例中,应将shell命令date +%Y%m%d的输出传送到调试模块,并且var应设置为此输出值。

我一般使用pipe查找来设置时间戳的事实,让我能在最后的任何资源名称添加时间戳变量,像这样:

- set_fact: timestamp="{{ lookup('pipe', 'date +%Y%m%d%H%M%S') }}" 

正式文件上Lookups,和具体的例子其中包括pipe

+0

明确,并感谢 – Jakim

+0

第一个例子,我发现_does not_ use'debug'。做得好。干杯。 –

相关问题