从 ruby 脚本调用 .bat 文件
Invoke .bat file from ruby script
请帮我从 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'
不要尝试在批处理资源中使用 ruby 代码,它会启动一个 cmd.exe,它没有反引号或系统命令的线索。
查看文档here
batch "run-script" do
cwd 'D:\jenkins\jobs\HybrisJob\workspace'
code "hybrisserver.bat"
action :run
end
转义 cwd 属性中的所有 \
(或使用 /
资源将负责将其更改为系统分隔符)
没有必要对没有参数的单行或其他测试 return 的脚本行使用 Heredoc 语法。
请帮我从 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'
不要尝试在批处理资源中使用 ruby 代码,它会启动一个 cmd.exe,它没有反引号或系统命令的线索。
查看文档here
batch "run-script" do
cwd 'D:\jenkins\jobs\HybrisJob\workspace'
code "hybrisserver.bat"
action :run
end
转义 cwd 属性中的所有 \
(或使用 /
资源将负责将其更改为系统分隔符)
没有必要对没有参数的单行或其他测试 return 的脚本行使用 Heredoc 语法。