Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

comgt - Online w chmurze

Uruchom comgt u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to komenda comgt, którą można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


comgt - Opcja GlobeTrotter GPRS/EDGE/3G/HSDPA i sterowanie kartą danych Vodafone 3G/GPRS
narzędzie

STRESZCZENIE


komgt -d urządzenie -ehstvVx scenariusz

OPCJE


-d urządzenie
ustawić urządzenie, które ma być używane do komunikacji z kartą danych. Jeśli nie
określone następnie comgt próbuje /dev/noz2, / dev / ttyUSB2 , a następnie /dev/modem

-e
włącz echo komunikacji szeregowej.

-h
wyświetl pomoc z podsumowaniem i wyjdź.

-s
nie uruchamiaj wewnętrznego domyślnym skrypt przed skryptem zewnętrznym.

-t
zmień na alternatywny terminator linii (domyślnie „0)”.

-v
uruchom w trybie pełnym. Śledzi skrypty podczas ich wykonywania. To jest
przeznaczone do pomocy w debugowaniu skryptów.

-V
Informacje o wersji do druku.

-x
w przypadku skryptów wewnętrznych i zewnętrznych wszelkie odniesienia do 115200 bodów są
konwertowane na 57600. Jest to przydatne w przypadku kart danych, które nie lubią 115200
bodów, takich jak GlobeTrotter EDGE.

OPIS


komgt to interpreter języka skryptowego przydatny do nawiązywania komunikacji w trybie szeregowym
linii i modemów PCMCIA oraz kart danych GPRS i 3G.

komgt ma pewne funkcje, które rzadko występują w innych narzędziach tego samego typu.

Korzyści
- Wstępnie zdefiniowane wbudowane skrypty do sterowania kartą danych 2G/3G
- Prosty, podobny do BASIC język skryptowy.
- Pozyskiwanie skryptów z wiersza poleceń i plików.
- Czekaj na wiele odpowiedzi.
- waitquiet umożliwia stabilizację linii.
- Przechwytywanie tekstu w linii.
- Obsługa wielu procesów: rozwidlenie, czekanie, zabicie, wyjście.
- Debugowanie pełnego i dziennika wyjścia.
- logowanie do pliku.
- Kontrola przepływu: goto, gosub, return, if, else.
- Niewielki wpływ na zasoby systemowe.
- Polecenia i funkcje czasu.
- Manipulacje na strunach.
- Manipulacja środowiskiem: env(), putenv.
- Wywołania systemowe narzędzi zewnętrznych: system, exec.

Utrzymany GPRS i 3G karty danych
komgt został przetestowany pod kątem współpracy z GlobeTrotter GPRS, EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA i
GlobeTrotter Fusion oraz Vodafone 3G. Może ustawić kod PIN i wyświetlić informacje;
o kartach danych przed uruchomieniem połączenia PPP. Dodatkowo, ponieważ
Karty danych GlobeTrotter i Vodafone 3G/GPRS mają dodatkowy interfejs szeregowy,
karty danych mogą być monitorowane, gdy istnieje połączenie PPP i przesyła dane.

komgt jest przeznaczony przede wszystkim do pracy z gamą kart danych GlobeTrotter, ale powinien być
kompatybilny z każdą inną kartą danych GPRS lub 3G pod warunkiem, że jej interfejs jest zaimplementowany jako jeden
lub więcej urządzeń szeregowych lub USB i jest kontrolowany i odpytywany przez implementację
interfejsu poleceń Hayes z tymi samymi rozszerzeniami poleceń AT używanymi przez wymienione
karty danych.

Korzystanie z komgt
komgt ma tylko jedną funkcję: uruchomienie skryptu. Może to być jeden z wielu „standardowych”
skrypty wewnętrzne lub skrypty zewnętrzne. Oba typy skryptów są wywoływane w ten sam sposób.
W „standardowe” skrypty są wbudowane komgt i będzie działać dla modemów połączonych szeregowo,
wbudowane modemy, modemy PCMCIA oraz GlobeTrotter GPRS i Vodafone 3G/GPRS
karty danych. Istnieje kolejność wyszukiwania skryptów - 1)wewnętrzne, 2)działające
katalog, 3)/etc/comgt

Wbudowany skrypty
komgt
To uruchamia domyślny skrypt wewnętrzny. Bieganie komgt bez określonego skryptu, np.
komgt -d /dev/ttyS1 sprawdzi kod PIN i wyświetli monit, jeśli jest wymagany. Następny
to, co robi, to czekanie, aż urządzenie się zarejestruje, a następnie zgłasza siłę sygnału. Gdyby
nie określasz portu za pomocą -d wtedy opcja /dev/modem zakłada się. Jeśli przełącznik -s
nie jest używany, ten domyślny skrypt jest uruchamiany przed jakimkolwiek zewnętrznym skryptem.

komgt pomoc
Wyświetla listę tych i innych dostępnych opcji.

komgt Informacje
Wyświetla konfigurację karty danych.

komgt porządek
Drukuje siłę sygnału.

komgt reg
Drukuje stan rejestracji.

komgt 3G
Przełącza GlobeTrotter 3G/Fusion i Vodafone 3G w tryb tylko sieci 3G (UMTS/HSDPA).

komgt 2G
Przełącza GlobeTrotter 3G/Fusion i Vodafone 3G w tryb tylko sieci 2G (GSM/GPRS/EDGE).

komgt 3G2G
Przełącza GlobeTrotter 3G/Fusion i Vodafone 3G w preferowany tryb 3G (UMTS/HSDPA i
GSM/GPRS/EDGE).

komgt GTEDGE
Użyj tego polecenia, aby wcześniej zainicjować karty GlobeTrotter EDGE i GlobeTrotter Combo EDGE
robi cokolwiek innego. (Włącza radio).

komgt USA
Przełącz się na pasmo 900/1900 MHz do pracy w USA. Tylko karty danych GlobeTrotter GPRS.

komgt EUROPA
Przełącz się na pasmo 900/1800 MHz do pracy w Europie. Tylko karty danych GlobeTrotter GPRS.

komgt PIN
Sprawdź status numeru PIN karty SIM i użyj zmiennej środowiskowej COMGTPIN jako wartości.

komgt APN
Ustaw APN karty danych na wartość zawartą w zmiennej środowiskowej COMGTAPN.

Zamówienia Indywidualne skrypty
Oprócz wbudowanych skryptów możesz tworzyć własne. Poniższy skrypt ustawia Vodafone 3G
tryb UMTS karty danych lub Option Fusion na GPRS:

#Ustaw tryb tylko GPRS
zestaw com 115200n81
ustaw opóźnienie wysyłania 0.05
czekajcicho 1 0.2
wyślij "AT_OPSYS=0^m"
drukuj "Ustawianie trybu tylko GPRS"

Jeśli zapisałeś powyższy skrypt jako GPRS, nazwałbyś go tak:

komgt GPRS

Jeśli musisz również określić port, zrób to:

komgt -d /dev/ttyS1 GPRS

Możesz także przekazać parametry środowiskowe do komgt skrypt przez $śr.().

Wymiana pogawędzić
pogawędzić to narzędzie dostarczane z pakietem ppp (w każdym razie dla systemu Linux), które wraz z zestawem
oczekiwać-wyślij pary ciągów, robi wystarczająco dużo, aby połączyć większość ludzi z dostawcami usług internetowych i tak dalej. Podczas
Korzystanie z czatu jest bardzo proste, nie jest zbyt elastyczne. To tam gdzie komgt przejmuje.

komgt może być użyty zamiast pogawędzić stosując tę ​​samą strategię. Na przykład linia pppd
czytanie:

połączenie pppd \
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
słowo: biała woda´ \
/dev/cua1 38400 debug crtscts domyślna trasa modemu

Czy, używając woj., czytać:

pppd connect `comgt -s /root/scripts/isp.scr` /dev/cua1 38400 \
debuguj crtscts domyślną trasę modemu

A skrypt isp.scr czytałby:

wyślij "ATDT5551212^m"
czekaj na 60 "ogin:"
wyślij "ppp^m"
czekaj na 60 "słowo:"
wyślij "biała woda^m"

Oczywiście wtedy staje się trywialne, aby ten skrypt stał się o wiele bardziej funkcjonalny dzięki:
dodawanie kodu do wykrywania zajętości, ponownego wybierania itp.

Gadatliwy wydajność
Gdy opcja gadatliwa jest włączona, komgt zgłasza wszystko na standardowym błędzie
kanał. Po włączeniu z wiersza poleceń (-v) wynik zawiera 4 sekcje.

- Akcje argumentu wiersza poleceń
Są to działania podjęte, ponieważ zostały określone z wiersza poleceń, takie jak
otwieranie urządzenia komunikacyjnego (-d), itd... Aby były one wyprowadzane, musisz podać -v
jako pierwszy argument.

- Lista argumentów
Liczba i lista przekazanych argumentów. Jest to przydatne w przypadku, gdy masz kilka
zmienne środowiskowe lub cudzysłowy, odwrotne cudzysłowy, odwrotne ukośniki w wierszu poleceń i jesteś
nie jestem pewien, co naprawdę widzi skrypt.

- Lista skryptów
Lista skryptów do wykonania. Może to być konkatenacja domyślnego wewnętrznego
skryptu, chyba że jest to pominięte przez opcję -s oraz plik skryptu. Każda linia jest
wymienione z numerem wiersza i pozycją znaku.

- Wykonanie wyjścia
Lista poleceń w miarę ich wykonywania. Parser wypisuje linię, w której aktualnie się znajduje,
zaczynając od dokładnego punktu, w którym jest do końca linii. Wielokrotne polecenie
grupy w jednym wierszu tworzą wiele wierszy wyjściowych. Szczegółowe dane wyjściowe można mieszać z
wyjście skryptu (print, eprint lub lprint.)

Oto przykład:

$ comgt -v -d/dev/cua1 -s blah.scr
comgt 00:18:46 -> Pełne wyjście włączone
comgt 00:18:46 -> Plik skryptu: blah.scr
komgt 00:18:46 -> argc:5
zmiana 00:18:46 -> argv[0]=comgt
komgt 00:18:46 -> argv[1]=-v
komgt 00:18:46 -> argv[2]=-d/dev/cua1
komgt 00:18:46 -> argv[3]=-s
comgt 00:18:46 -> argv[4]=blah.scr
comgt 00:18:46 -> ---Skrypt---
1@0000 ustaw com 38400n81 niech a=2
2@0025 drukuj "9x",a,"=",9*a,"\n"
3@0051 sen 5
4@0059 wyjście 0
comgt 00:18:46 -> ---Koniec skryptu---
comgt 00:18:46 -> @0000 set com 38400n81 let a=2
comgt 00:18:46 -> @0017 let a=2
cogt 00:18:46 -> @0025 drukuj "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 sen 5
comgt 00:18:51 -> @0059 wyjście 0

Programowanie podręcznik


Składnia
Składnia użyta do komgt skrypty są raczej proste, nieco PODSTAWOWE. Skrypt to
nietokenizowany, czysty plik tekstowy ASCII zawierający wiersze zakończone znakami nowego wiersza
(Standard Unix.) Skrypty można tworzyć i/lub modyfikować za pomocą dowolnego standardowego edytora tekstu
(vi, vim, joe, pico, emacs, ed, microEmacs) Linie w komgt skrypt czytaj tak:

- Pusta linia
- [wcięcie] uwaga dotycząca rem
- [wcięcie][[:|etykieta] ETYKIETA] [polecenie [argumenty]] uwaga dotycząca rem
- [wcięcie][[:|etykieta] ETYKIETA] [polecenie [argumenty]] [polecenie [argumenty]]...

Znaki używane do wcięć to spacje i znaki tabulacji.
Polecenie rem powoduje, że parser skryptu pomija resztę wiersza.
Polecenie rem można również zapisać jako „#” lub „//”.

Etykiety składają się z małych i wielkich liter oraz cyfr.
Wielkość liter jest ignorowana w etykietach.

Polecenia i ich argumenty są oddzielone spacjami i/lub tabulatorami.
Grupy poleceń są oddzielone spacjami, tabulatorami lub znakami nowej linii.

Wyrażenia nie mogą zawierać spacji ani tabulatorów.
To jest ok: niech n=x+76
To nie jest: niech n= x + 76
Ponieważ ta spacja ^ zakończy grupę poleceń let.

Błąd raportowanie
Kiedy komgt wykrywa błąd skryptu, natychmiast włącza tryb opisowy, generuje zrzut
(patrz polecenie dump), zgłasza błąd w trzech wierszach i zatrzymuje wykonanie. ten
pierwsza zgłoszona linia to wykonywana grupa poleceń, druga pokazuje, gdzie
parser dostał, a trzecia linia informuje o pozycji znaku licznika programu,
błąd i kod zakończenia.

Oto przykład:

$ comgt -vs blar2.scr

Gdzie skrypt blar2.scr to:

w tym n
grudzień d3
niech a=58/3
niech $d="jedzenie"
niech c=1/0
niech $y4="sdfgsdfgsdfg"

Raport śledzenia i błędów wygląda tak:

comgt 11:20:15 -> Pełne wyjście włączone
comgt 11:20:15 -> Plik skryptu: blar2.scr
komgt 11:20:15 -> argc:3
zmiana 11:20:15 -> argv[0]=comgt
komgt 11:20:15 -> argv[1]=-vs
comgt 11:20:15 -> argv[2]=blar2.scr
comgt 11:20:15 -> ---Skrypt---
1@0000 Inc n
2@0007 gru d3
3@0015 niech a=58/3
4@0027 niech $d="fod"
5@0041 niech c=1/0
6@0052 niech $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---Koniec skryptu---
comgt 11:20:15 -> @0000 inc n
zmiana 11:20:15 -> @0007 gru d3
comgt 11:20:15 -> @0015 niech a=58/3
comgt 11:20:15 -> @0027 let $d="fod"
comgt 11:20:15 -> @0041 niech c=1/0
comgt 11:20:15 -> -- Raport o błędach --
zmiana 11:20:15 -> ----> ^
comgt 11:20:15 -> Błąd @49, wiersz 5, dzielenie przez zero. (6)

Wyjście Kody
Kiedy komgt kończy się, robi to z "kodem wyjścia". To jest liczba przekazywana z powrotem do
proces wywołujący oznaczający sukces lub porażkę. W codziennym systemie Unix 0 (zero) oznacza
sukces i wszystko inne oznacza to, co autor programu chce, aby to oznaczało. w
w skrypcie powłoki lub bezpośrednio w wierszu poleceń, możesz spojrzeć na zawartość $? po
zadzwoniwszy komgt aby sprawdzić jego kod zakończenia.

Przykład:

#!/ Bin / sh
comgt / root / bin / call-ISP
jeśli [ $? != 0 ]; następnie
echo "Ups! Coś poszło nie tak."
fi

Wewnętrzne komgt kody błędów są następujące:

0 : Żadnych problemów. Widocznie.
1: Problemy z urządzeniem komunikacyjnym.
2: Problemy z konsolą (tty).
3: Problemy z pamięcią.
4 : Problemy z plikami lub rurami.
5: Błędy składni.
6 : Dzielenie przez zero.
7 : Zmienne niewłaściwe zarządzanie.
8 : Problemy z systemem. (Nie mogłem zadzwonić / Bin / sh lub coś takiego)

Polecenia
Polecenie :: Alias: etykieta
Opis : Odnotowuje punkt zakotwiczenia goto lub gosub do gałęzi.
Składnia : Słowo kluczowe nie może zawierać żadnych znaków specjalnych.
Uwaga: musi być pierwszą instrukcją w wierszu.
Zobacz też : goto, gosub, return.
Przykład:
: pętla
gosub brawo
print "Czas to ",$time(),"\n"
spać 1
pętla goto
etykieta brawo
print "Twok!\n"
powrót

Polecenie: przerwać
Opis : powoduje, że comgt wywołuje abort() i tworzy zrzut pamięci.
Składnia : przerwać
Zobacz też: zrzut, wyjście.

Polecenie : cd
Opis : Zmień katalog.
Składnia : katalog cd
Uwagi: -1 jest zwracane w %, jeśli nie można było dokonać zmiany.
Uwagi : katalog jest ciągiem znaków i dlatego może być zmienną.
Zobacz też : $cwd().
Przykład:
cd "tak"
if % != 0 print "Nie można sprowadzić do duh.\n"

Polecenie: zamknij
Opis : zamyka plik poprzednio otwarty z open.
Składnia : zamknij plik
Zobacz też : otwarte.

Polecenie: dec
Opis : zmniejsza zawartość zmiennej całkowitej o 1.
Składnia : dec x
Uwagi: x wynosi od a do z lub a0 do z9.
Uwagi : Zauważ, że "let x=x-1" również działa.
Zobacz też : let, inc.

Polecenie: zrzut
Opis : Wyświetla wszystkie niezerowe zmienne całkowite i zmodyfikowany ciąg
Opis : zmienne jako wpisy dziennika (standardowy kanał błędu.)
Składnia : zrzut
Zobacz też: przerwanie, wyjście

Polecenie : jeszcze
Opis : Alternatywnie wykonaj polecenia, jeśli ostatnie „jeśli” okazało się fałszywe.
Składnia : komendy else...
Zobacz też : jeśli
Przykład:
jeśli w<350 drukuj "Wow! Wyobraź to sobie.\n"
else print "Rush Limbaugh to wielki, gruby drań.\n"

Polecenie: eprint
Opis : wyświetla listę argumentów oddzielonych przecinkami na stderr.
Składnia : eprint var,stringvar,"text",...
Uwagi : Jak druk, ale ze standardowym deskryptorem pliku błędu.
Uwagi: Wyjście błędu można przekierować za pomocą włączonej opcji „2>plik”
Uwagi: linia poleceń.
Zobacz też : drukuj.

Polecenie: exec
Opis : Zastępuje bieżący proces comgt innym procesem.
Składnia : exec "polecenie -args..."
Zobacz też: system, widelec.
Przykład:
#Ukończony skrypt, zadzwoń cu.
exec "cu -l "+$dev()+" -s "+$baud()

Polecenie: wyjdź
Opis : kończy wykonywanie skryptu z kodem zakończenia.
Składnia : wyjście kod_wyjścia
Zobacz też : przerwać, zrzucić.
Przykład:
: błąd
wyjście 1
:smeggit
wyjście 0

Polecenie: błysk
Opis : Przełącza DTR na urządzeniu komunikacyjnym na określony czas.
Składnia : flash float_constant
Uwagi: float_constant jest precyzyjny do 1/100 sekundy.
Uwagi: Powoduje, że modem zrzuca nośną lub przechodzi w tryb poleceń,
Uwagi: w zależności od ustawień modemu. Ustawienie szybkości transmisji na 0
Uwagi : przez pewien czas ma ten sam efekt.
Zobacz też : sen, ustaw com.
Przykład:
:rozłączyć się
błysk 0.5
wyjście 0

Polecenie : fprint
Opis : drukuje w pliku listę argumentów oddzielonych przecinkami.
Składnia : fprint var,stringvar,"text",...
Uwagi: Jak druk, ale dołączony do wcześniej otwartego pliku
Uwagi: przez otwarte.
Zobacz też : drukuj.

Polecenie: widelec
Opis: proces comgt widelca na dwie części. Oba procesy są kontynuowane
Opis : wykonanie skryptu.
Składnia : widelec
Uwagi: % zwraca 0 dla procesu potomnego, nowy identyfikator procesu dla
Uwagi: rodzic lub -1 dla błędu.
Zobacz też : czekaj, zabij, pid(), ppid().
Przykład:
widelec
jeśli % = -1 przejdź do błędu
jeśli % = 0 przejdź do dziecka
:rodzic
...

Polecenie: pobierz
Opis : pobierz ciąg z urządzenia komunikacyjnego.
Składnia : get timeout "terminators" $string
Uwagi: timeout jest stałą zmiennoprzecinkową, terminatory to a
Uwagi : lista znaków, które po otrzymaniu kończą się
Uwagi : zdobądź. Terminatory są ignorowane, gdy są odbierane jako pierwsze.
Zobacz też: czekaj.
Przykład:
czekaj na 60 "połącz"
jeśli % != 0 przejdź do błędu
zdobądź 2 " ^m" $s
print "Parametry połączenia: ",$s,"\n"

Polecenie : gosub
Opis : wywołuje podprogram.
Składnia : etykieta gosub
Uwagi: Obecnie comgt obsługuje tylko 128 poziomów gosub
Uwagi : telefony (wystarczy!)
Zobacz też ::, goto, return.
Przykład:
rutyna gosub
spać 1
rutyna gosub
goto end
:rutyna
print "Flim-flam!\n"
powrót

Polecenie : goto
Opis : Wysyła wykonanie w inne miejsce w skrypcie.
Składnia : przejdź do etykiety
Zobacz też :: gosub, return.
Przykład:
:win95
print "Dzisiaj chcę iść i używać Linuksa, dziękuję.\n"
idź wygrać95

Polecenie : hset
Opis : Ustaw licznik setek.
Składnia : wartość hset
Uwagi: To polecenie resetuje licznik setek sekund do
Uwagi : wartość, od której zaczyna się htime.
Zobacz też : htime().
Przykład:
hset 0
: pętla
print "Czas w 1/100 sekundy: ",htime(),"\n"
spać 0.01
pętla goto

Polecenie : jeśli
Opis: testuje stan!
Składnia : jeśli komendy test_warunek...
Uwagi : Warunkowo wykonuje polecenia, jeśli warunek testu jest spełniony.
Uwagi : Operatory testowe to = (równe), != (nie równe),
Uwagi : <> (nie równe) < (mniejsze niż), > (większe niż),
Uwagi : <= (mniejsze lub równe), >= (większe lub równe).
Uwagi : Wszystkie operatory mogą być używane z liczbami całkowitymi i łańcuchami.
Uwagi : Jeśli test_warunek jest fałszywy, jeśli przeskakuje do
Uwagi: następny wiersz.
Zobacz też : jeszcze.
Przykład:
if n>30 wypisz "Oho! za dużo owiec!\n" przejdź do błędu
if n=17 print "Hurra! mamy dość owiec\n" idź na imprezę
jeśli n<17 wypisz "Murray, zdobądź więcej owiec.\n" przejdź do getmore
jeśli $z < "Marmaluke" przejdź do ...
jeśli 3*a>5+b idź do...

Polecenie : inc
Opis : zwiększa zawartość zmiennej całkowitej o 1.
Składnia : inc x
Uwagi: x to az lub a0-z9.
Zobacz też : grudzień, niech.

Polecenie: wejście
Opis : wprowadź łańcuch z klawiatury do zmiennej łańcuchowej.
Składnia : wejście $x
Uwagi: wejście kończy wprowadzanie tylko klawiszem ENTER.
Uwagi: spacje, tabulatory i inne zabawne postacie to wszystko
Uwagi : przechowywane w zmiennej.
Zobacz też : ustaw echo.
Przykład:
print "Wpisz swoje imię i nazwisko :"
wprowadź $n4

Polecenie: zabij
Opis : Wysyła sygnał do procesu.
Składnia : sygnał kill processID
Uwagi: Zarówno signal, jak i processID są wartościami całkowitymi. Taki sam jak
Uwagi: standardowe uniksowe zabijanie, z wyjątkiem tego, że aliasy sygnałów nie są
Uwagi: akceptowane i sygnał nie jest opcjonalny.
Uwagi: 0 jest zwracane w %, jeśli sygnał mógł być wysłany, -1
Uwagi : inaczej.
Uwagi: Sygnał 0 może być użyty do wykrycia istnienia procesu.
Zobacz też : czekaj, pid(), ppid().
Przykład:
widelec
niech p=%
jeśli p = 0 idź do dziecka
spać 300
zabić 15 p
spać 1
zabić 0 p
if % != 0 print "Ukończono dziecko\n" przejdź do ok
print "Nie można usunąć dziecka!\n"
zabić 9 p
spać 1
zabić 0 p
if % = 0 print "Nie można zabić dziecka!\n" przejdź do błędu
print "Dziecko zabite.\n"
:dobrze
...

Polecenie: niech
Opis : Wykonuje przypisanie zmiennej.
Składnia : let x=treść
Uwagi: x to [$]a0-z9.
Zobacz też : inc, dec.
Przykład:
niech a=5
niech b=(czas()-a)+5
niech y7=6809
niech z=0%11010111 #binarny
niech z=077324 #ósemkowe
niech z=0xf5b8 #szesnastkowy
niech $c="Daniel "
niech $d=$c+" Chouinard"
niech $s5="Frimpin´ Jeosaphat!"

Polecenie: lprint
Opis : drukuje w dzienniku listę argumentów oddzielonych przecinkami.
Składnia : fprint var,stringvar,"text",...
Uwagi : Jak print, ale drukowane jak wpis w dzienniku, jeśli opcja verbose jest włączona.
Uwagi: logowanie jest wysyłane na stderr.
Zobacz też: druk, eprint, fprint.

Polecenie: otwórz
Opis : Otwiera plik lub urządzenie komunikacyjne.
Składnia : otwórz urządzenie com, otwórz com (stdin), otwórz plik PLIK
Zobacz też : zamknij.
Przykład:
otwórz com /dev/cua1
zestaw com 38400n81
otwórz plik "/tmp/log"
fprintf "To jest dziennik\n"
Zamknij plik

Polecenie: drukuj
Opis : drukuje listę argumentów oddzielonych przecinkami.
Składnia : print var,stringvar,"text",...
Uwagi : Spacje i znaki nowej linii nie są dodawane automatycznie.
Zobacz też: eprint, fprint, lprint.
Przykład:
niech b=26
niech $c="zmienne tekstowe"
print "Tekst stały ",b", ",$c," time: ",$time(),"\n"

Polecenie : putenv
Opis : Ustawia zmienną środowiskową.
Składnia : putenv "zmienna=treść"
Uwagi : Zmienne środowiskowe są automatycznie eksportowane,
Uwagi: nigdy nie wrócił. Procesy potomne dziedziczą
Uwagi: środowisko.
Zobacz też: $env().
Przykład:
putenv "SCRIPTDIR=/usr/lib/comgt/scripts"
system "dothat" # dothat czyta env. zm. SKRYPTIR...

Polecenie : rem Aliasy: #, //
Opis : Uwaga. Reszta linii jest ignorowana.
Składnia : Zwróć uwagę, że spacja musi następować po słowie „rem”.
Przykład:
#To jest uwaga
// Więc to jest?
rem To nie jest dyskoteka.

Polecenie: powrót
Opis : Powraca z podprogramu.
Składnia : return
Zobacz też: gosub.

Polecenie: wyślij
Opis : wysyła ciąg do linii komunikacyjnej (zwykle modem).
Składnia : wyślij ciąg
Uwagi: Zwrot karetki (ENTER) nie jest wysyłany automatycznie
Uwagi : (użyj ^m).
Przykład:
wyślij "atdt555-1212^m"
wyślij $g+"^m"
send "Czas to "+$time()+"^m^j"

Polecenie: ustaw
Opis : ustawia parametry pracy.
Składnia: ustaw wartość parametru
Uwagi:

Opis polecenia
----------------------------- --------------------- ----------------------------
ustaw echo on|off Echo klawiatury na ekranie.
set comecho on|off Odebrane znaki pojawiają się na ekranie.
ustaw senddelay time_constant między znakami opóźnienia dla "wyślij"
ustaw ignorecase on|off Rozróżnianie wielkości liter dla "waitfor".
Domyślnie=wł.
ustaw clocal on|off clocal on = ignoruj ​​sygnały modemu
ustawić domyślne ustawienia trybu tworzenia plików w trybie umask.
Zobacz umask człowieka.
set verbose on|off verbose on = wyjście debugowania włączone.
ustawić parametry komunikacji com com_params.
np.: 19200n81, 300e71
bodów |||
Parzystość |
Bity danych |
Bity stopu |

Przykład:
wyłącz echo
drukuj "Hasło :"
wprowadź $p
drukuj "\n"
włącz echo
Włącz comecho
ustaw zegar na włączony
ustaw opóźnienie wysyłania 0.1
włącz ignorowaniecase
zestaw com 38400n81
ustaw umask 022 # Musi być ósemkowa (początkowe zero)
...

Uwaga na temat Clocal:
Jeśli chcesz, aby Twój skrypt działał po wykryciu operatora
sygnał spadł, włącz clocal, w przeciwnym razie powoduje spadek CD
linia urządzenia do zamknięcia (rozłącz się). Może się to zdarzyć, jeśli:
powiedzmy, twój skrypt wywołuje i łączy się, a następnie rozłącza się lub
upuszcza dtr (flash), a następnie próbuje ponownie połączyć się.

Polecenie: spać
Opis : Wstrzymuje wykonanie.
Składnia : sleep float_constant
Uwagi: Float_constant jest dokładny do 1/100 sekundy, chyba że
Uwagi: więcej niż 100 sekund, w takim przypadku precyzja
Uwagi : spada do 1 sek.

Przykład:
spać 0.06
spać 3
spać 86400 /* Cały dzień */

Polecenie: system
Opis : Wywołuje polecenie systemowe (unix)
Składnia : systemowe „polecenie”
Zobacz też: exec.
Przykład:
: reż
print "wykaz katalogu ",$cwd(),\n"
system "ls -l |więcej"

Polecenie: klawisz testowy
Opis : Testuje klawiaturę pod kątem naciśnięcia klawisza, zwraca 1 w %, jeśli jest obecny.
Składnia : testkey
Uwagi: Można testować tylko dla klawisza ENTER. Przyszłe wersje comgt
Uwagi: przetestuje więcej i zwróci kody klawiszy w %.
Zobacz też : wejście.
Przykład:
niech n=1
: pętla
drukuj n," owca... ZZZzzz...\n"
spać nie
w tym n
klucz testowy
jeśli % = 0 przejdź do pętli

Polecenie: czekaj
Opis : Poczekaj na zakończenie procesu podrzędnego.
Składnia : czekaj
Uwagi : ID procesu zakończonego dziecka jest zwracany w %
Zobacz też : widelec, zabić.
Przykład:
widelec
niech p=%
jeśli p=0 idź do dziecka
jeśli p=-1 przejdź do błędu
drukuj "Czekam, aż dziecko skończy..."
czekać
drukuj "\n"
if %!=p print "Czekaj, niepoprawny PID!\n" przejdź do błędu
print "Dziecko jest gotowe.\n"

Polecenie: czekaj
Opis : Czeka, aż zostanie odebrany jeden z listy ciągów
Składnia : waitfor timeout "ciąg1","ciąg2","ciąg3"...
Uwagi: Limit czasu to zmienna stała czasowa. czekajcichutkie powroty
Uwagi : 0 dla pierwszego otrzymanego ciągu, 1 dla drugiego itd...
Uwagi : i -1 dla limitu czasu. Wielkość liter jest domyślnie ignorowana, chyba że
Uwagi: Ignoruj ​​wielkość liter jest wyłączona.
Zobacz też: pobierz.
Przykład:
:Wybierz
wyślij "atdt555-4411^m"
czekaj na 60 "brak operatora","zajęty","brak sygnału wybierania","połącz"
jeśli % = -1 goto timedout
jeśli % = 0 goto nocd
jeśli % = 1 przejdź do ponownego wybierania
jeśli % = 2 przejdź do błędu
jeśli % = 3 goto podłączony

Polecenie: czekaj cicho
Opis : Czeka, aż linia komunikacyjna przestanie odbierać przez pewien czas.
Składnia : waitquiet timeout quiettime
Uwagi: Zarówno timeout, jak i cisza są zmiennymi stałymi czasowymi
Uwagi: z 1/100 sek. precyzja. Przydatne do „połykania”
Uwagi : znaki przychodzące przez chwilę lub czekające na
Uwagi: nieznany monit.
Przykład:
:zamknij
wyślij "wyloguj^m"
czekajcicho 10 0.5
wyślij "tak^m"

Liczba całkowita Funkcje
I-Funkcja: Dostęp
Opis : Weryfikuje prawa dostępu do pliku
Składnia : let x=access("/tmp/file","frwx")
Uwagi: Drugi ciąg zawiera co najmniej jeden z
Uwagi: ´f´,´r´,´w´,´x´ do odpowiedniego sprawdzenia
Uwagi : uprawnienia do istnienia, odczytu, zapisu i wykonywania.
Uwagi : Pod identyfikatorem root jedynym użytecznym znacznikiem jest ´f´, as
Uwagi: wszystkie inne zwrócą prawdę.
Wartość zwracana: 0 jeśli plik istnieje, jest czytelny, zapisywalny,
Wartość zwracana: plik wykonywalny lub -1, jeśli nie.
Zobacz też: mężczyzna dostęp(2)

I-funkcja: baud
Opis : Zwraca aktualną prędkość transmisji linii komunikacyjnej.
Składnia : let x=baud()
Uwagi: Niekoniecznie odpowiada szybkości połączenia modemowego.
Zobacz też: $baud().

I-funkcja: len
Opis : Zwraca długość ciągu.
Składnia : let x=len($s)
Uwagi: „” to zero. Ciągi mają obecnie maksymalną długość
Uwagi: 1024 znaki. comgt nie obsługuje przepełnienia ciągu
Uwagi: w ogóle.

I-funkcja: hczas
Opis : Zwraca setki sekund od rozpoczęcia skryptu.
Składnia : let x=htime()
Uwagi: Ustaw określoną wartość za pomocą hset.
Zobacz też : hset.

I-funkcja: pid
Opis : Zwraca numer identyfikacyjny bieżącego procesu (comgt)
Składnia : let x=pid()
Zobacz też : ppid(), widelec

I-funkcja: ppid
Opis : Zwraca numer identyfikacyjny procesu nadrzędnego.
Składnia : let x=ppid()
Uwagi: może być używany przez rozwidlone dziecko do wykrywania rodzica;
Uwagi: proces.

I-funkcja: czas
Opis : Zwraca czas w sekundach od 1 stycznia 00:00:00 1970 GMT.
Składnia : let x=time()
Uwagi : Służy do obliczania różnic czasowych.
Zobacz też : $time()

I-funkcja: val
Opis : Zwraca wartość ciągu.
Składnia : let x=val($x)
Uwagi : Ciąg nie jest wyrażeniem; musi zawierać tylko [0-9]
Uwagi: postacie. Przyszłe wersje comgt będą mogły
Uwagi : oceniaj wyrażenia. (Być może) (To zostało napisane 6
Uwagi : lata temu.)

I-funkcja: gadatliwy
Opis : Zwraca wartość pełnego ustawienia.
Składnia : let x=verbose()
Uwagi: 0=wyłączone, 1=włączone.

sznur Funkcje
Funkcja S: nazwa podstawowa
Opis : Zwraca część nazwy bazowej ścieżki.
Składnia : let $x=$basename($p)
Uwagi : $basename("/usr/bin/more")="więcej"
Zobacz też : $dirname().

Funkcja S: bod
Opis : Zwraca ciąg reprezentujący bieżącą szybkość transmisji.
Składnia : let $x=$baud()
Uwagi : Zdefiniowane przez „set com”
Zobacz też : baud(), set com.

Funkcja S: cwd
Opis : Zwraca nazwę ścieżki bieżącego katalogu roboczego.
Składnia : let $x=$cwd()
Zobacz też : cd.

Funkcja S: dev
Opis : Zwraca bieżącą nazwę ścieżki urządzenia komunikacyjnego.
Składnia : let $x=$dev()
Uwagi : zdefiniowane przez argument wiersza poleceń "-d" lub "open com"
Zobacz też : otwórz com.

Funkcja S: nazwa dir
Opis : Zwraca część nazwy katalogu ze ścieżki.
Składnia : let $x=$dirname($p)
Uwagi : $dirname("/usr/bin/more")="/ usr / bin"
Zobacz też : $basename().

Funkcja S: env
Opis : Zwraca zawartość zmiennej środowiskowej
Składnia : let $x=$env("HOME")
Uwagi : Nieistniejące zmienne zwracają pusty ciąg.
Zobacz też: putenv.

Funkcja S: szesnastkowy
Opis : Konwertuje wartość na reprezentację szesnastkową
Składnia : let $x=$hex(x)
Uwagi : Małe litery af, bez poprzedzającego „0x”
Zobacz też : $hexu(), $oct().

Funkcja S: hexu
Opis : Konwertuje wartość na reprezentację szesnastkową
Składnia : let $x=$hex(x)
Uwagi: litery AF pisane wielkimi literami, bez poprzedzającego „0x”
Zobacz też : $hex(), $oct().

Funkcja S: hms
Opis : Konwertuje liczbę sekund na ciąg czasu
Składnia : let $x=$hms(x)
Uwagi: Format to „GG:MM:SS”. Przydatne do wyświetlaczy chronometru
Uwagi : Użyj z "time()", nie próbuj zwiększać zmiennej
Uwagi: co sekundę za pomocą „snu 1”. (Zobacz przykład skryptu ISP)
Uwagi: Format zmienia się na „GGH:MM:SS” po 99 godzinach i 59 minutach,
Uwagi : 59s...
Zobacz też : time().

Funkcja S: lewa
Opis : Zwraca lewą część ciągu
Składnia : let $x=$left($s,l)
Uwagi : $s=ciąg źródłowy, l=długość
Uwagi: l musi być krótsze niż długość ciągu.
Zobacz też : $right(), $mid().

Funkcja S: środkowa
Opis : Zwraca środkową część ciągu.
Składnia : let $x=$mid($s,s,l)
Uwagi : $s=łańcuch źródłowy, s=start, l=długość
Uwagi: s musi być krótsze niż długość łańcucha, l może być
Uwagi : duża liczba (9999) zwracająca prawą stronę a
Uwagi: sznurek do końca. pierwszym znakiem ciągu jest
Uwagi: pozycja 0, nie 1.
Zobacz też : $prawo(), $lewo().

Funkcja S: oct
Opis : konwertuje wartość na reprezentację ósemkową.
Składnia : let $x=$oct(x)
Zobacz też : $hex(), $hexu().

Funkcja S: w prawo
Opis : Zwraca prawą część ciągu.
Składnia : let $x=$right($s,l)
Uwagi : $s=ciąg źródłowy, l=długość
Uwagi: l musi być krótsze niż długość ciągu.
Zobacz też : $left(), $mid().

Funkcja S: rpipe
Opis : Zwraca pierwszą linię z polecenia systemowego potokowego
Składnia : let $x=$rpipe("/bin/ls |grep mójplik")
Uwagi : Niezbyt przydatne, chyba że używane z głową, ogonem, grepem,
Uwagi : itp...
Zobacz też: system.

Funkcja S: czas
Opis : Zwraca 24-znakowy ciąg czasu lokalnego
Składnia : let $x=$time()
Zobacz też : time().
Uwagi: Czas jest w tym formacie: Mon Apr 8 14:21:22 1996
012345678901234567890123
1 2

Funkcja S: dolna
Opis : zwraca ciąg pisany małymi literami.
Składnia : let $x=$tolower($y)

Funkcja S: nakładka
Opis : Zwraca ciąg pisany wielkimi literami.
Składnia : let $x=$toupper($y)

Testowanie operatorzy
Operator Opis Przykład Wynik
= równe, jeśli 1+2=3 tak
!= nie równe, jeśli 1+2!=3 nie
<> nie równe, jeśli 1+2<>3 nie
> Większe niż gdyby 1+3>3 tak
< Mniej niż jeśli 1+3<3 nie
>= Większe lub równe, jeśli 3>=3 tak
<= Większe lub równe, jeśli 2<=3 tak

Łańcuchy można porównywać za pomocą tych samych operatorów.

"aaa" < "aab", "aaaa"> "aaa", "Test" != "test", "One" = "Jeden",
„A” > „a”, „Fumble” <= „Fumigate”, „Farsical” <> „Komediowy”

Note to "ustaw ignorowanie przypadku" NIE dotyczy porównań łańcuchów.

Wyrażenie operatorzy
Operator Opis Przykład Wynik
+ Dodanie niech a=2+2 4
+ Konkatenacja niech $b="aa"+"bb" "aabb"
- Odejmowanie niech e=2-5 -3
* Mnożenie niech f=11*2 22
/ Dzielenie niech g=34/11 3
& Bit-Wise AND niech h=42&7 2
| Bit-Wise OR niech a=42|5 47
^ Bit-Wise XOR niech a=42^7 45

Przykłady wyrażeń mieszanych:

#Zwraca liczbę sekund od 00:00:00
let $t=$time() #Zrób migawkę.
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
#Zwróć uwagę na dodatkowe zestawy nawiasów, ponieważ wyrażenie comgt
#ewaluator jest martwy.
#Na przykład 5-2+1 powinno dać 4, prawda? Cóż, według
#getvalue(), tak naprawdę daje 2, ponieważ robi to trochę z
#od prawej do lewej.
#Aby poprawnie ocenić 5-2+1, użyj (5-2)+1. Jeśli używasz
#proste, dwuelementowe obliczenia, nie martw się.
#5-2 da ci 3.

#Konkatenacja (połączenia cu)
exec "cu -l "+$dev()+" -s "+$baud()"

#W warunkach testowych
jeśli a+c > strlen($c) idź do za dużo

#Porównanie ciągów
niech $t=$środek($czas(),11,8)
if $t > "19:59:59" print "Za późno na to!\n" goto toolate
if $t < "08:00:00" print "Za wcześnie!\n" idź za wcześnie
if $t = "00:00:00" print "O Boże! Czas Twinkee!\n"

ZNANE ROZWIĄZANIA


Parser getvalue(). Rozśmiesza mnie, więc myślę, że tak zostawię. -
[email chroniony]

ŚRODOWISKO ZMIENNE


COMGTPIN - 4-cyfrowy kod PIN karty SIM do wykorzystania przez skrypt PIN COMGTAPN - APN do zapisu
karta danych używana przez skrypt APN.

AUTORSKI


Daniel.Chouinard[email chroniony]> napisał oryginał dkon użyteczność.

Paul Hardwick[email chroniony]> zaktualizowałem go do najnowszych kompilatorów, pod warunkiem
w funkcjonalności skryptu i przetestowałem go z kartami danych GPRS i 3G.

Martin Gregorie[email chroniony]> napisał oryginalną stronę podręcznika dla komgt z dkon
dokumentacja i zapakowane komgt do dystrybucji.

Historia
Daniel Chouinard napisał większość (90%) z dkon w 1989 roku, kiedy zaczął robić Unix Apps
wsparcie techniczne głównie przez modem do systemów klienta. Był zmęczony pisaniem tych wszystkich
hasła i zabawne kody do naliczania połączeń za każdym razem, gdy używał cu. Również firma, w której pracował
w razie potrzeby system, który rejestrowałby czasy połączeń i szacunkowe koszty. Zatem dkon urodził się.
Sześć lub siedem lat później (1996) używał pppd do łączenia się ze swoją stroną ISP. On był
mniej lub bardziej zadowolony z pogawędzić ale okazało się, że brakowało mu kontroli przepływu i wielokrotnych kontroli odpowiedzi
od „atdt...”. Chciał, żeby robił różne rzeczy dla „bez operatora”, „bez sygnału wybierania” i
"zajęty". Chociaż myślał, że pogawędzić prawdopodobnie zostanie wzmocniony pewnego dnia, gdy znajdzie
dcon.c na jednej ze swoich starych taśm 45M próbował ją skompilować na swoim Linux-ie i, lo i
oto tak się stało. Na koniec dodał do tego kilka rzeczy (zabij, rozwidlej, czekaj, 1/100 sek.).
razy) i tak to zostawiłem.

Kilka lat temu Paul Hardwick znalazł program, dkon 0.97, ostatnia modyfikacja w 1996 roku.
Celem tego programu było uruchamianie skryptów kontrolujących porty szeregowe Linuksa. ten
implementacja była bardzo podobna do tego, co napisał dla Windows. W każdym razie raczej
niż na nowo, skontaktował się z autorem, Danielem Chouinardem, i poprosił go o pozwolenie na ponowne wykorzystanie
kod. Na szczęście dał pozwolenie i podstawowe, ale przydatne narzędzie o nazwie komgt była
Utworzony. Paul nie bierze kredytu za silnik, poza tym, że jest kompatybilny z dzisiejszymi
kompilatory. To jest w zasadzie dkon przepakowany.

20 października 2006 komgt(1)

Korzystaj z comgt online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

Komendy systemu Linux

Ad