LINUX.ORG.RU

terminal bot


0

0
Задача в следующем...
Имеем терминал на котором запущен к примеру bash,
Требуется симитровать на нем работу т.е. на нем появляются буквы по очереди ls потом как-бы жмется ентер и отображается вывод...
В общем надо написать бота который эмитирует работу на терминале при этом он должен уметь читать что выводится на треминал...

Прим:
sh-2.05a$ ls
tex zz.gif //бот дложен понять что cat
sh-2.05a$ cat tex //имееи стысло только для текста
111 //то-есть прочитать что выдал ls
222
sh-2.05a$

Собственно вопрос в следующем как послать ls\n bash'у вывод получить
и направить в терминал где bash?
anonymous
делается обычно так .. окрываешь ptyку .. на слейве стартуешь bash - а на мастере вешаешь свой обработчик ..
lg ★★
()
А можно подробнее...
А если trminal и bash уже запущены?
Как к ниму подрубится?
anonymous
()
за подробностями:
man openpty, man login_tty, man fork, man execve
man 2 write, man 2 read, man 2 select ...

если все уже существует:
в freebsd есть специальный псевдо девайс - snoop он позволяет просматривать и записывать уже существующие терминальные сессии - в linux по моему такого нет ..

так что если у тебя freebsd - man snp, man watch
ну а если linux - сноси linux и ставь freebsd :)
lg ★★
()
expect можно юзать, специально для интерактивных автоматизированных сессий задумывался.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.