Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | expect [2025/07/06 12:38] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Expect примеры Linux ====== | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Expect - инструмент для автоматизации интерактивных приложений в Linux таких, как telnet, ftp, passwd, fsck, rlogin, tip, ssh.) | ||
+ | }} | ||
+ | **Expect** - инструмент для автоматизации интерактивных приложений таких, как telnet, ftp, passwd, fsck, rlogin, tip, [[ssh]] и других. Expect поддерживает механизм регулярных выражений и основные возможности программирования, | ||
+ | |||
+ | Одним из главных применений Expect являются коммерческие приложения. Многие из этих приложений предоставляют интерфейс командной строки, | ||
+ | |||
+ | Expect унаследовал синтаксис Tcl, который не похож на другие скриптовые языки, такие как [[bash]], [[csh]], и [[Perl]]. | ||
+ | |||
+ | Expect портирован в языки [[Python]] и Perl в виде различных дополнительных модулей. Подмножество команд Expect-а портировано в [[Java]] и доступно в SwitchTermJ (java-based Terminal Emulator). Реализация процедур в этих модулях это в основном интерпретация оригинальной версии с эквивалентной функциональностью. | ||
+ | |||
+ | * Установка в Debian | ||
+ | <file bash> | ||
+ | apt install expect-dev expect | ||
+ | </ | ||
+ | ====== expect_autoexpect ====== | ||
+ | Скрипт **expect_autoexpect** позволяет создать скрипт с командами из текущей сессии. Например, | ||
+ | # expect_autoexpect | ||
+ | autoexpect started, file is script.exp | ||
+ | # telnet 127.0.0.1 7000 | ||
+ | Trying 127.0.0.1... | ||
+ | Connected to 127.0.0.1. | ||
+ | Escape character is ' | ||
+ | ****************************************************************************** | ||
+ | * | ||
+ | * * | ||
+ | ****************************************************************************** | ||
+ | |||
+ | mvts3g|> config / | ||
+ | Step 1: Parsing a configuration file... | ||
+ | Step 2: Configuring the system... | ||
+ | Step 3: Done. | ||
+ | mvts3g|> exit | ||
+ | Connection closed by foreign host. | ||
+ | </ | ||
+ | Жмем Ctrl-D для завершения работы скрипта expect_autoexpect< | ||
+ | # exit | ||
+ | autoexpect done, file is script.exp | ||
+ | </ | ||
+ | # ./ | ||
+ | </ | ||
+ | ====== Примеры использования ====== | ||
+ | |||
+ | ====== ftp_expect.sh ====== | ||
+ | < | ||
+ | # | ||
+ | ###################################################################################### | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | |||
+ | set remote_server xxx.xxx.xxx.225 | ||
+ | set my_user_id testuser | ||
+ | set my_password testpass | ||
+ | # Открыть ftp-сессию на удалённом сервере, | ||
+ | spawn ftp $remote_server | ||
+ | | ||
+ | # Послать имя пользователя, | ||
+ | send " | ||
+ | | ||
+ | # Послать пароль, | ||
+ | send " | ||
+ | | ||
+ | # Переключиться в бинарный режим, и снова ждать приглашения ввода ftp. | ||
+ | send " | ||
+ | | ||
+ | # Выключить приглашение ввода. | ||
+ | send " | ||
+ | | ||
+ | # Получить все файлы | ||
+ | send "mget *\r" | ||
+ | | ||
+ | # Закончить ftp-сессию и ждать спецсимвол конца файла (eof). | ||
+ | send " | ||
+ | | ||
+ | </ | ||
+ | ====== ssh_expect.sh ====== | ||
+ | < | ||
+ | # | ||
+ | #set timeout 100 | ||
+ | set PASS " | ||
+ | set USER " | ||
+ | spawn ssh -T $USER@[lrange $argv 0 0]; | ||
+ | expect " | ||
+ | send " | ||
+ | expect " | ||
+ | send " | ||
+ | expect " | ||
+ | send " | ||
+ | expect eof | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга