Я пытаюсь написать скрипт на Ruby с нетто-SSH. Я говорил об этом с моим экземпляром Linux ec2 с базовым логином и выполнением «ls»:
Net::SSH.start('host', 'user', :password => "password") do |ssh|
# capture all stderr and stdout output from a remote process
output = ssh.exec!("ls")
puts output
end
Когда я запускаю это, я получаю список файлов в моем домашнем каталоге. Но когда я пытаюсь использовать тот же exec! Метод для запуска программы и отображения начального экрана стандартного вывода, он зависает, пытаясь вернуть вывод.
Программа представляет собой текстовую игру в блэкджек, которую я написал на C ++ в школе. Я думаю, что это, вероятно, проблема, которая требует использования класса Buffer для чтения в длинных строках с несколькими переносами строк (есть немного искусства ASCII). Также есть много системных вызовов для очистки консоли. Я пытаюсь воспроизвести выполнение программы по экрану на клиентской консоли.
Это концептуально простой сервис для реализации, мне просто нужно знать правильные классы / методы. Любые примеры реализации будут полезны.
Задача ещё не решена.
Других решений пока нет …