que para niños mujer hace funciones exposicion entre diferencia dibujo cocinero cheff caracteristicas chef

para - funciones del chef



¿Cómo puedo poner la salida de un Chef ''ejecutar recurso'' en una variable (2)

Funciona para mi

require ''chef/mixin/shell_out'' passenger_root = shell_out("passenger-config --root").stdout

Me gustaría poner la salida de un comando de shell en una variable para su uso posterior en una receta de Chef.

En bash podría hacer algo como output=`tail -1 file.txt` y luego podría hacer echo $output

¿Puede un ''recurso de ejecución'' hacer esto para que pueda usar el resultado más adelante en la receta?


aunque la solución de Graham pareció funcionar al principio, descubrí lo de Chef :: Mixin: ShellOut

ruby_block "check_curl_command_output" do block do #tricky way to load this Chef::Mixin::ShellOut utilities Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut) curl_command = ''curl --write-out %{http_code} --silent --output /dev/null ''+node[''url''] curl_command_out = shell_out(curl_command) if curl_command_out.stdout == "302" ... else ... end end action :create end

Chef :: Mixin: ShellOut es particularmente útil si necesita ejecutar el comando como un usuario específico (consulte http://www.slideshare.net/opscode/chef-conf-windowsdougireton ):

ruby_block "run_command_as" do block do Chef::Resource::RubyBlock.send(:include,Chef::Mixin::ShellOut) add_group = shell_out("your command", { :user => "my_user", :password => "my_password", :domain => "mycorp.com" } ) end end