2014-03-19 48 views
0

我想寫的是通過命令字符串串聯加上facter事實變量包含一個事實中的事實,該命令自定義facter模塊:使用命令執行的事實中的Facter事實

Facter.add("customfact") do 
    setcode do 
    $string_to_parse = Facter::Util::Resolution.exec('somecommand' + $::fact) 
    end 
end 

紅寶石和木偶的新手...... 1.什麼是正確的語法來做這件事?

  1. 有什麼方法可以將輸出解析爲一個事實數組,或者找到我需要的內容的$ string_to_parse的正確方法是什麼。

這裏是與所述命令產生的輸出的一個示例:

TAG  security-group sg-0a7a8a61  aws:cloudformation:stack-name awseb-e-5tzgj9fq5b-stack 

我需要安全組和堆棧名稱。

+0

這太含糊了。從如何使用另一個事實(出於何種原因?)到如何在Ruby中解析字符串? 如果你明確表達你正在努力完成的事情,情況會好很多。 – rojs

回答

0

你想在新事實中使用Facter.value(:sourcefact)來訪問變量。至於獲得個人價值觀,你可能希望那些作爲單獨的事實,但你可以管'somecommand' + Facter.value(:sourcefact) + ' | awk {"print $3"}'會給你安全組(作爲例子)。

+0

謝謝,完美的作品。 –

相關問題