Сценарий chat состоит из пар ожидание/передача, определяющих строки, ожидаемые системой, и строки, передаваемые в ответ. В действительности chat не имеет языка сценариев, но предоставляет ряд специальных символов, позволяющих создавать более сложные сценарии. Ниже приведен сценарий chat, выполняющий те же самые функции, что и сценарий dip, который мы изучали в предшествующем разделе:
'' ATZ OK ATDT*70,301-555-1234 CONNECT \d\d\r ogin> kristin word> Wats?Wat? > 'set port ppp enabled'
Каждая строка сценария начинается ожидаемой строкой, а заканчивается строкой, которая передается в качестве ответа. Модем не посылает строку, пока не получит соответствующую команду. Первая строка сценария имеет смысл «не ожидать ничего, передать модему команду инициализации». Пара одинарных кавычек (') в начале строки указывает программе chat, что не следует ожидать получения какой-либо строки. Выполнив команду инициализации, сценарий ожидает получения от модема приглашения ОК, а затем набирает номер удаленного сервера. Когда модем отображает сообщение CONNECT, сценарий выжидает две секунды (\d\d), а затем передает символ возврата каретки (\r). Каждый специальный символ \d предписывает паузу длительностью в одну секунду. Специальный символ \r обозначает возврат каретки. В chat существует довольно много специальных символов, которые могут использоваться в строках ожидания и передачи. Сценарий завершается передачей имени пользователя, пароля, а также команды настройки удаленного сервера - в ответ на соответствующие приглашения.
Наберите сценарий в своем любимом текстовом редакторе и сохраните в файле, назвав его, например dial-server. Проверьте сценарий при помощи ключа -V команды chat, который предписывает комментировать выполнение сценария в стандартном потоке ошибок:
|
Выполнения сценария chat не достаточно для настройки канала РРР. Чтобы выполнить поставленную задачу, команду следует использовать в сочетании с pppd. Параметр командной строки connect позволяет запустить pppd и выполнить сценарий подключения в одной команде:
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
# pppd /dev/cua1 56700 connect "chat -V -f dial-server" \ nodetach crtscts modem defaultroute
Команда chat, указанная в качестве аргумента параметра connect, используется для коммутируемого подключения и регистрации. Здесь может применяться любой пакет, способный выполнить подобные действия; не обязательно chat.
Команда pppd имеет и другие параметры, используемые для клиентов коммутируемых РРР-подключений. Параметр modem предписывает pppd отслеживать наличие несущей частоты (DCD) модема. Указатель DCD сообщает pppd, что соединение установлено или разорвано, pppd следит за DCD, чтобы определить, когда удаленный сервер повесит трубку. Параметр nodetach запрещает pppd отсоединение от терминала и работу в фоновом режиме. Это необходимо только в случае, когда команда chat выполняется с ключом -V. Завершив отладку сценария chat, удалите ключ V из подкоманды chat и параметр nodetach из команды pppd. Альтернативой является применение ключа -v команды chat. -V не требует изменения режима работы pppd, поскольку диагностика chat передается демону syslogd, а не в поток ошибок. Все прочие параметры этой командной строки мы уже встречали ранее.