The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Net::Telnet ctrl+D"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Net::Telnet ctrl+D"
Сообщение от sly Искать по авторуВ закладки(ok) on 24-Ноя-04, 16:37  (MSK)
Приветствую. Подскажите аким образом возможно послать <ctrl+D> используя Net::Telnet?
$telnet->cmd("\004");
$telnet->print("\004");
непомогает Ж-(

Основная задача получить вывод команды show users с консоли терминала DSLPipe с помощью скрипта.
Руками это реализуется так: необходимо, подкючившись телнетом, послать "ctrl+d", далее "e", после этого проваливаюсь в командную строку терминала. Возможно есть другие решения этой задачи?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Net::Telnet ctrl+D"
Сообщение от gr Искать по авторуВ закладки on 25-Ноя-04, 05:08  (MSK)
>Приветствую. Подскажите аким образом возможно послать <ctrl+D> используя Net::Telnet?
>$telnet->cmd("\004");
>$telnet->print("\004");
>непомогает Ж-(
>
>Основная задача получить вывод команды show users с консоли терминала DSLPipe с
>помощью скрипта.
>Руками это реализуется так: необходимо, подкючившись телнетом, послать "ctrl+d", далее "e", после
>этого проваливаюсь в командную строку терминала. Возможно есть другие решения этой
>задачи?


Почитай на CPAN про это - для этого дела есть метод у Net::Telnet..close что ли называется

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Net::Telnet ctrl+D"
Сообщение от sly Искать по авторуВ закладки(??) on 07-Дек-04, 14:39  (MSK)
оказалось достаточно тривиально.
По умолчанию телнет возвращает все посылаемые ему символы в режиме echo-ответа, т.о. когда я посылал crtl+d, скрипт возвращал скрипту echo-ответ "ctrl+d", что приводило к завершению работы скрипта  :-)  Выход заключается в посылке комбинации ctrl+e, которая отключает echo-ответ.
....
my $CtrlD = "\004";
my $CtrlE = "\005";
....
sleep(1);
$t->put($CtrlE);
sleep(1);
$t->put($CtrlD);
....

>Приветствую. Подскажите аким образом возможно послать <ctrl+D> используя Net::Telnet?
>$telnet->cmd("\004");
>$telnet->print("\004");
>непомогает Ж-(
>
>Основная задача получить вывод команды show users с консоли терминала DSLPipe с
>помощью скрипта.
>Руками это реализуется так: необходимо, подкючившись телнетом, послать "ctrl+d", далее "e", после
>этого проваливаюсь в командную строку терминала. Возможно есть другие решения этой
>задачи?


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру