Как получить статус выхода с библиотекой Ruby's 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
и отобразить «Выход из отказа» (конечно, поэтому логика неверна, троичный должен быть перевернут) - но вторая строка должна выйти с противоположным статусом, а это не так.
Я даже не могу найти в документации ничего о том, как это сделать, и я немного волнуюсь, что могу сделать это неправильно ?!