私はコードのスニペットを持っており、単にリモートサーバーでスクリプトを実行しようとしています。失敗した場合は、フォローアップの電話をかけたいと思います。これを想像してみてください。
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が相互作用して「ExitFailure」を表示すると予想される最初の行を終了する必要がfalse
あります(確かに、ロジックが間違っているので、三元は反転されます)-しかし、2行目は反対のステータスで終了する必要がありますが、そうではありません。
これを行う方法についてのドキュメントには何も見つかりません。間違っているのではないかと少し心配しています。