англійськафранцузькаіспанська

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 контроль картки даних
інструмент

СИНТАКСИС


comgt -d пристрій -ehstvVx сценарій

ВАРІАНТИ


-d пристрій
встановити пристрій, який буде використовуватися для зв’язку з картою даних. Якщо ні
вказано потім comgt trys /dev/noz2, /dev/ttyUSB2 , А потім /dev/модем

-e
увімкнути відлуння послідовного зв’язку.

-h
відобразити підсумкову довідку та вийти.

-s
не запускайте внутрішні дефолт сценарій перед зовнішнім сценарієм.

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

-v
запускати в багатослівному режимі. Це відстежує сценарії під час їх виконання. Це є
призначений для допомоги в налагодженні сценаріїв.

-V
Інформація про друковану версію.

-x
для внутрішніх і зовнішніх сценаріїв будь-яке посилання на 115200 бод
перетворено на 57600. Це корисно для карт даних, яким не подобається 115200
бод, наприклад GlobeTrotter EDGE.

ОПИС


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

comgt має деякі функції, які рідко зустрічаються в інших утилітах того ж типу.

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

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

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

використання comgt
comgt має лише одну функцію: запустити сценарій. Це може бути один із ряду "стандартних"
внутрішні сценарії або зовнішній сценарій. Обидва типи сценаріїв викликаються однаково.
Вбудовані «стандартні» скрипти comgt і буде працювати для послідовно підключених модемів,
вбудовані модеми, модеми PCMCIA, а також GlobeTrotter GPRS і Vodafone 3G/GPRS
картки даних. Існує черговість пошуку скриптів - 1) внутрішні, 2) робочі
каталог, 3)/etc/comgt

Вбудований scripts
comgt
Це запускає внутрішній сценарій за умовчанням. Біг comgt без указаного сценарію, наприклад,
comgt -d /dev/ttyS1 він перевірить PIN-код і запитає вас, якщо він потрібен. Наступний
що він робить, це чекає, поки пристрій зареєструється, а потім повідомляє про силу сигналу. Якщо
ви не вказуєте порт за допомогою -d варіант тоді /dev/модем передбачається. Якщо перемикач -s
не використовується, тоді цей типовий сценарій виконується перед будь-яким зовнішнім сценарієм.

comgt допомога
Перелічує ці та інші доступні параметри.

comgt інформація
Перелічує конфігурацію картки даних.

comgt сиг
Друкує потужність сигналу.

comgt Реджо
Друкує стан реєстрації.

comgt 3G
Переводить GlobeTrotter 3G/Fusion і Vodafone 3G у режим лише мережі 3G (UMTS/HSDPA).

comgt 2G
Переводить GlobeTrotter 3G/Fusion і Vodafone 3G у режим лише мережі 2G (GSM/GPRS/EDGE).

comgt 3G2G
Переводить GlobeTrotter 3G/Fusion і Vodafone 3G у пріоритетний режим 3G (UMTS/HSDPA та
GSM/GPRS/EDGE).

comgt GTEDGE
Використовуйте цю команду, щоб ініціалізувати карти GlobeTrotter EDGE і GlobeTrotter Combo EDGE перед
робити щось інше. (Вмикає радіо).

comgt USA
Переключіться на діапазон 900/1900 МГц для роботи в США. Лише карти даних GlobeTrotter GPRS.

comgt ЄВРОПА
Перейдіть на діапазон 900/1800 МГц для роботи в Європі. Лише карти даних GlobeTrotter GPRS.

comgt PIN-код
Перевірте статус PIN-коду SIM-карти та використовуйте змінну середовища COMGTPIN як значення.

comgt APN
Установіть для APN картки даних значення, що міститься в змінній середовища COMGTAPN.

виготовлений на замовлення Додайте нотатки до слайдів
Окрім вбудованих сценаріїв, ви можете створювати власні. Наступний сценарій встановлює Vodafone 3G
карта даних або режим UMTS карти Option Fusion до GPRS:

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

Якщо ви зберегли наведений вище сценарій як GPRS, ви б назвали його так:

comgt GPRS

Якщо вам також потрібно вказати порт, зробіть це:

comgt -d /dev/ttyS1 GPRS

Ви також можете передати параметри середовища в a comgt сценарій через $env().

заміна чат
чат це утиліта, яка постачається з пакетом ppp (принаймні для Linux), який із набором
пар рядків очікування-надсилання, достатньо для підключення більшості людей до Інтернет-провайдерів тощо. Поки
використання чату дуже просте, але не дуже гнучке. Ось де comgt бере на себе.

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

pppd підключення \
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
слово: whitewater´ \
/dev/cua1 38400 debug crtscts modem route за замовчуванням

Б, використовуючи comgt, читати:

pppd підключення ´comgt -s /root/scripts/isp.scr´ /dev/cua1 38400 \
debug crtscts modem defaultroute

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

надіслати "ATDT5551212^m"
зачекайте 60 "вхід:"
відправити "ppp^m"
зачекайте на 60 "слово:"
відправити "whitewater^m"

Звичайно, тоді стає тривіальним зробити цей сценарій набагато більш функціональним
додавання коду для виявлення зайнятості, повторного набору тощо...

Verbose вихід
Коли ввімкнуто опцію докладного, comgt повідомляє все про стандартну помилку
канал. Якщо ввімкнути з командного рядка (-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 set com 38400n81 let a=2
comgt 00:18:46 -> @0017 нехай a=2
comgt 00:18:46 -> @0025 print "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 сон 5
comgt 00:18:51 -> @0059 вихід 0

Програмування керівництво


синтаксис
Синтаксис, який використовується для comgt скриптів досить простий, дещо схожий на BASIC. Сценарій - це a
нетокенізований, чистий текстовий файл ASCII, що містить рядки, що закінчуються символами нового рядка
(Стандарт Unix.) Скрипти можна створювати та/або змінювати за допомогою будь-якого стандартного текстового редактора
(vi, vim, joe, pico, emacs, ed, microEmacs) Рядки в comgt сценарій читається так:

- Порожній рядок
- [indent]rem примітка
- [відступ][[:|мітка] МІТКА] [команда [аргументи]] rem зауваження
- [відступ][[:|мітка] МІТКА] [команда [аргументи]] [команда [аргументи]]...

Символи, які використовуються для відступу, - це пробіл і символи табуляції.
Команда rem змушує аналізатор сценарію пропускати решту рядка.
Команду rem також можна записати як "#" або "//".

Етикетки складаються з малих і великих літер і цифр.
Регістр у мітках ігнорується.

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

Вирази не повинні містити пробілів або табуляції.
Це нормально: нехай n=x+76
Це не так: нехай n= x + 76
Оскільки цей пробіл ^ завершував би групу команд let.

помилка звітність
Коли comgt виявляє помилку сценарію, негайно вмикає детальний режим, створює дамп
(див. команду dump), повідомляє про помилку в трьох рядках і зупиняє виконання. The
Перший рядок повідомляє групу команд, що виконується, другий показує, де знаходиться
синтаксичний аналізатор отримав, і третій рядок повідомляє позицію символу лічильника програми, the
помилка та код виходу.

Ось приклад:

$ comgt -vs blar2.scr

Де знаходиться сценарій blar2.scr:

вкл
dec d3
нехай a=58/3
нехай $d="fod"
нехай 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 dec d3
3@0015 нехай a=58/3
4@0027 let $d="fod"
5@0041 нехай c=1/0
6@0052 let $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---Кінець сценарію---
comgt 11:20:15 -> @0000 вкл. n
comgt 11:20:15 -> @0007 dec d3
comgt 11:20:15 -> @0015 let 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)

вихід Коди
Коли comgt закінчується, він робить це за допомогою "коду виходу". Це число, передане назад
процес виклику для позначення успіху чи невдачі. У повсякденному Unix 0 (нуль) означає
успіх і все інше означає все, що хоче автор програми. в
сценарію оболонки або безпосередньо в командному рядку, ви можете переглянути вміст $? після
подзвонивши comgt перевірити його код виходу.

приклад:

#!/ Бен / ш
comgt /root/bin/call-isp
якщо [ $? != 0]; потім
echo "Ой! Щось пішло не так."
fi

Внутрішній comgt коди помилок такі:

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

Команди
Команда : : Псевдонім: мітка
Опис: Зазначає точку прив’язки для goto або gosub, до якої слід розгалужуватися.
Синтаксис: ключове слово не повинно містити спеціальних символів.
Примітка: має бути першим оператором у рядку.
Дивіться також: goto, gosub, return.
приклад:
: петля
госуб браво
print "Час ",$time(),"\n"
sleep 1
Перейти до циклу
етикетка браво
надрукувати "Twonk!\n"
повертати

Команда: перервати
Опис: змушує comgt викликати abort() і створювати дамп ядра.
Синтаксис: abort
Дивіться також: дамп, вихід.

Команда: cd
Опис : Змінити каталог.
Синтаксис: каталог cd
Примітки: -1 повертається у %, якщо не вдалося внести зміни.
Примітки: каталог є рядком і тому може бути змінною.
Дивіться також: $cwd().
приклад:
cd "дух"
if % != 0 print "Could not cd into duh.\n"

Команда: закрити
Опис: закриває файл, відкритий раніше за допомогою open.
Синтаксис: закрити файл
Дивіться також: відкритий.

Команда: дек
Опис: зменшує вміст цілочисельної змінної на 1.
Синтаксис: dec x
Примітки: x - це від a до z або a0 до z9.
Примітки: зауважте, що "let x=x-1" також працює.
Дивіться також: let, inc.

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

Команда: else
Опис: альтернативне виконання команд, якщо останнє "якщо" виявилося помилковим.
Синтаксис: команди else...
Дивіться також: якщо
приклад:
if w<350 print "Вау! Уявіть собі це.\n"
else print "Раш Лімбо - великий товстий виродок.\n"

Команда: eprint
Опис: надрукувати список аргументів, розділених комами, на stderr.
Синтаксис: eprint var,stringvar,"text",...
Примітки: як для друку, але зі стандартним дескриптором файлу помилок.
Примітки: вивід помилки можна перенаправити за допомогою «2>file».
Примітки: командний рядок.
Дивіться також: друк.

Команда: викон
Опис: замінює поточний процес comgt іншим процесом.
Синтаксис: exec "command -args..."
Дивіться також: система, вилка.
приклад:
#Готовий скрипт, виклик cu.
exec "cu -l "+$dev()+" -s "+$baud()

Команда: вихід
Опис: завершує виконання сценарію за допомогою коду виходу.
Синтаксис: exit exit_code
Дивіться також: переривання, скидання.
приклад:
: помилка
вихід 1
:smeggit
вихід 0

Команда: спалах
Опис: перемикає DTR на комунікаційному пристрої на визначений час.
Синтаксис: flash float_constant
Примітки: float_constant має точність до 1/100 секунди.
Примітки: модем скидає носій або переходить у командний режим,
Примітки: залежно від налаштувань модему. Встановлення швидкості передачі даних на 0
Примітки: протягом деякого часу має той самий ефект.
Дивіться також: сон, набір ком.
приклад:
:відключити
flash 0.5
вихід 0

Команда: fprint
Опис: надрукувати список аргументів у файлі, розділених комами.
Синтаксис: fprint var,stringvar,"text",...
Примітки: як для друку, але додається до раніше відкритого файлу
Примітки: відкрито.
Дивіться також: друк.

Команда: вилка
Опис : forks comgt process in two. Обидва процеси тривають
Опис: виконання сценарію.
Синтаксис: fork
Примітки: % повертає 0 для дочірнього процесу, новий ідентифікатор процесу для
Примітки: батьківський або -1 для помилки.
Дивіться також: зачекайте, вбийте, pid(), ppid().
приклад:
вилка
якщо % = -1 помилка переходу
якщо % = 0 перейти до дитини
:батько
...

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

Команда: госуб
Опис: викликає підпрограму.
Синтаксис: мітка gosub
Примітки: наразі comgt підтримує лише 128 рівнів gosub
Примітки: дзвінки (досить!)
Дивіться також : :, goto, return.
приклад:
розпорядок госуб
sleep 1
розпорядок госуб
На кінець
: рутина
надрукувати "Flim-flam!\n"
повертати

Команда: перейти
Опис : надсилає виконання в інше місце сценарію.
Синтаксис: goto label
Дивіться також : :, gosub, return.
приклад:
:win95
print "Сьогодні я хочу піти і використовувати Linux, дякую.\n"
перейти до win95

Команда: hset
Опис : Встановіть таймер сотень.
Синтаксис: hset значення
Примітки: ця команда скидає таймер сотень секунд до значення
Примітки: значення для htime для початку.
Дивіться також: htime().
приклад:
hset 0
: петля
print "Час в 1/100 секунди: ",htime(),"\n"
sleep 0.01
Перейти до циклу

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

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

Команда: введення
Опис: введення рядка з клавіатури в рядкову змінну.
Синтаксис: введіть $x
Примітки: введення закінчується введенням лише за допомогою клавіші ENTER.
Примітки: пробіли, табуляції та інші кумедні символи – це все
Примітки: зберігається у змінній.
Дивіться також: встановити відлуння.
приклад:
print "Введіть своє повне ім'я:"
введіть $n4

Команда: вбити
Опис: надсилає сигнал процесу.
Синтаксис: ідентифікатор процесу сигналу завершення
Примітки: сигнал і ID процесу є цілими значеннями. Такий же, як
Примітки: стандартне видалення Unix, за винятком псевдонімів сигналів
Примітки: прийнято, і сигнал не є необов’язковим.
Примітки: 0 повертається у %, якщо сигнал можна надіслати, -1
Примітки: інакше.
Примітки: Сигнал 0 можна використовувати для визначення наявності процесу.
Дивіться також: зачекайте, pid(), ppid().
приклад:
вилка
нехай p=%
якщо p = 0 перейти до дитини
sleep 300
вбити 15 п
sleep 1
вбити 0 п
якщо % != 0 надрукувати "Дочірнє припинено\n" goto ok
print "Не вдалося завершити дочірню роботу!\n"
вбити 9 п
sleep 1
вбити 0 п
якщо % = 0 вивести "Не вдалося вбити дитину!\n" помилка переходу
надрукувати "Дитину вбили.\n"
:в порядку
...

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

Команда: lprint
Опис: надрукувати в журналі список аргументів, розділених комами.
Синтаксис: fprint var,stringvar,"text",...
Примітки: як друк, але друкується як запис у журналі, якщо ввімкнено докладний.
Примітки: журнал надсилається до stderr.
Дивіться також: print, eprint, fprint.

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

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

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

Команда: rem Псевдоніми: #, //
Опис : Зауваження. Решта рядка ігнорується.
Синтаксис: Зауважте, що після "rem" має стояти пробіл.
приклад:
#Це зауваження
// Так само
rem Це не дискотека.

Команда: повернення
Опис : Повернення з підпрограми.
Синтаксис: return
Дивіться також: госуб.

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

Команда: встановити
Опис : задає робочі параметри.
Синтаксис: встановити значення параметра
Примітки:

Опис команди
---------------------------- --------------------- ----------------------------
увімкнути|вимкнути відлуння клавіатури на екрані.
set comecho on|off Отримані символи відтворюються на екрані.
set senddelay time_constant Проміжна затримка символів для "надсилання"
увімкнути ігнорувати регістр регістру
За замовчуванням = увімкнено.
встановити clocal on|off clocal on = ігнорувати сигнали модему
встановити режим umask за умовчанням для режиму створення файлу.
См. людина umask.
увімкнути детальне значення|вимкнути детальне увімкнення = увімкнено вихід налагодження.
встановити параметри зв’язку com com_params.
напр.: 19200n81, 300e71
бод |||
Парність |
Біти даних |
Стоп-біти |

приклад:
вимкнути відлуння
надрукувати "Пароль:"
введіть $p
надрукувати "\n"
увімкнути відлуння
ввімкнути Comecho
увімкнути локальний режим
встановити senddelay 0.1
увімкнути ігнорування регістру
набір com 38400n81
set umask 022 # Має бути вісімковим (початковий нуль)
...

Примітка щодо локального:
Якщо ви хочете, щоб ваш сценарій продовжував працювати після виявлення носія
впав сигнал, увімкніть локальний, інакше спричинить падіння CD
лінію пристрою для закриття (відключення). Це може статися, якщо
скажімо, ваш сценарій викликає та з’єднується, а потім від’єднується або
скидає dtr (флеш), потім знову намагається підключитися.

Команда: спати
Опис : Призупиняє виконання.
Синтаксис: sleep float_constant
Примітки: Float_constant має точність до 1/100 секунди, якщо
Примітки: понад 100 секунд, у цьому випадку точність
Примітки: зменшується до 1 сек.

приклад:
sleep 0.06
sleep 3
сон 86400 /* Цілий день */

Команда: система
Опис : викликає системну (unix) команду
Синтаксис: системна "команда"
Дивіться також: exec.
приклад:
:реж
надрукувати "список каталогу ",$cwd(),\n"
система "ls -l | більше"

Команда: тестовий ключ
Опис: Перевіряє клавіатуру на натискання клавіш, повертає 1 у %, якщо є.
Синтаксис: testkey
Примітки: можна перевірити лише клавішу ENTER. Майбутні версії comgt
Примітки: перевірятиме більше та повертатиме коди клавіш у %.
Дивіться також: введення.
приклад:
нехай n=1
: петля
print n," sheep... ZZZzzz...\n"
спати n
вкл
тестовий ключ
якщо % = 0 цикл переходу

Команда: чекати
Опис: Зачекайте, доки завершиться дочірній процес.
Синтаксис: зачекайте
Примітки: Ідентифікатор завершеного дочірнього процесу повертається у %
Дивіться також: вилка, вбити.
приклад:
вилка
нехай p=%
якщо p=0 перейти до дитини
якщо p=-1 помилка переходу
надрукувати "Чекаємо, поки дитина закінчить..."
чекати
надрукувати "\n"
if %!=p print "Зачекайте помилковий PID!\n" помилка переходу
print "Дитина готова.\n"

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

Команда: почекай тихо
Опис : Очікує, поки лінія зв'язку не припинить прийом на деякий час.
Синтаксис: очікування тихий час очікування тихий час
Примітки: І тайм-аут, і тихий час є плаваючими константами часу
Примітки: з 1/100 сек. точність. Корисно для «ковтання»
Примітки: вхідні символи на деякий час або очікують
Примітки: невідомий запит.
приклад:
:closecon
відправити "logoff^m"
почекай спокійно 10 0.5
відправити "yes^m"

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

I-функція: бод
Опис: Повертає поточну швидкість передачі даних лінії зв'язку.
Синтаксис: let x=baud()
Примітки: не обов’язково відповідає швидкості з’єднання через модем.
Дивіться також: $baud().

Я-функція : довж
Опис: повертає довжину рядка.
Синтаксис: нехай x=len($s)
Примітки: "" дорівнює нулю. Рядки наразі мають максимальну довжину
Примітки: 1024 символи. comgt не обробляє переповнення рядків
Примітки: взагалі.

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

Я-функція: під
Опис: Повертає ідентифікаційний номер поточного процесу (comgt)
Синтаксис: let x=pid()
Дивіться також: ppid(), fork

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

Я-функція: час
Опис : Повертає час у секундах з 1 січня 00:00:00 1970 GMT.
Синтаксис: нехай x=time()
Примітки: Використовується для обчислення різниці в часі.
Дивіться також: $time()

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

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

рядок Функції
S-функція: базове ім'я
Опис: повертає базове ім'я частини шляху.
Синтаксис: нехай $x=$basename($p)
Примітки: $basename("/usr/bin/more")="більше"
Дивіться також: $dirname().

S-функція: бод
Опис: повертає рядкове представлення поточної швидкості передачі.
Синтаксис: нехай $x=$baud()
Примітки: Визначається "set com"
Дивіться також: baud(), set com.

S-функція: cwd
Опис: Повертає шлях до поточного робочого каталогу.
Синтаксис: нехай $x=$cwd()
Дивіться також: cd.

S-функція: розроб
Опис: повертає поточне ім’я шляху комунікаційного пристрою.
Синтаксис: нехай $x=$dev()
Примітки: визначається аргументом командного рядка "-d" або "open com"
Дивіться також: відкрити ком.

S-функція: dirname
Опис: повертає назву каталогу, частину шляху.
Синтаксис: нехай $x=$dirname($p)
Примітки: $dirname("/usr/bin/more")="/ usr / bin"
Дивіться також: $basename().

S-функція: env
Опис: повертає вміст змінної середовища
Синтаксис: нехай $x=$env("HOME")
Примітки: неіснуючі змінні повертають порожній рядок.
Дивіться також: putenv.

S-функція: hex
Опис: перетворює значення на шістнадцяткове представлення
Синтаксис: нехай $x=$hex(x)
Примітки: Літери a-f у нижньому регістрі, без попереднього "0x"
Дивіться також: $hexu(), $oct().

S-функція: hexu
Опис: перетворює значення на шістнадцяткове представлення
Синтаксис: нехай $x=$hex(x)
Примітки: літери A-F у верхньому регістрі, без попереднього "0x"
Дивіться також: $hex(), $oct().

S-функція: hms
Опис: перетворює кількість секунд у рядок часу
Синтаксис: нехай $x=$hms(x)
Примітки: Формат "ГГ:ХХ:СС". Корисно для дисплеїв хронометрів
Примітки: використовуйте з "time()", не намагайтеся збільшити змінну
Примітки: кожну секунду, використовуючи "сон 1". (Див. приклад сценарію провайдера)
Примітки: Формат стає "ГГГ:ХХ:СС" через 99 годин 59 хвилин,
Примітки: 59s...
Дивіться також: time().

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

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

S-функція: окт
Опис: перетворює значення на вісімкове подання.
Синтаксис: нехай $x=$oct(x)
Дивіться також: $hex(), $hexu().

S-функція: справа
Опис: повертає праву частину рядка.
Синтаксис: нехай $x=$right($s,l)
Примітки: $s=вихідний рядок, l=довжина
Примітки: l має бути меншим за довжину рядка.
Дивіться також: $left(), $mid().

S-функція: rpipe
Опис: повертає перший рядок системної команди
Синтаксис: нехай $x=$rpipe("/bin/ls |grep мій файл")
Примітки: не дуже корисно, якщо не використовувати з head, tail, grep,
Примітки: тощо...
Дивіться також: система.

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

S-Функція : нижче
Опис: повертає рядок у нижньому регістрі.
Синтаксис: нехай $x=$tolower($y)

S-функція: топпер
Опис: повертає рядок у верхньому регістрі.
Синтаксис: нехай $x=$toupper($y)

Тест Оператори
Оператор Опис Приклад Результат
= дорівнює, якщо 1+2=3 так
!= не дорівнює, якщо 1+2!=3 ні
<> не дорівнює, якщо 1+2<>3 ні
> Більше, ніж якщо 1+3>3 так
< Менше, ніж якщо 1+3<3 ні
>= Більше або дорівнює, якщо 3>=3 так
<= Більше або дорівнює, якщо 2<=3 так

Рядки можна порівнювати за допомогою тих самих операторів.

"aaa" "aaa", "Test" != "test", "One" = "One",
"A" > "a", "Fumble" "Comedic"

примітки що "увімкнути ігнорування регістру" НЕ стосується порівняння рядків.

вираз Оператори
Оператор Опис Приклад Результат
+ Додавання нехай a=2+2 4
+ Конкатенація let $b="aa"+"bb" "aabb"
- Віднімання нехай e=2-5 -3
* Множення f=11*2 22
/ Ділення нехай g=34/11 3
& Порозрядно І нехай h=42&7 2
| Розрядне АБО нехай a=42|5 47
^ Побітове 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) перейти занадто багато

#Порівняння рядків
нехай $t=$mid($time(),11,8)
if $t > "19:59:59" print "Занадто пізно для цього!\n" goto toolate
if $t < "08:00:00" print "Занадто рано!\n" goto tooearly
if $t = "00:00:00" print "О Боже! Настав час Твінкі!\n"

KNOWN ОСОБЛИВОСТІ


Синтаксичний аналізатор getvalue(). Це змушує мене сміятися, тож я думаю, що залишу це так. -
[захищено електронною поштою]

НАВКОЛИШНЄ СЕРЕДОВИЩЕ ЗМІННІ


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

AUTHORS


Даніель.Шуінар[захищено електронною поштою]> написав оригінал dcon утиліта

Пол Хардвік <[захищено електронною поштою]> оновив його для останніх компіляторів, за умови вбудованого
у функціональності сценарію та перевірив його на GPRS і 3G картках даних.

Мартін Грегорі <[захищено електронною поштою]> написав оригінальну сторінку довідки для comgt від dcon
документація та упакована comgt для розповсюдження.

Історія
Даніель Шуінар написав більшість (90%) dcon ще в 1989 році, коли він почав займатися Unix Apps
технічна підтримка здебільшого через модем до систем клієнта. Він втомився все це друкувати
паролі та смішні коди оплати дзвінків кожного разу, коли він використовував cu. Також фірма, в якій він працював
потрібна система, яка б реєструвала час дзвінків і приблизну вартість. Таким чином dcon народився.
Через шість чи сім років (1996) він використовував pppd для підключення до свого сайту провайдера. Він був
більш-менш задоволений чат але виявив, що йому бракує контролю потоку та перевірки кількох відповідей
від "atdt...". Він хотів, щоб він робив різні речі для "немає оператора", "немає гудка" та
"зайняте". Хоча він так думав чат напевно, колись він буде покращений, коли знайде
dcon.c на одній зі своїх старих стрічок розміром 45 МБ, він спробував скомпілювати його на своїй системі Linux і, ось і
ось, це сталося. Зрештою, він додав до нього кілька речей (убити, розділити, почекати, 1/100 сек.
разів) і залишив це на цьому.

Пару років тому Пол Хардвік знайшов програму, dcon 0.97, останні зміни в 1996 році.
Метою цієї програми було запустити сценарії, які б керували послідовними портами Linux. The
реалізація була дуже схожа на те, що він написав для Windows. У всякому разі, швидше
ніж заново винайти, він зв’язався з автором Даніелем Шуінаром і попросив його дозволу на повторне використання
код. На щастя, він дав дозвіл і викликала базову, але корисну утиліту comgt було
створений. Пол не бере на себе жодної заслуги за двигун, окрім того, що він сумісний із сучасністю
компілятори. Це в основному dcon перепакований.

20 Жовтень, 2006 comgt(1)

Використовуйте comgt онлайн за допомогою сервісів onworks.net


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    Жар-птиця
    Жар-птиця
    Firebird RDBMS пропонує функції ANSI SQL
    і працює на Linux, Windows і
    кілька платформ Unix. особливості
    чудова паралельність і продуктивність
    & потужність...
    Завантажити Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer — це HTML-редактор wysiwyg, який використовує
    кодова база Mozilla Composer. Як
    Розвиток Nvu було зупинено
    у 2005 році KompoZer виправляє багато помилок і
    додає ф...
    Завантажити KompoZer
  • 3
    Безкоштовний завантажувач манги
    Безкоштовний завантажувач манги
    Безкоштовний завантажувач манги (FMD) є
    програма з відкритим кодом, написана
    Object-Pascal для управління і
    завантаження манги з різних веб-сайтів.
    Це дзеркало...
    Завантажте безкоштовний завантажувач манги
  • 4
    Aetbootin
    Aetbootin
    UNetbootin дозволяє створювати завантажувальні програми
    Живі USB-накопичувачі для Ubuntu, Fedora та
    інші дистрибутиви Linux без
    запис компакт-диска. Він працює на Windows, Linux,
    і ...
    Завантажити UNetbootin
  • 5
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM проста у використанні
    Пакет програмного забезпечення з відкритим кодом ERP і CRM
    (запустити з веб-сервером php або як
    автономне програмне забезпечення) для бізнесу,
    основи...
    Завантажити Dolibarr ERP - CRM
  • 6
    SQL-клієнт SQuirreL
    SQL-клієнт SQuirreL
    SQuirreL SQL Client — це графічний SQL
    клієнт, написаний на Java, що дозволить
    Ви можете переглянути структуру JDBC
    сумісна база даних, переглядайте дані в
    столи...
    Завантажте клієнт SQuirreL SQL
  • Детальніше »

Команди Linux

Ad