Как мне получить вывод команды из задачи Albacore exec?

Есть ли способ получить вывод команды для задачи exec?

exec :checkout do |cmd|
  cmd.command = 'C:/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE/tf.exe'    
  cmd.parameters 'checkout'
end

person icn    schedule 21.12.2011    source источник
comment
Вы имеете в виду вывод команды или код возврата?   -  person knut    schedule 22.12.2011
comment
Вы точно имеете в виду вывод консоли, а не код выхода? Потому что tf.exe checkout не производит ничего интересного (файлы не указаны). Не могли бы вы сказать, что вы хотите сделать с этим выводом, чтобы я мог помочь (я поддерживаю Albacore).   -  person Anthony Mastrean    schedule 29.09.2012
comment
А как ты хочешь это получить? Захватить это в переменной? Потому что system() уже ставит это на консоль. Если просто нужно, это видно.   -  person Anthony Mastrean    schedule 29.09.2012


Ответы (1)


Вы упомянули альбакора и используете задание exec. Если нет особой необходимости в альбакоре, вы можете использовать стандартные инструменты для рубина:

#Define the command:
cmd = 'dir'
#or in your case:
#cmd ['"C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe"',
#        'checkout'].join(' ')


#Version one:
output = `#{cmd}`
puts output

#Version two:
output = %x{#{cmd}}
puts output

Дополнительные решения можно найти на странице Получение вывода вызовов system () в Ruby

person knut    schedule 22.12.2011