Я пытаюсь реализовать пользовательский интерфейс онлайн-терминала с jsch в качестве бэкэнд. Мне нужно отобразить userinfo, т.е. [имя_пользователя @ Machine ~] $ информации в пользовательском интерфейсе. Поскольку выходной поток просто посылает байты, трудно отличить userinfo от реального выхода команды. Есть ли способ отличить одно и то же?Извлечь userInfo из потока АОH
ответ
В общем, нет.
Если у вас есть канал оболочки, все, что вы видите, это выход из удаленной оболочки пользователя, включая приглашение и фактический вывод команды. Вы можете попытаться разобрать это. В простых случаях это будет работать, но в целом это невозможно, так как каждая команда может выводить строку типа, подобную подсказке.
Имя пользователя должно быть вам известно (оно должно быть таким же, как вы использовали для входа в систему), имя сервера немного сложнее.
Идея, заслуживающая изучения, может заключаться в том, чтобы установить специальную подсказку, ограниченную символьными последовательностями, которые вряд ли произойдут в «нормальном» командном выводе - установите переменную PROMPT
в вашей оболочке.
Вы можете обойти эту проблему, не используя фактически shell
канала, но индивидуальный exec
канала для каждой команды - но тогда вы должны будете интерпретировать команды, как cd
себя и следить за текущую директорию, и добавьте cd
перед действительной командой в каждом канале exec. Возможно, вы захотите открыть канал sftp параллельно, чтобы отслеживать каталоги (и файлы списков и т. Д.).
- 1. Gstreamer Извлечь рамку из потока
- 2. Как извлечь дополнительные поля из пользовательского токена Firebase в «UserInfo»
- 3. индексацию USERINFO из NSError
- 4. Извлечь аргумент pthread_create из-за пределов потока?
- 5. UserInfo из UILocalNotification всегда ноль
- 6. Получить строку из userInfo Словарь
- 7. экстракта оповещение из городского дирижабля UserInfo
- 8. Обновление NSManagedObjects через userInfo
- 9. UIImage USERINFO
- 10. userinfo facebook
- 11. NSTimer userInfo Исход из плохого доступа
- 12. Как передать NSManagedObject в USERINFO из UILocalNotification
- 13. Базовый SSH-соединение через АОH на android
- 14. ASIHTTPRequest и USERINFO
- 15. UserInfo Словари по CoreData
- 16. Извлечь HTML из потока ZIP на стороне клиента
- 17. Как извлечь URL-адрес изображения из сообщения потока
- 18. Извлечь аудио из транспортного потока и сохранить длину
- 19. Извлечь контрактный интерфейс из службы рабочего потока (WF 4.0)
- 20. Как извлечь векторы скорости из плотного оптического потока?
- 21. Delphi: открыть zip-архив из потока -> извлечь в поток
- 22. Как извлечь изображения из потока IP-камеры Motion Jpeg?
- 23. Извлечь байты определенного потока из файла mpegts с помощью ffmpeg
- 24. Извлечь данные из потоков
- 25. Извлечь файлы из папки
- 26. Последовательный запуск и вывод команды АОH
- 27. Выполнение программной удаленной установки с использованием АОH
- 28. Извлечь значение из sqli_query
- 29. swift NSTimer userinfo
- 30. UIApplicationLaunchOptionsRemoteNotificationKey не получает userinfo