Я использовал некоторый код на основе github, который используется для тестирования и компиляции кода.В нем есть расширение команды, доступной Ceedling (тестовый набор, который я буду использовать), который использует Ruby в файле с именем "rakefile.rb".
Я пытаюсь выполнить следующую команду:
desc "Convert the output binary to a hex file"
task :convert => :release do
cmd = "\"C:/Program Files (x86)/Microchip/xc16/v1.23/bin\"\\\\xc16-bin2hex ./build/release/Output.elf -a -omf=elf"
puts "Generating Output.hex..."
puts cmd
sh cmd
end
Если я добавлю приведенный ниже код в мою программу «Запуск командной строки с Ruby», то вывод будет правильным и будет выполнено действие:
"C:/Program Files (x86)/Microchip/xc16/v1.23/bin"\\xc16-bin2hex ./build/release/Output.elf -a -omf=elf
ЕслиЯ не включаю \ "и \" тогда программа не будет работать.
В настоящее время я получаю вывод:
Generating Output.hex...
"C:/Program Files (x86)/Microchip/xc16/v1.23/bin"\\xc16-bin2hex ./build/release/Output.elf -a -omf=elf
rake aborted!
Command failed with status (127): ["C:/Program Files (x86)/Microchip/xc16/v1....]
rakefile.rb:16:in `block in <top (required)>'
C:/Ruby24-x64/bin/ceedling:23:in `load'
C:/Ruby24-x64/bin/ceedling:23:in `<main>'
Tasks: TOP => convert
(See full trace by running task with --trace)
Что я делаю неправильно и где можноЯ читал больше об основах Ruby?