информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetSpanning Tree Protocol: недокументированное применениеВсе любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / beginners
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
ttysnoop 13.05.05 13:24  Число просмотров: 2917
Автор: :-) <:-)> Статус: Elderman
Отредактировано 13.05.05 13:35  Количество правок: 1
<"чистая" ссылка>
...
> приглашение. Но когда я делаю echo $n, то мне выводится
> пустая строка. Почему?

это не знаю... но если строку "read -d q n" вынести в другой скрипт, к примеру a.sh, и сделать
cat /dev/tty1 | ./a.sh
то оно почему-то работает как нужно :-)

Есть программки ttysnoop или ttywatch - позволяют нескольким пользователям одновременно работать с одним терминалом (или просто подсматривать, что делается на чужом теринале ;-)
TTYSnoop allows you to snoop on login tty's through another tty-device or pseudo-tty. The snoop-tty becomes a 'clone' of the original tty, redirecting both input and output from/to it.

http://freshmeat.net/projects/ttysnoop/
<beginners>
[linux] Перенаправление ввода с терминала. 08.05.05 19:34  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
Требуется, чтобы скрипт, запущенный, к примеру, в бэкграунде получал ввод для команды read с указанного терминала. Т.е. echo "test" > /dev/tty2 отлично работает. А вот как сделать, чтобы read брал ввод с /dev/tty2?
Уточнение - с чем трудности, сделать сначала open(... 11.05.05 12:39  
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
<"чистая" ссылка>
> Требуется, чтобы скрипт, запущенный, к примеру, в
> бэкграунде получал ввод для команды read с указанного
> терминала. Т.е. echo "test" > /dev/tty2 отлично
> работает. А вот как сделать, чтобы read брал ввод с
> /dev/tty2?

Уточнение - с чем трудности, сделать сначала open( "/dev/tty2", ...); или даже это не помогает?
Если одна задача пытается сделать read с /dev/tty2, какая-нибудь getty например, то read другой будет ждать окончания этого запроса на ввод. Нужно рубить и убирать из респавна.
Есть подвижки 12.05.05 21:49  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
Итак, я логинюсь в /dev/tty1 и в /dev/tty2 под рутом. Из tty2 нахожу pid баша на tty1 и посылаю ему SIGSTOP. Он успешно замирает (не реагирует на ввод). Далее на tty2 я делаю:
cat /dev/tty1 | read -d q n
после чего иду в tty1 и ввожу символы, завершая ввод символом q
При этом ввод почему-то завершается только после второго нажатия q, что странно. Но всё-таки завершается, об этом можно судить по тому, что tty2 снова появляется приглашение. Но когда я делаю echo $n, то мне выводится пустая строка. Почему?
ttysnoop 13.05.05 13:24  
Автор: :-) <:-)> Статус: Elderman
Отредактировано 13.05.05 13:35  Количество правок: 1
<"чистая" ссылка>
...
> приглашение. Но когда я делаю echo $n, то мне выводится
> пустая строка. Почему?

это не знаю... но если строку "read -d q n" вынести в другой скрипт, к примеру a.sh, и сделать
cat /dev/tty1 | ./a.sh
то оно почему-то работает как нужно :-)

Есть программки ttysnoop или ttywatch - позволяют нескольким пользователям одновременно работать с одним терминалом (или просто подсматривать, что делается на чужом теринале ;-)
TTYSnoop allows you to snoop on login tty's through another tty-device or pseudo-tty. The snoop-tty becomes a 'clone' of the original tty, redirecting both input and output from/to it.

http://freshmeat.net/projects/ttysnoop/
Попробую. Как ты считаешь, запуск из другого скрипта... 13.05.05 13:58  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
> это не знаю... но если строку "read -d q n" вынести в
> другой скрипт, к примеру a.sh, и сделать
> cat /dev/tty1 | ./a.sh
> то оно почему-то работает как нужно :-)

Попробую. Как ты считаешь, запуск из другого скрипта равносилен ли такой строчке:
cat /dev/tty1 | (read -d q n)
?
> Есть программки ttysnoop или ttywatch - позволяют
> нескольким пользователям одновременно работать с одним
> терминалом (или просто подсматривать, что делается на чужом
> теринале ;-)

Не, надо без всяких программ.
Оказывается тут в любом случае порождается новый шелл (раз... 13.05.05 16:00  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
> Попробую. Как ты считаешь, запуск из другого скрипта
> равносилен ли такой строчке:
> cat /dev/tty1 | (read -d q n)

Оказывается тут в любом случае порождается новый шелл (раз присутствует pipe), и read будет делаться уже в новом шелле, следовательно и переменная n будет действительна только внутри нового шелла, короче, на нее можно будет ссылаться только внутри круглых скобок.
cat /dev/tty1 | (read -d q n ; echo $n; )
А после выполнения этой команды произойдет возврат в родительский шелл, и в нем переменной n не будет...
Спасибо, всё осознал. 17.05.05 15:36  
Автор: ZloyShaman <ZloyShaman> Статус: Elderman
<"чистая" ссылка>
надо так: read -e Name < /dev/tty2 17.05.05 16:51  
Автор: :-) <:-)> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach