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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.