2016-09-18 47 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'。做得好。乾杯。 –