АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

comgt - Интернет в облаке

Запустите comgt в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда comgt, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


comgt - Опция GlobeTrotter GPRS / EDGE / 3G / HSDPA и управление картой данных Vodafone 3G / GPRS
инструментом

СИНТАКСИС


комгт -d устройство -ehstvVx скрипт

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


-d устройство
установить устройство, которое будет использоваться для связи с картой данных. Если не
указано, затем comgt пытается / dev / noz2, / dev / ttyUSB2 , а затем / dev / модем

-e
включить эхо последовательной связи.

-h
отобразить сводную справку и выйти.

-s
не запускайте внутренние по умолчанию сценарий перед внешним сценарием.

-t
заменить на альтернативный терминатор строки (по умолчанию "0).

-v
запустить в подробном режиме. Это отслеживает сценарии по мере их выполнения. это
предназначен для помощи в отладке скриптов.

-V
Информация о версии для печати.

-x
для внутренних и внешних сценариев любая ссылка на 115200 бод считается
преобразован в 57600. Это полезно для карт данных, которым не нравится 115200
бод, например GlobeTrotter EDGE.

ОПИСАНИЕ


комгт интерпретатор языка сценариев, полезный для установления связи по последовательному
линий и через модемы PCMCIA, а также карты данных GPRS и 3G.

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

Особенности
- Предварительно определенные встроенные скрипты для управления картами данных 2G / 3G
- Простой, похожий на BASIC скриптовый язык.
- Командная строка и поиск файлов скрипта.
- Ожидание множественных ответов.
- waitquiet разрешает стабилизацию линии.
- Встроенный захват текста.
- Поддержка нескольких процессов: вилка, ожидание, уничтожение, выход.
- Подробная отладка и вывод журнала.
- запись в файл.
- Управление потоком: goto, gosub, return, if, else.
- Низкое влияние на системные ресурсы.
- Время команд и функций.
- Манипуляции со строками.
- Манипуляции с окружением: env (), putenv.
- Системные вызовы внешних утилит: system, exec.

Поддержанный GPRS и 3G карты данных
комгт был протестирован на GlobeTrotter GPRS, EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA и
GlobeTrotter Fusion, а также Vodafone 3G. Он может установить PIN-код и отображать информацию
о картах данных перед установкой PPP-соединения. Кроме того, поскольку
Карты данных GlobeTrotter и Vodafone 3G / GPRS имеют вторичный последовательный интерфейс.
Карты данных можно отслеживать, пока существует PPP-соединение и передаются данные.

комгт в первую очередь предназначен для работы с картами данных серии GlobeTrotter, но должен быть
совместим с любой другой картой данных GPRS или 3G при условии, что ее интерфейс реализован как единый
или более последовательных или последовательных USB-устройств, и это контролируется и запрашивается реализацией
командного интерфейса Hayes с теми же расширениями AT-команд, которые используются в перечисленных
карты данных.

. комгт
комгт имеет только одну функцию: запускать скрипт. Это может быть один из ряда "стандартных"
внутренние скрипты или внешний скрипт. Оба типа скриптов вызываются одинаково.
"Стандартные" скрипты встроены в комгт и будет работать для модемов, подключенных последовательно,
встроенные модемы, модемы PCMCIA, а также GlobeTrotter GPRS и Vodafone 3G / GPRS
карты данных. Есть порядок приоритета поиска для скриптов - 1) внутренний, 2) рабочий.
каталог, 3) / etc / comgt

Встроенный скрипты
комгт
Это запускает внутренний сценарий по умолчанию. Бег комгт без указания сценария, например,
комгт -d / dev / ttyS1 он проверит PIN-код и спросит, требуется ли он. Следующий
он ждет, пока устройство зарегистрируется, а затем сообщает об уровне сигнала. Если
вы не указываете порт с -d вариант тогда / dev / модем предполагается. Если ключ -s
не используется, то этот сценарий по умолчанию запускается перед любым внешним сценарием.

комгт помощь
Перечисляет эти и другие доступные варианты.

комгт info
Перечисляет конфигурацию карты данных.

комгт SIG
Печатает мощность сигнала.

комгт Редж
Печатает состояние регистрации.

комгт 3G
Переводит GlobeTrotter 3G / Fusion и Vodafone 3G в режим только сети 3G (UMTS / HSDPA).

комгт 2G
Переводит GlobeTrotter 3G / Fusion и Vodafone 3G в режим только сети 2G (GSM / GPRS / EDGE).

комгт 3G2G
Переводит GlobeTrotter 3G / Fusion и Vodafone 3G в предпочтительный режим 3G (UMTS / HSDPA и
GSM / GPRS / EDGE).

комгт ГТЕДЖ
Используйте эту команду для инициализации карт GlobeTrotter EDGE и GlobeTrotter Combo EDGE перед
делать что-нибудь еще. (Включает радио).

комгт США
Переключитесь на диапазон 900/1900 МГц для работы в США. Только карты данных GlobeTrotter GPRS.

комгт ЕВРОПА
Переключитесь на диапазон 900/1800 МГц для работы в Европе. Только карты данных GlobeTrotter GPRS.

комгт PIN-код
Проверьте статус PIN-кода SIM-карты и используйте в качестве значения переменную среды COMGTPIN.

комгт APN
Установите APN карты данных на значение, содержащееся в переменной среды COMGTAPN.

На заказ Заметки к слайдам
Помимо встроенных скриптов вы можете создавать свои собственные. Следующий сценарий устанавливает Vodafone 3G
datacard или Option Fusion card из режима UMTS в GPRS:

# Установить режим только GPRS
установить com 115200n81
установить senddelay 0.05
waitquiet 1 0.2
отправить "AT_OPSYS = 0 ^ m"
распечатать "Настройка режима только GPRS"

Если вы сохранили приведенный выше сценарий как GPRS, вы бы назвали его так:

комгт GPRS

Если вам также нужно указать порт, сделайте следующее:

комгт -d / dev / ttyS1 GPRS

Вы также можете передать параметры среды в комгт сценарий через $ env ().

Замена чат
чат - это утилита, которая поставляется с пакетом ppp (во всяком случае для Linux), который с набором
пары строк "ожидание-отправка" достаточно для подключения большинства людей к интернет-провайдерам и тому подобному. Пока
использование чата очень простое, оно не очень гибкое. Это где комгт берет на себя.

комгт может быть использован вместо чат используя ту же стратегию. Например, строка pppd
чтение:

ppd подключение \
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
слово: whitewater´ \
/ dev / cua1 38400 отладка crtscts модем defaultroute

Был бы, используя комгт, читать:

pppd connect ´comgt -s /root/scripts/isp.scr´ / dev / cua1 38400 \
отладить crtscts модем defaultroute

И сценарий isp.scr будет читать:

отправьте "ATDT5551212 ^ m"
подождите 60 "огин:"
отправить "ppp ^ m"
подождите 60 "слово:"
отправить "Уайтуотер ^ м"

Конечно, тогда становится тривиальным сделать этот скрипт намного более функциональным,
добавление кода для обнаружения занятости, повторного набора и т. д.

Подробный выходной
Когда включен подробный параметр, комгт сообщает все о стандартной ошибке
канал. Если этот параметр включен из командной строки (-v), вывод будет содержать 4 раздела.

- Действия аргументов командной строки
Это действия, предпринятые, потому что они были указаны из командной строки, например
открытие устройства связи (-d) и т. д. Чтобы они выводились, вы должны указать -v
как первый аргумент.

- Список аргументов
Количество и список переданных аргументов. Это полезно, если у вас много
переменные среды или кавычки, обратные кавычки, обратная косая черта в командной строке, и вы
не уверен, что действительно видит сценарий.

- Список скриптов
Список выполняемого скрипта. Это может быть объединение внутренних
сценарий, если это не подавлено параметром -s, и файл сценария. Каждая строка
указан с номером строки и позицией символа.

- Вывод исполнения
Список команд по мере их выполнения. Парсер печатает текущую строку,
начиная с точной точки, где он находится, до конца строки. Множественная команда
группы в одной строке создают несколько строк вывода. Подробный вывод может быть смешан с
вывод скрипта (print, eprint или lprint.)

Вот пример:

$ comgt -v -d / dev / cua1 -s blah.scr
comgt 00:18:46 -> Подробный вывод включен
comgt 00:18:46 -> Файл сценария: blah.scr
comgt 00:18:46 -> argc: 5
comgt 00:18:46 -> argv [0] = comgt
comgt 00:18:46 -> argv [1] = - v
comgt 00:18:46 -> argv [2] = - d / dev / cua1
comgt 00:18:46 -> argv [3] = - s
comgt 00:18:46 -> argv [4] = blah.scr
comgt 00:18:46 -> --- Скрипт ---
1 @ 0000 установить com 38400n81 пусть a = 2
2 @ 0025 выведите "9x", a, "=", 9 * a, "\ n"
3 @ 0051 сон 5
4 @ 0059 выход 0
comgt 00:18:46 -> --- Конец скрипта ---
comgt 00:18:46 -> @ 0000 установить com 38400n81 let a = 2
comgt 00:18:46 -> @ 0017 let a = 2
comgt 00:18:46 -> @ 0025 выведите "9x", a, "=", 9 * a, "\ n"
9x2 = 18
comgt 00:18:46 -> @ 0051 сон 5
comgt 00:18:51 -> @ 0059 выход 0

Программирование руководство


Синтаксис
Синтаксис, используемый для комгт скрипты довольно просты, в некоторой степени похожи на БЕЙСИК. Сценарий - это
нетокенизированный текстовый файл в чистом формате ASCII, содержащий строки, оканчивающиеся символами новой строки
(Стандарт Unix.) Скрипты можно создавать и / или изменять с помощью любого стандартного текстового редактора.
(vi, vim, joe, pico, emacs, ed, microEmacs) Строки в комгт сценарий читается так:

- Пустая строка
- [отступ] rem примечание
- [отступ] [[: | метка] LABEL] [команда [аргументы]] rem примечание
- [отступ] [[: | метка] МЕТКА] [команда [аргументы]] [команда [аргументы]] ...

Для отступа используются символы пробела и табуляции.
Команда rem заставляет синтаксический анализатор сценария пропускать оставшуюся часть строки.
Команду rem также можно записать как «#» или «//».

Ярлыки состоят из строчных и прописных букв и цифр.
В ярлыках регистр игнорируется.

Команды и их аргументы разделяются пробелами и / или табуляциями.
Группы команд разделяются пробелами, табуляциями или символами новой строки.

Выражения не должны содержать пробелов или табуляции.
Это нормально: пусть n = x + 76
Это не так: пусть n = x + 76
Потому что этот пробел ^ завершит группу команд let.

Ошибка сообщения
После появления комгт обнаруживает ошибку скрипта, сразу включает подробный режим, формирует дамп
(см. команду dump), сообщает об ошибке в трех строках и останавливает выполнение. В
первая строка сообщает о выполняемой группе команд, вторая показывает, где
синтаксический анализатор получил, а третья строка сообщает позицию символа программного счетчика,
ошибка и код выхода.

Вот пример:

$ comgt -vs blar2.scr

Где находится скрипт blar2.scr:

вкл н
дек d3
пусть a = 58/3
пусть $ d = "корм"
пусть c = 1/0
пусть $ y4 = "sdfgsdfgsdfg"

Отчет о трассировке и ошибках выглядит так:

comgt 11:20:15 -> Подробный вывод включен
comgt 11:20:15 -> Файл сценария: blar2.scr
comgt 11:20:15 -> argc: 3
comgt 11:20:15 -> argv [0] = comgt
comgt 11:20:15 -> argv [1] = - vs
comgt 11:20:15 -> argv [2] = blar2.scr
comgt 11:20:15 -> --- Скрипт ---
1 @ 0000 прибавлений n
2 @ 0007 дек d3
3 @ 0015 пусть a = 58/3
4 @ 0027 let $ d = "корм"
5 @ 0041 пусть c = 1/0
6 @ 0052 let $ y4 = "sdfgsdfgsdfg"
comgt 11:20:15 -> --- Конец скрипта ---
comgt 11:20:15 -> @ 0000 inc n
comgt 11:20:15 -> @ 0007 дек d3
comgt 11:20:15 -> @ 0015 пусть a = 58/3
comgt 11:20:15 -> @ 0027 let $ d = "fod"
comgt 11:20:15 -> @ 0041 пусть c = 1/0
comgt 11:20:15 -> - Отчет об ошибке -
comgt 11:20:15 -> ----> ^
comgt 11:20:15 -> Ошибка @ 49, строка 5, деление на ноль. (6)

Выход Коды
После появления комгт завершается, он делает это с «кодом выхода». Это число, возвращенное
вызывающий процесс для обозначения успеха или неудач. В повседневной среде Unix 0 (ноль) означает
успех и все остальное означает то, что хочет означать автор программы. В
сценарий оболочки или непосредственно в командной строке вы можете просмотреть содержимое $? после
позвонив комгт чтобы изучить его код выхода.

Пример:

#!/ Бен / ш
comgt / корень / bin / call-isp
если [$? ! = 0]; тогда
echo "Ой! Что-то пошло не так."
fi

внутренний комгт коды ошибок следующие:

0: Никаких проблем. Видимо.
1: Проблемы с устройством связи.
2: Проблемы с консольным (tty) устройством.
3: Проблемы с памятью.
4: Проблемы с файлом или каналом.
5: синтаксические ошибки.
6: Деление на ноль.
7: Неправильное управление переменными.
8: Системные проблемы. (Не удалось позвонить / Бен / ш или что-то в этом роде)

Команды
Команда:: Псевдоним: метка
Описание: отмечает точку привязки для перехода к goto или gosub.
Синтаксис: ключевое слово не должно содержать специальных символов.
Примечание: оператор должен быть первым в строке.
См. Также: goto, gosub, return.
Пример:
: петля
Госуб Браво
print "Время", $ time (), "\ n"
спать 1
цикл goto
лейбл браво
напечатать "Twonk! \ n"
возвращают

Команда: прервать
Описание: заставляет comgt вызвать abort () и создать дамп ядра.
Синтаксис: abort
См. Также: дамп, выход.

Команда: cd
Описание: Сменить каталог.
Синтаксис: cd directory
Примечания: -1 возвращается в%, если изменение не может быть выполнено.
Примечания: каталог представляет собой строку и, следовательно, может быть переменной.
См. Также: $ cwd ().
Пример:
cd "да"
if%! = 0 print "Не удалось перейти в дух. \ n"

Команда: закрыть
Описание: закрывает файл, ранее открытый с помощью open.
Синтаксис: закрыть файл
См. Также: open.

Команда: dec
Описание: уменьшает содержимое целочисленной переменной на 1.
Синтаксис: dec x
Примечания: x принимает значения от a до z или от a0 до z9.
Примечания: Обратите внимание, что «let x = x-1» также работает.
См. Также: let, inc.

Команда: сбросить
Описание: перечисляет все ненулевые целочисленные переменные и измененную строку.
Описание: переменные как записи журнала (стандартный канал ошибок).
Синтаксис: dump
См. Также: прерывание, выход

Команда: else
Описание: В качестве альтернативы выполнять команды, если последний "если" проверен неверно.
Синтаксис: else команды ...
См. Также: если
Пример:
if w <350 выведите "Вау! Представьте себе это. \ n"
else print "Раш Лимбо - большой жирный ублюдок. \ n"

Команда: eprint
Описание: распечатать список аргументов, разделенных запятыми, на stderr.
Синтаксис: eprint var, stringvar, "текст", ...
Примечания: как print, но в стандартном дескрипторе файла ошибок.
Примечания: вывод ошибки можно перенаправить с помощью "2> file" на
Примечания: командная строка.
См. Также: печать.

Команда: exec
Описание: заменяет текущий процесс comgt другим процессом.
Синтаксис: exec "command -args ..."
См. Также: system, fork.
Пример:
# Готовый скрипт, звоните у.е.
exec "cu -l" + $ dev () + "-s" + $ baud ()

Команда: выход
Описание: завершает выполнение скрипта кодом выхода.
Синтаксис: exit exit_code
См. Также: abort, dump.
Пример:
: ошибка
выйти из 1
: smeggit
выйти из 0

Команда: flash
Описание: Включает DTR на устройстве связи на определенное время.
Синтаксис: flash float_constant
Примечания: float_constant имеет точность до 1/100 секунды.
Примечания: Заставляет модем сбросить несущую или перейти в командный режим,
Примечания: в зависимости от настроек модема. Установка скорости передачи на 0
Примечания: какое-то время имеет тот же эффект.
См. Также: sleep, set com.
Пример:
:Отключить
вспышки 0.5
выйти из 0

Команда: fprint
Описание: распечатать в файле список аргументов, разделенных запятыми.
Синтаксис: fprint var, stringvar, "текст", ...
Примечания: как печать, но добавлены к ранее открытому файлу.
Примечания: открытыми.
См. Также: печать.

Команда: вилка
Описание: разделяет процесс на две части. Оба процесса продолжаются
Описание: выполнение скрипта.
Синтаксис: fork
Примечания:% возвращает 0 для дочернего процесса, новый идентификатор процесса для
Примечания: parent или -1 в случае ошибки.
См. Также: wait, kill, pid (), ppid ().
Пример:
вилка
если% = -1 ошибка перехода
если% = 0 перейти к дочернему элементу
: родитель
...

Команда: получить
Описание: получить строку от устройства связи.
Синтаксис: получить тайм-аут "терминаторы" $ строка
Примечания: тайм-аут - это константа с плавающей запятой, терминаторы - это
Примечания: список символов, которые при получении завершаются
Примечания: получить. Терминаторы игнорируются при получении первыми.
См. Также: waitfor.
Пример:
ждать 60 "подключиться"
если%! = 0 перейти к ошибке
получить 2 "^ m" $ s
print "Параметры подключения:", $ s, "\ n"

Команда: gosub
Описание: вызывает подпрограмму.
Синтаксис: gosub label
Примечания: В настоящее время comgt поддерживает только 128 уровней gosub.
Примечания: звонки (хватит!)
См. Также::, goto, return.
Пример:
распорядок госаба
спать 1
распорядок госаба
На конец
:рутина
print "Flim-flam! \ n"
возвращают

Команда: goto
Описание: отправляет выполнение в другое место скрипта.
Синтаксис: goto label
См. Также::, gosub, return.
Пример:
: win95
print "Сегодня я хочу пойти и использовать Linux, спасибо. \ n"
перейти на win95

Команда: hset
Описание: Установите таймер сотен.
Синтаксис: значение hset
Примечания: Эта команда сбрасывает таймер сотен секунд на
Примечания: значение, с которого начинается htime.
См. Также: htime ().
Пример:
хсет 0
: петля
print "Время в 1/100 секунды:", htime (), "\ n"
спать 0.01
цикл goto

Команда: если
Описание: проверяет состояние
Синтаксис: если команды test_condition ...
Примечания: Conditionnaly выполняет команды, если условие проверки истинно.
Примечания: операторы тестирования: = (равно),! = (Не равно),
Примечания: <> (не равно) <(меньше чем),> (больше чем),
Примечания: <= (меньше или равно),> = (больше или равно).
Примечания: все операторы можно использовать с целыми числами и строками.
Примечания: Если test_condition ложно, при переходе к
Примечания: следующая строка.
См. Также: else.
Пример:
если n> 30, выведите «О-о! Слишком много овец! \ n» перейти к ошибке
если n = 17, выведите «Ура! нам достаточно овец \ n» goto party
если n <17, выведите «Мюррей, получите больше овец. \ n» goto getmore
if $ z <"Marmaluke" goto ...
если 3 * a> 5 + b goto ...

Команда: inc
Описание: увеличивает содержимое целочисленной переменной на 1.
Синтаксис: inc x
Примечания: x - это az или a0-z9.
См. Также: dec, let.

Команда: ввод
Описание: ввод строки с клавиатуры в строковую переменную.
Синтаксис: input $ x
Примечания: ввод завершает ввод только клавишей ENTER.
Примечания: Пробелы, табуляции и другие забавные символы - все это
Примечания: хранится в переменной.
См. Также: установить эхо.
Пример:
print "Введите ваше полное имя:"
вход $ n4

Команда: убить
Описание: отправляет сигнал процессу.
Синтаксис: kill signal processID
Примечания: И сигнал, и идентификатор процесса являются целочисленными значениями. Такой же как
Примечания: стандартный unix kill, за исключением псевдонимов сигналов.
Примечания: принято и сигнал не является обязательным.
Примечания: 0 возвращается в%, если сигнал может быть отправлен, -1
Примечания: в противном случае.
Примечания: Сигнал 0 может использоваться для определения наличия процесса.
См. Также: wait, pid (), ppid ().
Пример:
вилка
пусть p =%
если p = 0 перейти к дочернему элементу
спать 300
убивать 15 р
спать 1
убивать 0 р
if%! = 0 print "Дочерний прерван \ n" goto ok
print "Не удалось удалить ребенка! \ n"
убивать 9 р
спать 1
убивать 0 р
if% = 0 print "Не удалось убить ребенка! \ n" ошибка перехода
print "Ребенок убит. \ n"
:Хорошо
...

Команда: пусть
Описание: Выполняет присвоение переменной.
Синтаксис: let x = content
Примечания: x равно [$] a0-z9.
См. Также: inc, dec.
Пример:
пусть a = 5
пусть b = (time () - a) +5
пусть y7 = 6809
let z = 0% 11010111 # Двоичный
let z = 077324 #octal
let z = 0xf5b8 #hexadecimal
let $ c = "Дэниел"
пусть $ d = $ c + "Chouinard"
let $ s5 = "Frimpin´ Jeosaphat!"

Команда: lprint
Описание: Распечатайте в журнал список аргументов, разделенных запятыми.
Синтаксис: fprint var, stringvar, "текст", ...
Примечания: как печать, но печатается как запись в журнале, если включена подробная информация.
Примечания: журнал отправляется на stderr.
См. Также: print, eprint, fprint.

Команда: открыть
Описание: открывает файл или устройство связи.
Синтаксис: открыть устройство com, открыть com (stdin), открыть файл FILE
См. Также: закрыть.
Пример:
открыть com / dev / cua1
установить com 38400n81
открыть файл "/ tmp / log"
fprintf "Это журнал \ n"
закрыть файл

Команда: печать
Описание: вывести список аргументов, разделенных запятыми.
Синтаксис: print var, stringvar, «текст», ...
Примечания: Пробелы и символы новой строки не добавляются автоматически.
См. Также: eprint, fprint, lprint.
Пример:
пусть b = 26
let $ c = "текстовые переменные"
print "Непрерывный текст", b, "", $ c, "time:", $ time (), "\ n"

Команда: putenv
Описание: устанавливает переменную среды.
Синтаксис: putenv "var = content"
Примечания: переменные среды автоматически экспортируются,
Примечания: не вернулся. Дочерние процессы наследуют
Примечания: окружающая среда.
См. Также: $ env ().
Пример:
putenv "SCRIPTDIR = / usr / lib / comgt / scripts"
system "dothat" # dothat читает env. var. SCRIPTDIR ...

Команда: rem Псевдонимы: #, //
Описание: Замечание. Остальная часть строки игнорируется.
Синтаксис: обратите внимание, что после "rem" должен стоять пробел.
Пример:
# Это замечание
// Это так
rem Это не дискотека.

Команда: возврат
Описание: Возврат из подпрограммы.
Синтаксис: return
См. Также: gosub.

Команда: отправить
Описание: отправляет строку на линию связи (обычно модем).
Синтаксис: отправить строку
Примечания: возврат каретки (ENTER) не отправляется автоматически.
Примечания: (используйте ^ m).
Пример:
отправить "atdt555-1212 ^ m"
отправить $ g + "^ m"
отправить "Время" + $ time () + "^ m ^ j"

Команда: установить
Описание: устанавливает рабочие параметры.
Синтаксис: установить значение параметра
Примечания:

Описание команды
----------------------------- --------------------- ----------------------------
включить эхо | выключить Эхо клавиатуры на экране.
установить Comecho on | off Полученные символы отображаются на экране эхом.
установить senddelay time_constant Промежуточная задержка символа для "отправки"
установить ignorecase on | off Чувствительность к регистру для "waitfor".
По умолчанию = включено.
установить clocal on | off clocal on = игнорировать сигналы модема
установить настройки по умолчанию для режима создания файлов в режиме umask.
См. Man umask.
set verbose on | off verbose on = отладочный вывод включен.
установить параметры связи com_params.
например: 19200n81, 300e71
бод |||
Четность |
Биты данных |
Стоповые биты |

Пример:
выключить эхо
распечатать "Пароль:"
ввод $ p
печать "\ n"
включить эхо
включи комечо
установить клокал на
установить senddelay 0.1
установить ignorecase на
установить com 38400n81
set umask 022 # Должен быть восьмеричным (начальный ноль)
...

Примечание по клокалу:
Если вы хотите, чтобы ваш скрипт продолжал работать после обнаружения носителем
сигнал упал, установите Clocal на, в противном случае падение CD вызовет
линию устройства, чтобы закрыть (положить трубку). Это могло произойти, если,
скажем, ваш скрипт вызывает и подключается, а затем отключается или
сбрасывает dtr (flash), затем пытается снова подключиться.

Команда: спать
Описание: приостанавливает выполнение.
Синтаксис: sleep float_constant
Примечания: Float_constant имеет точность до 1/100 секунды, если только
Примечания: более 100 секунд, в этом случае точность
Примечания: падает до 1 сек.

Пример:
спать 0.06
спать 3
спать 86400 / * Целый день * /

Команда: система
Описание: Вызывает системную (unix) команду
Синтаксис: система "команда"
См. Также: exec.
Пример:
: dir
напечатать "список каталога", $ cwd (), \ n "
система "ls -l | подробнее"

Команда: testkey
Описание: тестирует клавиатуру на нажатие клавиш, возвращает 1 в%, если присутствует.
Синтаксис: testkey
Примечания: Тестирование возможно только при нажатии клавиши ENTER. Будущие версии comgt
Примечания: будет проверять наличие большего количества клавиш и возвращать коды клавиш в%.
См. Также: ввод.
Пример:
пусть n = 1
: петля
напечатайте n, "овца ... ZZZzzz ... \ n"
спать п
вкл н
тестовый ключ
если% = 0 перейти к циклу

Команда: ждать
Описание: дождитесь завершения дочернего процесса.
Синтаксис: ждать
Примечания: Идентификатор процесса завершенного дочернего процесса возвращается в%
См. Также: fork, kill.
Пример:
вилка
пусть p =%
если p = 0 перейти к дочернему элементу
если p = -1 ошибка перехода
print "В ожидании, пока ребенок закончит ..."
ждать
печать "\ n"
if%! = p print "Подождите, получился неправильный PID! \ n" ошибка перехода
print "Ребенок готов. \ n"

Команда: waitfor
Описание: ожидает получения одной из строк из списка.
Синтаксис: ожидание тайм-аута "строка1", "строка2", "строка3" ...
Примечания: Тайм-аут - это плавающая постоянная времени. тихо возвращается
Примечания: 0 для первой полученной строки, 1 для второй и т. Д.
Примечания: и -1 для тайм-аута. По умолчанию регистр игнорируется, если только
Примечания: ignorecase отключен.
См. Также: получить.
Пример:
:набирать номер
отправить "atdt555-4411 ^ m"
дождитесь 60 «нет несущей», «занято», «нет гудка», «подключиться»
если% = -1 время ожидания перехода
если% = 0 перейти к nocd
если% = 1 перейти к повторному набору
если% = 2 ошибка перехода
если% = 3 перейти к подключению

Команда: waitquiet
Описание: ожидает, пока линия связи не перестанет принимать сообщения.
Синтаксис: waitquiet timeout quiettime
Примечания: как тайм-аут, так и тихое время являются постоянными времени с плавающей запятой.
Примечания: с 1/100 сек. точность. Полезно для "глотания"
Примечания: входящие персонажи на некоторое время или ожидание
Примечания: неизвестная подсказка.
Пример:
: closecon
отправить "logoff ^ m"
waitquiet 10 0.5
отправить "да ^ м"

Целое Функции
I-функция: доступ
Описание: проверяет права доступа к файлу.
Синтаксис: let x = access ("/ tmp / file", "frwx")
Примечания: вторая строка содержит один или несколько из
Примечания: ´f´, ´r´, ´w´, ´x´ для соответствующей проверки
Примечания: наличие, чтение, запись и выполнение разрешений.
Примечания: Под корневым идентификатором единственная полезная проверка - ´f´, так как
Примечания: все остальные вернут истину.
Возвращаемое значение: 0, если файл существует, доступен для чтения, записи,
Возвращаемое значение: исполняемый файл, или -1, если нет.
См. Также: мужчина доступ(2)

I-функция: бод
Описание: Возвращает текущую скорость линии связи.
Синтаксис: let x = baud ()
Примечания: не обязательно соответствует скорости модемного соединения.
См. Также: $ baud ().

I-функция: len
Описание: возвращает длину строки.
Синтаксис: let x = len ($ s)
Примечания: "" равно нулю. Строки в настоящее время имеют максимальную длину
Примечания: 1024 символа. comgt не обрабатывает переполнение строки
Примечания: у всех.

I-функция: htime
Описание: возвращает сотни секунд с момента запуска скрипта.
Синтаксис: let x = htime ()
Примечания: Установите конкретное значение с помощью hset.
См. Также: hset.

I-функция: pid
Описание: Возвращает идентификационный номер текущего процесса (comgt).
Синтаксис: let x = pid ()
См. Также: ppid (), fork

I-функция: ppid
Описание: Возвращает идентификационный номер родительского процесса.
Синтаксис: let x = ppid ()
Примечания: может использоваться разветвленным дочерним элементом для обнаружения родителя.
Примечания: процесс.

I-функция: время
Описание: возвращает время в секундах с 1 января, 00:00:00 1970 по Гринвичу.
Синтаксис: let x = time ()
Примечания: используется для расчета разницы во времени.
См. Также: $ time ()

I-функция: val
Описание: Возвращает значение строки.
Синтаксис: let x = val ($ x)
Примечания: Строка не является выражением; должен содержать только [0-9]
Примечания: персонажи. В будущих версиях comgt можно будет
Примечания: оценивайте выражения. (Может быть) (Это было написано 6
Примечания: много лет назад.)

I-функция: подробный
Описание: Возвращает значение подробного параметра.
Синтаксис: let x = verbose ()
Примечания: 0 = выключено, 1 = включено.

строка Функции
S-функция: базовое имя
Описание: Возвращает базовое имя части пути.
Синтаксис: let $ x = $ basename ($ p)
Примечания: $ basename ("/ usr / bin / more") = "more"
См. Также: $ dirname ().

S-функция: бод
Описание: возвращает строковое представление текущей скорости передачи.
Синтаксис: let $ x = $ baud ()
Примечания: определяется как "set com"
См. Также: baud (), set com.

S-функция: cwd
Описание: Возвращает путь к текущему рабочему каталогу.
Синтаксис: let $ x = $ cwd ()
См. Также: cd.

S-функция: dev
Описание: Возвращает текущее имя пути к устройству связи.
Синтаксис: let $ x = $ dev ()
Примечания: определяется аргументом командной строки "-d" или "open com"
См. Также: open com.

S-функция: dirname
Описание: Возвращает часть имени каталога из пути.
Синтаксис: let $ x = $ dirname ($ p)
Примечания: $ dirname ("/ usr / bin / more") = "/ USR / бен"
См. Также: $ basename ().

S-функция: env
Описание: возвращает содержимое переменной среды.
Синтаксис: let $ x = $ env ("HOME")
Примечания: Несуществующие переменные возвращают пустую строку.
См. Также: putenv.

S-функция: шестнадцатеричный
Описание: преобразует значение в шестнадцатеричное представление.
Синтаксис: let $ x = $ hex (x)
Примечания: буквы af в нижнем регистре, не предшествующие "0x"
См. Также: $ hexu (), $ oct ().

S-функция: hexu
Описание: преобразует значение в шестнадцатеричное представление.
Синтаксис: let $ x = $ hex (x)
Примечания: буквы AF в верхнем регистре, без "0x"
См. Также: $ hex (), $ oct ().

S-функция: hms
Описание: преобразует количество секунд в строку времени.
Синтаксис: let $ x = $ hms (x)
Примечания: Формат: «ЧЧ: ММ: СС». Полезно для отображения хронометра
Примечания: используйте с "time ()", не пытайтесь увеличивать переменную.
Примечания: каждую секунду с помощью «сна 1». (См. Пример сценария ISP)
Примечания. Формат становится "ЧЧ: ММ: СС" через 99 часов 59 минут,
Ноты: 59s ...
См. Также: time ().

S-функция: левая
Описание: возвращает левую часть строки
Синтаксис: let $ x = $ left ($ s, l)
Примечания: $ s = Исходная строка, l = длина
Примечания: l должно быть меньше длины струны.
См. Также: $ right (), $ mid ().

S-функция: средний
Описание: Возвращает середину строки.
Синтаксис: let $ x = $ mid ($ s, s, l)
Примечания: $ s = исходная строка, s = начало, l = длина
Примечания: s должно быть меньше длины строки, l может быть
Примечания: какое-то огромное число (9999), чтобы вернуть правую часть
Примечания: нанизывать до конца. первый символ строки
Примечания: позиция 0, а не 1.
См. Также: $ right (), $ left ().

S-функция: окт.
Описание: Преобразует значение в восьмеричное представление.
Синтаксис: let $ x = $ oct (x)
См. Также: $ hex (), $ hexu ().

S-функция: правая
Описание: возвращает правую часть строки.
Синтаксис: let $ x = $ right ($ s, l)
Примечания: $ s = Исходная строка, l = длина
Примечания: l должно быть меньше длины струны.
См. Также: $ left (), $ mid ().

S-функция: rpipe
Описание: возвращает первую строку из системной команды.
Синтаксис: let $ x = $ rpipe ("/ bin / ls | grep myfile ")
Примечания: не очень полезно, если не используется с head, tail, grep,
Примечания: и т. Д.
См. Также: system.

S-функция: время
Описание: возвращает 24-символьную строку местного времени.
Синтаксис: let $ x = $ time ()
См. Также: time ().
Примечания: Время указано в следующем формате: понедельник, 8 апреля, 14:21:22 1996 г.
012345678901234567890123
1 2

S-функция: tolower
Описание: Возвращает строку в нижнем регистре.
Синтаксис: let $ x = $ tolower ($ y)

S-функция: toupper
Описание: Возвращает строку в верхнем регистре.
Синтаксис: let $ x = $ toupper ($ y)

Пусконаладка Операторы
Оператор Описание Пример Результат
= равно, если 1 + 2 = 3 да
! = не равно, если 1 + 2! = 3 нет
<> не равно, если 1 + 2 <> 3 нет
> Больше, чем если бы 1 + 3> 3 да
<Меньше, чем если 1 + 3 <3 нет
> = Больше или равно, если 3> = 3 да
<= Больше или равно, если 2 <= 3 да

Строки можно сравнивать с помощью одних и тех же операторов.

"aaa" <"aab", "aaaa"> "aaa", "Test"! = "test", "One" = "One",
"A"> "a", "Fumble" <= "Fumigate", "Farsical" <> "Comedic"

Внимание что "установить ignorecase on" НЕ применяется к сравнениям строк.

Выражение Операторы
Оператор Описание Пример Результат
+ Сложение пусть a = 2 + 2 4
+ Конкатенация let $ b = "aa" + "bb" "aabb"
- Вычитание пусть e = 2-5-3
* Умножение пусть f = 11 * 2 22
/ Пусть деление g = 34/11 3
& Bit-Wise И пусть h = 42 & 7 2
| Bit-Wise ИЛИ пусть a = 42 | 5 47
^ Bit-Wise XOR пусть a = 42 ^ 7 45

Примеры смешанных выражений:

# Возвращает количество секунд с 00:00:00
let $ t = $ time () # Сделать снимок.
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
# Обратите внимание на лишние скобки, потому что выражение comgt
Мозг # оценщика мертв.
# Например, 5-2 + 1 должно дать вам 4, верно? Ну согласно
#getvalue (), на самом деле он дает 2, потому что делает это отчасти из
#справа налево.
# Итак, чтобы правильно оценить 5-2 + 1, используйте (5-2) +1. Если вы используете
# простые, двухэлементные вычисления, не беспокойтесь об этом.
# 5-2 даст вам 3.

#Concatenation (Вызывает cu)
exec "cu -l" + $ dev () + "-s" + $ baud () "

# В тестовом состоянии
если a + c> strlen ($ c) goto toomuch

# Сравнение строк
пусть $ t = $ mid ($ time (), 11,8)
if $ t> "19:59:59" print "Слишком поздно для этого! \ n" goto toolate
if $ t <"08:00:00" print "Слишком рано! \ n" перейти слишком рано
if $ t = "00:00:00" print "О боже! Пришло время Twinkee! \ n"

KNOWN ФУНКЦИИ И ОСОБЕННОСТИ


Парсер getvalue (). Это заставляет меня смеяться, поэтому я думаю, что оставлю все как есть. -
[электронная почта защищена]

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


COMGTPIN - 4-значный PIN-код SIM-карты для использования скриптом PIN-кода COMGTAPN - APN для записи
карта данных, используемая сценарием APN.

АВТОРЫ


Даниэль Шуинар[электронная почта защищена]> написал оригинал дкон утилита.

Пол Хардвик[электронная почта защищена]> обновил его для последних компиляторов при условии встроенного
в функциональности скрипта и протестировал его на картах данных GPRS и 3G.

Мартин Грегори[электронная почта защищена]> написал исходную страницу руководства для комгт из дкон
документация и упакованы комгт для распространения.

История
Даниэль Шуинар написал большую часть (90%) дкон еще в 1989 году, когда он начал создавать приложения для Unix
техническая поддержка в основном через модем для клиентских систем. Он устал печатать все эти
пароли и забавные коды тарификации звонков каждый раз, когда он использовал cu. Также компания, в которой он работал
поскольку нужна была система, которая регистрировала время звонков и предполагаемые затраты. Таким образом дкон .
Шесть или семь лет спустя (1996 г.) он использовал pppd для подключения к своему интернет-провайдеру. Он был
более или менее доволен чат но обнаружил, что ему не хватает контроля потока и проверки множественных ответов
от "atdt ...". Он хотел, чтобы он выполнял разные функции для «без оператора связи», «без гудка» и
"занятый". Хотя он думал, что чат когда-нибудь, вероятно, будет улучшен, когда он обнаружит
dcon.c на одной из своих старых 45-мегабайтных лент, он попытался скомпилировать его на своем Linux-компьютере и, о чудо,
вот, это было. В итоге он добавил к нему несколько вещей (kill, fork, wait, 1/100 sec.
раз) и оставил все как есть.

Пару лет назад Пол Хардвик нашел программу, дкон 0.97, последний раз модифицирован в 1996 году.
Целью этой программы было запускать сценарии, которые управляли бы последовательными портами Linux. В
реализация была очень похожа на то, что он написал для Windows. Во всяком случае, скорее
чем изобретать заново, он связался с автором, Даниэлем Шуинаром, и попросил его разрешения на повторное использование
код. К счастью, он дал разрешение и простую, но полезную утилиту под названием комгт законопроект
созданный. Пол ничего не делает с двигателем, за исключением того, что он совместим с сегодняшними
компиляторы. Это в основном дкон переупакован.

20 октября 2006 комгт(1)

Используйте comgt онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Жар-птица
    Жар-птица
    СУБД Firebird предлагает функции ANSI SQL
    & работает на Linux, Windows и
    несколько Unix-платформ. Функции
    отличный параллелизм и производительность
    & сила...
    Скачать Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer — это wysiwyg HTML-редактор, использующий
    кодовая база Mozilla Composer. В виде
    Разработка Нву остановлена
    в 2005 году KompoZer исправляет множество ошибок и
    добавляет ф...
    Скачать Композер
  • 3
    Бесплатная загрузка манги
    Бесплатная загрузка манги
    Free Manga Downloader (FMD) — это
    приложение с открытым исходным кодом, написанное на
    Object-Pascal для управления и
    скачивание манги с разных сайтов.
    Это зеркало...
    Скачать бесплатный загрузчик манги
  • 4
    UNetbootin
    UNetbootin
    UNetbootin позволяет создавать загрузочные
    Живые USB-накопители для Ubuntu, Fedora и
    другие дистрибутивы Linux без
    запись компакт-диска. Работает на Windows, Linux,
    и ...
    Скачать UNetbootin
  • 5
    Долибарр ERP - CRM
    Долибарр ERP - CRM
    Dolibarr ERP - CRM проста в использовании
    Пакет программного обеспечения ERP и CRM с открытым исходным кодом
    (запускается с веб-сервером php или как
    автономное программное обеспечение) для бизнеса,
    фундамент...
    Скачать Dolibarr ERP - CRM
  • 6
    Клиент SQuirreL SQL
    Клиент SQuirreL SQL
    SQuirreL SQL Client - это графический SQL
    клиент, написанный на Java, который позволит
    вы, чтобы просмотреть структуру JDBC
    совместимая база данных, просматривайте данные в
    столы ...
    Скачать SQL-клиент SQuirreL
  • Больше »

Команды Linux

Ad