Ответ 1
Существует несколько способов:
output = `whoami`
#or
output = %x[whoami]
# or using 'system' but in case of errors it gonna return false
output = system "whoami"
Я запускаю команду с использованием sh и вам нужно прочитать результат этой команды. например.
sh "whoami"
Но sh только возвращает true, а не строку, содержащую вывод команды whoami. Кто-нибудь знает о решении?
Существует несколько способов:
output = `whoami`
#or
output = %x[whoami]
# or using 'system' but in case of errors it gonna return false
output = system "whoami"
Просто используйте обратные кавычки для выполнения оператора:
output = `whoami`
Результат будет в переменной 'output'.
Я не был уверен, как заставить эти другие методы терпеть неудачу при ошибке, поэтому я пошел с перенаправлением:
sh "mysql --verbose #{connection_options} < #{sql_file} > #{sql_file_output_file}" do |ok, status|
ok or fail "mysql file failed [#{sql_file}"
end