繁体   English   中英

主厨ruby_block ShellOut mysql结果stdout永远为空

[英]Chef ruby_block ShellOut mysql result stdout forever empty

有另一种情况:

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返回的结果不是stdout,然后在哪里以及如何获得结果

PS:我知道我可以使用ruby gem mysql2做这些事情,但是老实说没有时间实现这样的事情,只是为了获得一个简单的SQL结果,我也尝试了不带--silent和--skip的运行命令-column-names标志,这也无济于事。

所以问题是,我的命令正在返回代码出口1,看来它失败了,因此,在修复了命令后,问题就出在使用单逗号而不是双逗号

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM