Сценарий оболочки для команд telnet и run

Был разработан сценарий оболочки, который имеет функции автоматического Telnet и выполняет команды запуска для других машин, тем самым завершая сеанс Telnet без какого-либо взаимодействия с пользователем. Пользователь просто должен запустить скрипт оболочки или вызвать функцию из другого скрипта. Это широко применимо для Linux, но для системы UNIX требуется предварительная установка пакетов TCL и INSTALL. Существует отдельный каталог для установки команды Expect. Специальные команды используются для сокрытия диалога между другим компьютером и сценарием оболочки в Linux. Адрес, имя пользователя и пароль присваиваются при вызове скрипта. IP-адрес требуется для объявления оболочки, после чего отправляется команда запуска, отмечающая окончание сеанса telnet.

вопрос

Я создал сценарий оболочки, который может автоматически подключаться к telnet, запускать команды на другом компьютере и завершать сеанс telnet без какого-либо вмешательства пользователя; пользователь просто запускает скрипт или вызывает его из другого скрипта.

Но вам нужно установить пакеты EXPECT и TCL в вашей системе Unix.

Скрипт содержит следующие инструкции:

#! / usr / local / bin / Ожидаемый -f #### / usr / local / bin / wait - это каталог, в котором был установлен ожидаемый

log_user 0 #### эта команда используется, чтобы скрыть диалог между сценарием и другим компьютером

установить адрес [lindex $ argv 0] ### назначить первый переданный параметр при вызове сценария для $ address

установить имя пользователя [lindex $ argv 1] ### назначить второй переданный параметр при вызове сценария $ username

установить пароль [lindex $ argv 2] ​​### назначить 3-й переданный параметр при вызове сценария для $ password

spawn telnet $ {address} ### запустить сеанс telnet на машине с IP = $ address

### начать разговор с машиной:

ожидать "логин:"

отправить - "$ {имя пользователя} \ r"

ожидать "Пароль:"

отправить - "$ {пароль} \ r"

ожидать "$"

отправить - "#! / bin / ksh \ r" ### объявить используемую оболочку (необязательно)

ожидать "$"

отправить - "### введите ей любую команду, которую вы хотите выполнить"

ожидать "$"

send - "exit \ r" ### завершить сеанс telnet и выйти из скрипта

Чтобы выполнить этот скрипт, я набрал:

$ wait_script "address" "username" "password" ### имя сценария "wait_script"

Но прежде чем вызывать ожидаемый скрипт, вы должны сделать ожидаемый скрипт исполняемым, и это можно сделать, набрав:

$ chmod + x wait_script

Решение

Попробуй это:

 #! / usr / local / bin / ожидаем порождения telnet ожидаем "логин:" отправить "\ n" ожидаем "Пароль:" отправить "\ n" отправить "bash \ n" отправить "cd / opt \ n" отправить "ls - ltr \ n "? (если вы не даете \ n, он будет ждать вашего ответа или вам придется вводить ввод вручную). взаимодействовать 

Как выполнить команду «ожидаемо»

Пример: ожидаем -f .expect

Заметка

Спасибо ZooZoo за этот совет на форуме.

Предыдущая статья Следующая статья

Лучшие советы