chef ruby\u block shellout mysql result stdout永远为空

ulmd4ohb  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(409)

下一个案例:

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,那么在哪里以及如何得到结果呢
p、 我知道ruby gem mysql2可以用来做这件事,但老实说,没有时间实现像这样的东西,只是为了得到一个简单的sql结果,我也尝试过运行命令,没有--silent和--skip列名标志,这也没有帮助。

csbfibhn

csbfibhn1#

所以问题是,我的命令返回代码exit 1,它似乎失败了,所以在修复命令后,问题是使用单逗号而不是双逗号

相关问题