为了让我更容易地调试我的提供商,我有时想在我自己的 ruby 代码中使用“命令”。
试图弄清楚问题出在哪里。
以下是我在提供程序中使用它的方式:
commands :wget => '/usr/bin/wget',
:cp => '/bin/cp'
稍后我可以用简单的命令运行该命令:
wget('http://example.com')
现在,我尝试这样做:
something = Puppet::Provider.commands({:wget => '/usr/bin/wget'})
something.wget('http://example.com')
但是,我明白了:
test.rb:15: undefined method `wget' for {:wget=>"/usr/bin/wget"}:Hash (NoMethodError)
我也尝试过跑步:
wget = Puppet::Provider::Command.new('wget', '/usr/bin/wget', Puppet::Util, Puppet::Util::Execution)
puts Puppet::Util::Execution.execute(['wget','http://example.com'],{})
但输出是空白的......
有任何想法吗?