Как запустить команду на окнах с использованием Ruby - PullRequest
0 голосов
/ 07 июня 2018

Я использовал некоторый код на основе 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?

1 Ответ

0 голосов
/ 07 июня 2018

Судя по ошибке, которую вы разместили в чате, корень проблемы заключается в том, что задача rake не находит sh,
, который является исполняемым файлом, использующим язык сценариев оболочки Linux.

Я бы сказал, что самый простой вариант - либо

  1. установить sh в Windows через cygwin , mingw или gitbash (см. этот ответ )

    или

  2. Запуск Linux на виртуальной машине или контейнере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...