У меня есть следующий код в кукольной, и когда я запускаю его, игнорируется awk
фильтр Но если я использую cut -d ' ' -f8
, он работает!кукольный inline_template игнорируя awk
$hugepage=inline_template("<%= `grep Hugepagesize /proc/meminfo | awk '{print $2}'` %>")
notify {"Variable testing, hugepage size is ${hugepage}":}
Результат следующий:
Notice: /Stage[main]/Sysctl::Pgsql/Notify[Variable testing, hugepage size is Hugepagesize: 2048 kB
Почему печатает Hugepagesize: 2048 kB
? выглядеть AWK не работает :(
На irb
обстреливать свою работу.
irb(main):002:0> `grep Hugepagesize /proc/meminfo | awk '{print $2}'`
=> "2048\n"
UPDATE
Я попытался также следующие, но тот же результат :(
$hugepage = generate("/bin/sh","-c", "/bin/grep Hugepagesize /proc/meminfo | /bin/awk '{print $2}'")
святое дерьмо !!! я не заметил, что .. я думал, что 'inline_template' работает так же, как и внутри ./ templete/foo.erb' Но вы очистили мое сомнение ... Спасибо человеку! – Satish
Речь идет не о 'inline_template()' или 'generate()' конкретно; это о аргументе строки, который вы передаете этим функциям. Интерполяция выполняется Puppet, когда она оценивает строку, прежде чем любая из этих функций когда-либо будет вызвана. –