我有一個bash命令文件,將返回1或0。我想運行表示,從木偶命令:包括有條件的基於bash腳本
exec { 'Check if Thinkpad':
command => 'sudo dmidecode | grep -q ThinkPad && echo 1 || echo 0',
path => '/usr/bin/:/bin/bash/',
environment => "HOME=/root"
}
有沒有一種方法,我可以使用包括文件傀儡只有當我的命令返回1?
file { '/etc/i3/config':
source => 'puppet:///modules/i3/thinkpad',
owner => 'root',
group => 'root',
mode => '0644',
}
更正:這是一個外部事實,它們應該放置在模塊內部的facts.d中,事實查找應該是$ facts ['thinkpadcheck']',並且facter lookup應該是'sudo facter -p thinkpadcheck'。另外,您應該將文檔添加到您的答案中:https://docs.puppet.com/facter/3.6/custom_facts.html#external-facts。有了這些修復,這是一個很好的答案。 –
@MattSchuchard我有點困惑 - 你提到的文檔列出了'/ etc/facter/facts.d /'作爲放置我的facter腳本的地方之一。爲什麼我想把它們放在模塊中?就此而言,我爲什麼要將我的自定義事實「附加」到只有一個模塊? – hymie
@MattSchuchard您可能會使用比我更新的puppet/facter版本,因爲您的大部分更改都不適用於我。 – hymie