Получаем exit code в net-ssh
Тэги: Tips
Будь всегда в курсе последних новостей блога подписавшись на новости
в формате RSS. Присоединяйся!
в формате RSS. Присоединяйся!
* * *
26 октября 2008 21:23
Комментарии

Получение кода завершения команды в net-ssh задача не сложная, но с первого взгляда интуитивно не очевидная (т.к. методы которые выполняют команду не возвращают его, так же нет свойств через которое этот код был бы доступен). Чтобы всё таки получить код завершения команды надо опуститься на уровень ниже.
Для этого потребуется открыть канал и выполнить команду в контексте этого канала и уже после этого из канала можно извлечь информацию о коде завершения. Выглядит это вот так:
Net::SSH.start("host", "login", :password => "password") do | ssh |
ssh.open_channel do | ch |
ch.exec("[ -d #{directory} ]") do | ch, success |
ch.on_request("exit-status") do | ch, data |
exit_code = data.read_long
end
end
end
end
Вы можете использовать следующие BBCode теги в комментариях:
| BBCode тег | Результат |
|---|---|
| [b]Жирный текст[/b] | Жирный текст |
| [i]Курсив[/i] | Курсив |
| [u]Подчёркнутый текст[/u] | Подчёркнутый текст |
| [url]http://example.com[/url] | http://example.com |
| [url=http://example.com]Example[/url] | Example |
|
[code]for message in @messages puts message.name end[/code] |
|
|
[quote] IE6 must die! [/quote] |
IE6 must die! |
