Perl Net :: Модуль Telnet - PullRequest
       2

Perl Net :: Модуль Telnet

0 голосов
/ 11 августа 2011

Я пытаюсь написать модуль perl, который использует код Net :: Telnet, но проблема заключается в подсказке. Я пишу приложение для другого пользователя и не уверен, какой шаблон подсказки у него может быть. Есть ли способ получить подсказку во время выполнения?

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Значение по умолчанию для приглашения должно быть достаточно хорошим почти во всех случаях.

Он ищет любую строку, которая заканчивается либо #, либо $, либо %, за которым следует пробел. # используется root, % используется оболочками стиля C, а $ используется оболочками стиля Bourne, такими как BASH и Kornshell.

Если вы используете Telnet, вполне вероятно, что вы входите в учетную запись, в которой будет работать приглашение по умолчанию.

Я предпочитаю использовать Net :: SSH :: Perl и не беспокоиться о пользовательских приглашениях. Net::SSH::Perl более безопасен, и я могу передавать файлы или выполнять команды с ним.

0 голосов
/ 11 августа 2011

Поскольку Telnet на удаленной стороне порождает новый сеанс оболочки, (вы правы) это зависит от профиля пользователя, как будет выглядеть приглашение. Оболочки обычно читают формат приглашения из переменной PS1. Поэтому вам нужно выполнить что-то вроде:

echo $PS1
\u@\h:\w>

чтобы прочитать, как выглядит подсказка.

...