请帮我从ruby脚本调用.bat文件。我尝试了以下内容。我的test.rb文件如下:
batch "run-script" do
cwd 'D:\\jenkins\jobs\HybrisJob\workspace'
code <<-EOH
`hybrisserver.bat`
EOH
action :run
end
但它不起作用。
[2015-03-19T14:01:16+05:30] FATAL: Mixlib::ShellOut::ShellCommandFailed: batch[run-script] ((chef-apply cookbook)::(chef-apply recipe) line 1) had an error:
Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
答案 0 :(得分:0)
不要尝试在批处理资源中使用ruby代码,它会启动一个cmd.exe,它没有反引号或系统命令的线索。
请参阅文档here
batch "run-script" do
cwd 'D:\\jenkins\\jobs\\HybrisJob\\workspace'
code "hybrisserver.bat"
action :run
end
转义cwd属性中的所有\
(或使用/
资源将负责将其更改为系统分隔符)
没有必要对没有args的单行使用Heredoc语法,也不需要测试返回的其他脚本行。