【问题标题】:ansible lookup pipe what does this pipe means?ansible查找管道这个管道是什么意思?
【发布时间】:2016-09-18 05:00:09
【问题描述】:

在 ansible 中,我可以使用类似的东西:

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

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

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

【问题讨论】:

    标签: ansible


    【解决方案1】:

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

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

    我通常使用pipe 查找来为时间戳设置一个事实,以便我可以在任何资源名称末尾的变量中附加时间戳,如下所示:

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

    Lookups 上的官方文档,以及包含pipe 的具体示例。

    【讨论】:

    • 我发现使用debug的第一个例子。做得好。干杯。
    • 这里要指出的是,ansible var 每次使用时都会被评估。因此,如果多次使用变量,时间戳不能相同
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    • 2020-10-08
    • 2013-11-26
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    相关资源
    最近更新 更多