我有一个需要在Unix / win Env上运行的命令(使用刀):
execute "smart_table" do
command "su - #{username} -c ' myutils -PATH #{file_name} -OVERWRITE '"
action :run
end
这个命令有一个输出,应该在里面解析一些关键字。
我读过open3等但无法实现。
我将欣赏一个例子。
提前致谢。
答案 0 :(得分:0)
我找到了Mixin::shellout
的方式:
ruby_block "smart_table" do
block do
Chef::Resource::RubyBlock.send(:include, Chef::Mixin::ShellOut)
command = "su - #{username} -c ' myutils -PATH #{file_name} -OVERWRITE '"
command_out = shell_out(command)
p command_out.stdout
end
action :create
end