我有一小段代码,无非是想在远程服务器上执行一个脚本,在失败的情况下,我想提出一个跟进电话,想象一下:如何通过Ruby的Net :: SSH库获取退出状态?
require 'rubygems'
require 'net/ssh'
require 'etc'
server = 'localhost'
Net::SSH.start(server, Etc.getlogin) do |ssh|
puts (ssh.exec("true") ? 'Exit Success' : "Exit Failure")
puts (ssh.exec("false") ? 'Exit Success' : "Exit Failure")
end
我(我忽略了stdout和stderr是在我设计的例子中打印出来的) - 但是第一行应该以0
退出,我期望Ruby会互斥为false
并显示“退出失败”(当然,逻辑错误,三元需求被翻转) - 但第二行应该以相反的状态退出,而不是。
我什至不能找到有关如何做到这一点的文档,我有点担心,我可能会做错了吗?!
哇,太酷了。谢谢。 – sarnold 2010-08-02 09:09:11
flitzwald,这真棒 - 我希望我可以回顾性地添加赏金或其他东西!非常感谢! – 2010-08-02 11:26:58
非常感谢。它完美的作品。这应该在Net :: SSH中。 – 2011-04-19 13:27:58