Шеф-повар ruby_block ShellOut MySQL результат stdout навсегда пустой

Есть следующий случай:

test3 = Mixlib::ShellOut.new("echo '1'")
test4 = Mixlib::ShellOut.new("mysql -u root --silent --skip-column-names --password='rootpass' -e 'some sql;'")
test3.run_command
test4.run_command

puts test3.stdout # => 1
puts test4.stdout # => empty string, nothing

ожидая, что test4 вернет результат как test3

Я думаю, может быть, MySQL возвращает результат не в стандартный вывод, где тогда и как я могу получить результат

PS Я знаю о ruby ​​gem mysql2, который я мог бы использовать для этого, но, честно говоря, нет времени реализовывать подобные вещи, просто чтобы получить только простой результат SQL, также я пробовал запустить команду без --silent и --skip -column-names flags, и это тоже не поможет.

1 ответ

Итак, проблема была в том, что моя команда возвращала код выхода 1, похоже, что он не работал, поэтому после исправления команды она работала, проблема заключалась в использовании одной запятой вместо двойной запятой

Другие вопросы по тегам