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