下一个案例:
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列名标志,这也没有帮助。
1条答案
按热度按时间csbfibhn1#
所以问题是,我的命令返回代码exit 1,它似乎失败了,所以在修复命令后,问题是使用单逗号而不是双逗号