Я пытался автоматизировать процесс Telnet с помощью своего рода сценария. Всякий раз, когда я получаю подсказку, это указывает на замазку.

Я загрузил PUTTY и его производные (plink.exe), чтобы мой скрипт работал. Кажется, я не могу пройти нулевую точку ...

plink -telnet scriptfile.txt

(все файлы локальные)

просто кажется зависает в этот момент. Какой правильный синтаксис?

3 ответа3

0

Вы используете неправильно приложение Plink.

Попробуйте с официальной помощью:

http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html

Конкретная страница: 7.2.3.1 -batch: отключить все интерактивные приглашения

0

Я использую следующий файл .bat, и он работает очень хорошо.

plink hostip -P portnum < cmds.txt

В моем случае cmds.txt - это просто команды, которые я бы вводил, если бы использовал клиент замазки.

Вы также можете получить вывод того, что plink возвращает для диагностических целей следующим образом:

plink hostip -P portnum < cmds.txt > output.txt
0

Я не уверен, что говорит тот другой ответ.  Простой обзор командной строки для plink :

plink [options] [user@]host [command]

и поэтому самое простое использование

plink host

где host , конечно, может быть обычным именем хоста (разрешаемым через DNS, NIS, файл hosts или любым другим) или (числовым) IP-адресом.  Возможно, вы также можете использовать имя сохраненного профиля PuTTY (которое содержит идентификацию хоста, а также набор опций).  Возможно, вам придется использовать опцию -telnet чтобы указать plink не использовать протокол rlogin или SSH.

Я не знаю , что вы читали о сценариях plink  Насколько я знаю, PuTTY не имеет такой возможности.  То , что я сделал это автоматизировать удаленный вход (я использовал SSH) с помощью expect привода plink  Я получил expect как часть пакета ActiveTcl от ActiveState.  (Если вы ищете этот сайт, вы сможете найти некоторые инструкции о том, как это сделать.)  Затем я написал файл с именем foo.tcl который выглядит примерно так:

# load the Expect package into Tcl
package require Expect

exp_spawn plink 10.10.10.10

expect : {                      # Wait for the server to issue a login: prompt.
      exp_send -s "gman\r"      # My username (not really).
}

expect word: {                  # Wait for the server to issue a password: prompt.
      exp_send -s "iLoveCats\r" # My password (not really).
}
    ︙

и затем я запустил его, набрав tclsh foo.tcl .

Удачи!

PS Не пишите так, как я показал.  ActiveTcl действительно позволяет комментарии , начинающиеся с # но, по- видимому, только на отдельных строках.

PPS command аргумент в командной строке plink относится к команде, которую plink отправляет удаленному хосту после входа в него.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .