EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

comgt - Online în cloud

Rulați comgt în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda comgt care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


comgt - Opțiune GlobeTrotter GPRS/EDGE/3G/HSDPA și control card de date Vodafone 3G/GPRS
instrument

REZUMAT


comgt -d dispozitiv -ehstvVx scenariu

OPŢIUNI


-d dispozitiv
setați dispozitivul care va fi utilizat pentru a comunica cu cardul de date. Dacă nu
specificat apoi comgt trys /dev/noz2, /dev/ttyUSB2 și apoi /dev/modem

-e
activați ecoul comunicațiilor seriale.

-h
afișați ajutorul rezumat și ieșiți.

-s
nu rulați interiorul lipsă script înaintea unui script extern.

-t
treceți la un terminator de linie alternativ (implicit „0).

-v
rulează în modul verbose. Aceasta urmărește scripturile pe măsură ce sunt executate. Este
destinat să ajute la depanarea scripturilor.

-V
Informații despre versiunea tipărită.

-x
pentru scripturi interne și externe, orice referință la 115200 baud este
convertit la 57600. Acest lucru este util pentru cardurile de date cărora nu le place 115200
baud, cum ar fi GlobeTrotter EDGE.

DESCRIERE


comgt este un interpret de limbaj de scripting util pentru stabilirea comunicațiilor pe seriale
linii și prin modemuri PCMCIA, precum și carduri de date GPRS și 3G.

comgt are unele caracteristici care se găsesc rar în alte utilități de același tip.

DESCRIERE
- Scripturi predefinite încorporate pentru controlul cardului de date 2G/3G
- Limbajul de script simplu, asemănător BASIC.
- Linia de comandă și sursa de fișiere a scriptului.
- Așteptați cu mai multe răspunsuri.
- liniștea de așteptare permite stabilizarea liniei.
- Captură de text în linie.
- Suport multi-proces: bifurcație, așteptare, ucidere, ieșire.
- Depanare pronunțată și ieșire în jurnal.
- înregistrare în fișier.
- Controlul fluxului: goto, gosub, return, if, else.
- Impact redus asupra resurselor sistemului.
- Comenzi de timp și funcții.
- Manipularea șirurilor.
- Manipularea mediului: env(), putenv.
- Apeluri de sistem cu utilități externe: sistem, exec.

Suportat GPRS și 3G carduri de date
comgt a fost testat împotriva GlobeTrotter GPRS, EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA și
GlobeTrotter Fusion precum și Vodafone 3G. Poate seta codul PIN și poate afișa informații
despre cardurile de date înainte de pornirea unei conexiuni PPP. În plus, pentru că
GlobeTrotter și cardul de date Vodafone 3G/GPRS au o interfață serială secundară, acestea
cardurile de date pot fi monitorizate în timp ce există o conexiune PPP și se transferă date.

comgt este conceput în primul rând pentru a funcționa cu gama de carduri de date GlobeTrotter, dar ar trebui să fie
compatibil cu orice alt card de date GPRS sau 3G, cu condiția ca interfața sa să fie implementată ca una
sau mai multe dispozitive seriale sau USB și este controlat și interogat de o implementare
a interfeței de comandă Hayes cu aceleași extensii de comandă AT utilizate de cei enumerați
carduri de date.

Utilizarea comgt
comgt are o singură funcție: să ruleze un script. Acesta poate fi unul dintr-un număr de „standard”
scripturi interne sau un script extern. Ambele tipuri de script sunt invocate în același mod.
Scripturile „standard” sunt încorporate comgt și va funcționa pentru modemurile conectate în serie,
modemuri încorporate, modemuri PCMCIA, precum și GlobeTrotter GPRS și Vodafone 3G/GPRS
carduri de date. Există o ordine de prioritate a căutării pentru scripturi - 1)internă, 2)funcțională
director, 3)/etc/comgt

Built-in script-uri
comgt
Aceasta rulează scriptul intern implicit. Alergare comgt fără niciun script specificat, de exemplu,
comgt -d /dev/ttyS1 va verifica dacă există un PIN și vă va solicita dacă este necesar. Urmatorul
lucru pe care îl face este să aștepte ca dispozitivul să se înregistreze, apoi raportează puterea semnalului. Dacă
nu specificați un port cu -d opțiune atunci /dev/modem este asumat. Dacă comutatorul -s
nu este utilizat, atunci acest script implicit este rulat înaintea oricărui script extern.

comgt ajutor
Enumeră acestea și celelalte opțiuni disponibile.

comgt info
Listează configurația cardului de date.

comgt sig
Imprimă puterea semnalului.

comgt reg
Imprimă starea de înregistrare.

comgt 3G
Pune GlobeTrotter 3G/Fusion și Vodafone 3G în modul numai pentru rețea 3G (UMTS/HSDPA).

comgt 2G
Pune GlobeTrotter 3G/Fusion și Vodafone 3G în modul numai pentru rețea 2G (GSM/GPRS/EDGE).

comgt 3G2G
Pune GlobeTrotter 3G/Fusion și Vodafone 3G în modul preferat 3G (UMTS/HSDPA și
GSM/GPRS/EDGE).

comgt GTEDGE
Utilizați această comandă pentru a inițializa cardurile GlobeTrotter EDGE și GlobeTrotter Combo EDGE înainte
făcând orice altceva. (Pornește radioul).

comgt Statele Unite ale Americii
Comutați la banda 900/1900 MHz pentru funcționarea în SUA. Numai carduri de date GPRS GlobeTrotter.

comgt EUROPA
Comutați la banda 900/1800 MHz pentru funcționarea europeană. Numai carduri de date GPRS GlobeTrotter.

comgt PIN
Testați starea PIN-ului SIM și utilizați variabila de mediu COMGTPIN ca valoare.

comgt APN
Setați APN-ul cardului de date la valoarea conținută în variabila de mediu COMGTAPN.

pachet personalizat Script-uri
Pe lângă scripturile încorporate, vă puteți crea propriile dvs. Următorul script setează un Vodafone 3G
modul UMTS al cardului de date sau al cardului Option Fusion la GPRS:

#Setați modul numai GPRS
set com 115200n81
setați întârzierea trimiterii la 0.05
așteaptă liniștit 1 0.2
trimite „AT_OPSYS=0^m”
printează „Setarea modului numai GPRS”

Dacă ați salvat scriptul de mai sus ca GPRS, l-ați numi astfel:

comgt GPRS

Dacă trebuie să specificați și portul, faceți acest lucru:

comgt -d /dev/ttyS1 GPRS

De asemenea, puteți transmite parametri de mediu către a comgt script prin $env().

Remontarea Chat
Chat este un utilitar care vine cu pachetul ppp (pentru Linux, oricum) care, cu un set de
aștept-trimite cupluri de șiruri, face suficient pentru a conecta majoritatea oamenilor la ISP-uri și altele. In timp ce
Utilizarea chat-ului este foarte simplă, nu este foarte flexibilă. Acolo comgt preia.

comgt poate fi folosit în locul Chat folosind aceeași strategie. De exemplu, o linie pppd
citind:

conectează pppd \
´chat -v "" ATDT5551212 CONECTARE "" origine: ppp \
cuvânt: apă albă' \
/dev/cua1 38400 depanare crtscts modem defaultroute

Ar, folosind comgt, citit:

pppd conectează „comgt -s /root/scripts/isp.scr” /dev/cua1 38400 \
depanare crtscts modem defaultroute

Și scriptul isp.scr ar citi:

trimite „ATDT5551212^m”
așteptați 60 "ogin:"
trimite "ppp^m"
așteptați 60 de „cuvânt:”
trimite "whitewater^m"

Desigur, atunci devine banal să faceți acest script mult mai funcțional
adăugarea codului pentru detectarea ocupatului, reapelarea etc...

prolix producție
Când opțiunea verbose este activată, comgt raportează totul despre eroarea standard
canal. Dacă este pornit din linia de comandă (-v), ieșirea conține 4 secțiuni.

- Acțiuni de argument din linia de comandă
Acestea sunt acțiuni întreprinse deoarece au fost specificate din linia de comandă, cum ar fi
deschiderea unui dispozitiv de comunicație (-d), etc... Pentru ca acestea să fie scoase, trebuie să specificați -v
ca prim argument.

- Lista argumentelor
Numărul și lista de argumente transmise. Acest lucru este util în cazul în care aveți o grămadă de
variabile de mediu sau ghilimele, ghilimele înapoi, barele oblice inverse pe linia de comandă și ești
nu sunt sigur ce vede cu adevărat scenariul.

- Lista de scripturi
O listă cu scriptul de executat. Aceasta poate fi o concatenare a standardului intern
script, cu excepția cazului în care acest lucru este suprimat de opțiunea -s și de un fișier script. Fiecare linie este
listate cu numărul rândului și poziția caracterului.

- Ieșire de execuție
Lista comenzilor pe măsură ce sunt executate. Analizorul imprimă linia în care se află în prezent,
începând de la punctul exact în care se află până la sfârșitul liniei. Comandă multiplă
grupurile de pe o singură linie produc mai multe linii de ieșire. Ieșirea detaliată poate fi amestecată cu
ieșire script (print, eprint sau lprint.)

Iată un exemplu:

$ comgt -v -d/dev/cua1 -s blah.scr
comgt 00:18:46 -> Ieșire verbală activată
comgt 00:18:46 -> Fișier script: 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 -> ---Script---
1@0000 set com 38400n81 lasa a=2
2@0025 imprimați „9x”,a,”=",9*a,"\n"
3@0051 somn 5
4@0059 ieșirea 0
comgt 00:18:46 -> ---Sfârșitul scenariului---
comgt 00:18:46 -> @0000 set com 38400n81 let a=2
comgt 00:18:46 -> @0017 lasa a=2
comgt 00:18:46 -> @0025 print "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 somn 5
comgt 00:18:51 -> @0059 ieșirea 0

Programare manual


Sintaxă
Sintaxa folosită pentru comgt scripts este destul de simplu, oarecum asemănător BASIC. Un scenariu este un
fișier text ASCII pur netokenizat, care conține linii terminate cu caractere newline
(Standard Unix.) Scripturile pot fi create și/sau modificate folosind orice editor de text standard
(vi, vim, joe, pico, emacs, ed, microEmacs) Linii în a comgt scriptul se citește astfel:

- Linie goală
- [indent]rem remarcă
- [indent][[:|label] LABEL] [comandă [argumente]] rem remarcă
- [indent][[:|etichetă] LABEL] [comandă [argumente]] [comandă [argumente]]...

Caracterele utilizate pentru indentare sunt caracterele de spațiu și de tabulare.
Comanda rem face ca analizatorul de script să sară restul liniei.
Comanda rem poate fi scrisă și ca „#” sau „//”.

Etichetele constau din litere mici și mari și cifre.
Lipsa majusculelor este ignorată în etichete.

Comenzile și argumentele lor sunt separate prin spații și/sau file.
Grupurile de comenzi sunt separate prin spații, file sau linii noi.

Expresiile nu trebuie să conțină spații sau file.
Este ok: fie n=x+76
Aceasta nu este: fie n= x + 76
Deoarece acest spațiu ^ ar termina grupul de comandă let.

Eroare de raportare
Cand comgt detectează o eroare de script, pornește imediat modul verbose, generează un dump
(vezi comanda dump), raportează eroarea în trei rânduri și oprește execuția. The
prima linie raportată este grupul de comandă care se execută, a doua linie arată unde
parser got și a treia linie raportează poziția caracterului contorului programului, the
eroare și codul de ieșire.

Iată un exemplu:

$ comgt -vs blar2.scr

Unde este scriptul blar2.scr:

inc n
dec d3
fie a=58/3
lasa $d="fod"
fie c=1/0
lasă $y4="sdfgsdfgsdfg"

Raportul de urmărire și eroare arată astfel:

comgt 11:20:15 -> Ieșire verbală activată
comgt 11:20:15 -> Fișier script: 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 -> ---Script---
1@0000 inc n
2@0007 dec d3
3@0015 fie a=58/3
4@0027 let $d="fod"
5@0041 fie c=1/0
6@0052 let $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---Sfârșitul scenariului---
comgt 11:20:15 -> @0000 inc n
comgt 11:20:15 -> @0007 dec d3
comgt 11:20:15 -> @0015 lasa a=58/3
comgt 11:20:15 -> @0027 let $d="fod"
comgt 11:20:15 -> @0041 lasa c=1/0
comgt 11:20:15 -> -- Raport de eroare --
comgt 11:20:15 -> ----> ^
comgt 11:20:15 -> Eroare @49, linia 5, Împărțire la zero. (6)

Ieşire Coduri
Cand comgt se încheie, o face cu un „cod de ieșire”. Acesta este un număr căruia i sa transmis înapoi
procesul de apelare pentru a semnifica succesul sau eșecurile. În Unix de zi cu zi, 0 (zero) înseamnă
succesul și orice altceva înseamnă orice dorește autorul programului să însemne. În
un script shell sau direct pe linia de comandă, puteți privi conținutul $? după
apelând comgt pentru a-și examina codul de ieșire.

Exemplu:

#!/ Bin / sh
comgt /root/bin/call-isp
dacă [ $? != 0 ]; atunci
echo „Hopa! Ceva a mers prost”.
fi

Intern comgt codurile de eroare sunt după cum urmează:

0: Nicio problemă. Aparent.
1: Probleme cu dispozitivul de comunicație.
2 : Probleme cu dispozitivul consolă (tty).
3: Probleme de memorie.
4 : Probleme cu pile sau conducte.
5: Erori de sintaxă.
6 : Împărțirea la zero.
7: Gestionarea greșită a variabilei.
8: Probleme de sistem. (Nu am putut suna / Bin / sh sau ceva de genul)

Comenzi
Comanda : : Alias: etichetă
Descriere: notează un punct de ancorare pentru goto sau gosub la care se ramifică.
Sintaxă: Cuvântul cheie nu trebuie să conțină caractere speciale.
Notă: trebuie să fie prima declarație dintr-o linie.
Vezi și: goto, gosub, return.
Exemplu:
: buclă
gosub bravo
print "Ora este ",$time(),"\n"
Dormi 1
mi-am dat seama
eticheta bravo
imprimați „Twonk!\n”
reveni

Comanda: anulare
Descriere: Determină comgt să apeleze abort() și să producă un dump de bază.
Sintaxă: anulare
Vezi și: dump, exit.

Comanda: cd
Descriere: Schimbați directorul.
Sintaxă: directorul cd
Note: -1 este returnat în % dacă modificarea nu a putut fi făcută.
Note: directorul este un șir și, prin urmare, ar putea fi o variabilă.
Vezi și: $cwd().
Exemplu:
cd "duh"
if % != 0 print „Nu s-a putut cd în duh.\n”

Comanda: inchidere
Descriere: închide fișierul deschis anterior cu open.
Sintaxă: închide fișierul
Vezi și: deschis.

Comanda: dec
Descriere: Decrementează conținutul unei variabile întregi cu 1.
Sintaxă: dec x
Note: x este de la a la z sau a0 la z9.
Note: Rețineți că funcționează și „let x=x-1”.
Vezi și: let, inc.

Comanda: dump
Descriere: listează toate variabilele întregi diferite de zero și șirul modificat
Descriere: variabile ca intrări de jurnal (canal de eroare standard.)
Sintaxă: dump
Vezi și: anulare, ieșire

Comanda: altfel
Descriere: Alternativ, executați comenzi dacă ultimul „dacă” a fost testat fals.
Sintaxă: else commands...
Vezi și: dacă
Exemplu:
dacă w<350 afișează „Uau! Imaginează-ți asta.\n”
else printează „Rush Limbaugh este un ticălos mare și gras.\n”

Comanda: eprint
Descriere: imprimați o listă de argumente separate prin virgulă pe stderr.
Sintaxă: eprint var,stringvar,"text",...
Note: Ca tipărirea, dar pe descriptorul standard al fișierului de eroare.
Note: Ieșirea erorii poate fi redirecționată cu „2>fișier” activat
Note: linia de comandă.
Vezi și: imprimare.

Comanda: exec
Descriere: Înlocuiește procesul de comgt curent cu un alt proces.
Sintaxă: exec "command -args..."
Vezi și: sistem, furcă.
Exemplu:
#Scenariu terminat, sunați cu.
exec "cu -l "+$dev()+" -s "+$baud()

Comanda: ieșire
Descriere: termină execuția scriptului cu codul de ieșire.
Sintaxă: exit exit_code
Vezi și: avort, dump.
Exemplu:
: eroare
iesirea 1
:smeggit
iesirea 0

Comanda: flash
Descriere: Comută DTR pe dispozitivul de comunicare pentru un timp specificat.
Sintaxă: flash float_constant
Note: float_constant este precisă până la 1/100 de secundă.
Note: Determină ca modemul să renunțe la operator sau să treacă în modul de comandă,
Note: în funcție de setările modemului. Setarea vitezei de transmisie la 0
Note: pentru un timp are același efect.
Vezi și: sleep, set com.
Exemplu:
:Deconectat
flash 0.5
iesirea 0

Comanda: fprint
Descriere: imprimați o listă de argumente separate prin virgulă dintr-un fișier.
Sintaxă: fprint var,stringvar,"text",...
Note: Ca tipărirea, dar atașată la un fișier deschis anterior
Note: prin deschidere.
Vezi și: imprimare.

Comanda: furca
Descriere: proces comgt furci în două. Ambele procese continuă
Descriere: executarea scriptului.
Sintaxă: furcă
Note: % returnează 0 pentru procesul copil, ID de proces nou pentru
Note: părinte sau -1 pentru eroare.
Vezi și: așteptați, ucideți, pid(), ppid().
Exemplu:
furculiţă
dacă % = -1 merge la eroare
dacă % = 0 merge la copil
:mamă
...

Comanda: obține
Descriere: obțineți șirul de pe dispozitivul de comunicare.
Sintaxă: obțineți timeout "terminators" $string
Note: timeout este o constantă flotantă, terminatorii este o
Note: listă de caractere care, atunci când sunt primite, se termină
Note: obține. Terminatorii sunt ignorați atunci când sunt primiți mai întâi.
Vezi și: waitfor.
Exemplu:
așteptați 60 de „conectare”
dacă % != 0 merge la eroare
obține 2 " ^m" $s
printează „Parametrii conexiunii: „,$s,”\n”

Comanda: gosub
Descriere: apelează o subrutină.
Sintaxă: etichetă gosub
Note: în prezent, comgt acceptă doar 128 de niveluri de gosub
Note: apeluri (destul!)
Vezi și: :, goto, return.
Exemplu:
rutina gosub
Dormi 1
rutina gosub
sa terminat
:rutină
tipăriți „Flim-flam!\n”
reveni

Comanda: du-te la
Descriere: Trimite execuția altundeva în script.
Sintaxă: du-te la etichetă
Vezi și : :, gosub, return.
Exemplu:
:win95
print „Astăzi vreau să folosesc Linux, mulțumesc.\n”
mergi la win95

Comanda: hset
Descriere: Setați cronometrul sutelor.
Sintaxă: valoarea hset
Note: Această comandă resetează temporizatorul de sute de secunde la
Note: o valoare pentru htime de la care începe.
Vezi și: htime().
Exemplu:
hset 0
: buclă
print „Timp în 1/100 de sec.: „,htime(),”\n”
Dormi 0.01
mi-am dat seama

Comanda: dacă
Descriere: testează o condiție
Sintaxă: dacă comenzile test_condition...
Note: execută în mod condiționat comenzi dacă condiția de testare este adevărată.
Note: Operatorii de testare sunt = (egal), != (nu este egal),
Note: <> (nu este egal cu) < (mai mic decât), > (mai mare decât),
Note: <= (mai mic sau egal), >= (mai mare sau egal).
Note: Toți operatorii pot fi utilizați cu numere întregi și șiruri.
Note: Dacă test_condition este fals, dacă trece la
Note: linia următoare.
Vezi și: else.
Exemplu:
dacă n>30 tipăriți „Oh-ho! prea multe oi!\n” mergeți la eroare
dacă n=17 tipăriți „Ura! Avem destule oi\n” mergeți la petrecere
dacă n<17 tipăriți „Murray, obține mai multe oi.\n” du-te la obține mai mult
dacă $z < "Marmaluke" merge la...
dacă 3*a>5+b merge la...

Comanda: inc
Descriere: incrementează conținutul unei variabile întregi cu 1.
Sintaxă: inc x
Note: x este az sau a0-z9.
Vezi și: dec, let.

Comanda: intrare
Descriere: introduceți șirul de la tastatură în variabila șir.
Sintaxă: introduceți $x
Note: intrarea termină intrarea numai cu tasta ENTER.
Note: Spații, file și alte personaje amuzante sunt toate
Note: stocate în variabilă.
Vezi și: setați ecoul.
Exemplu:
print "Introduceți numele dvs. complet :"
introduceți $n4

Comanda: ucide
Descriere: Trimite un semnal unui proces.
Sintaxă: kill signal processID
Note: Atât semnalul, cât și ID-ul procesului sunt valori întregi. La fel ca
Note: kill standard Unix, cu excepția faptului că aliasurile de semnal nu sunt
Note: acceptat și semnalul nu este opțional.
Note: 0 este returnat în % dacă semnalul poate fi trimis, -1
Note: altfel.
Note: Semnalul 0 poate fi folosit pentru a detecta existența procesului.
Vezi și: wait, pid(), ppid().
Exemplu:
furculiţă
fie p=%
dacă p = 0 merge la copil
Dormi 300
ucide 15 p
Dormi 1
ucide 0 p
if % != 0 print "Copil terminat\n" merge ok
print „Nu s-a putut termina copilul!\n”
ucide 9 p
Dormi 1
ucide 0 p
if % = 0 print "Nu s-a putut ucide copilul!\n" merge la eroare
tipăriți „Copil ucis.\n”
:O.K
...

Comanda: lasa
Descriere: face o atribuire variabilă.
Sintaxă: fie x=conținut
Note: x este [$]a0-z9.
Vezi și: inc, dec.
Exemplu:
fie a=5
fie b=(timp()-a)+5
fie y7=6809
fie z=0%11010111 #Binar
fie z=077324 #octal
fie z=0xf5b8 #hexazecimal
let $c="Daniel"
fie $d=$c+" Chouinard"
let $s5="Frimpin´ Jeosaphat!"

Comanda: lprint
Descriere: Imprimați în jurnal o listă de argumente separate prin virgulă.
Sintaxă: fprint var,stringvar,"text",...
Note: Ca tipărire, dar tipărită ca o intrare de jurnal dacă verbose este activată.
Note: înregistrarea este trimisă către stderr.
Vezi și: print, eprint, fprint.

Comanda: deschide
Descriere: Deschide un fișier sau un dispozitiv de comunicare.
Sintaxă: deschideți dispozitivul com, deschideți com (stdin), deschideți fișierul FILE
Vezi și: aproape.
Exemplu:
deschide com /dev/cua1
set com 38400n81
deschide fișierul „/tmp/log”
fprintf „Acesta este un jurnal\n”
inchide fisierul

Comanda: imprimare
Descriere: imprimați o listă de argumente separate prin virgulă.
Sintaxă: print var,stringvar,"text",...
Note: Spațiile și liniile noi nu sunt adăugate automat.
Vezi și: eprint, fprint, lprint.
Exemplu:
fie b=26
let $c="variabile text"
printează „Text constant „,b”, „,$c,” time: „,$time(),”\n”

Comanda: putenv
Descriere: Setează o variabilă de mediu.
Sintaxă: putenv "var=conținut"
Note: Variabilele de mediu sunt exportate automat,
Note: niciodată returnat. Procesele copiilor moștenesc
Note: mediu.
Vezi și: $env().
Exemplu:
putenv "SCRIPTDIR=/usr/lib/comgt/scripts"
sistem „dothat” # dothat citește env. var. SCRIPTDIR...

Comanda: rem Alias: #, //
Descriere: Observație. Restul liniei este ignorat.
Sintaxă: Rețineți că un spațiu trebuie să urmeze „rem”.
Exemplu:
#Aceasta este o remarcă
// Așa este
rem Aceasta nu este o discotecă.

Comanda: întoarcere
Descriere: Se întoarce din subrutină.
Sintaxă: return
Vezi și: gosub.

Comanda: trimite
Descriere: trimite un șir la linia de comunicație (modem de obicei).
Sintaxă: trimite șirul
Note: Returul transportului (ENTER) nu este trimis automat
Note : (utilizați ^m).
Exemplu:
trimite „atdt555-1212^m”
trimite $g+"^m"
trimite „Ora este „+$time()+”^m^j”

Comanda: setați
Descriere: setează parametrii de lucru.
Sintaxă: setați valoarea parametrului
Note:

Descrierea comenzii
----------------------------- --------------------- ----------------------------
setați ecoul activat/dezactivat Ecoul tastaturii pe ecran.
set comecho on|off Caracterele primite au ecou pe ecran.
setează senddelay time_constant Întârziere între caractere pentru „trimitere”
setați ignorecase on|off Sensibilitatea majusculelor pentru „waitfor”.
Implicit=activat.
set clocal on|off clocal on = ignora semnalele modemului
setați setările implicite pentru crearea modului fișierului pentru modul umask.
Vezi omul umask.
setați verbose on|off verbose on = ieșirea de depanare activată.
setați parametrii de comunicare com com_params.
ex.: 19200n81, 300e71
baud |||
Paritate |
Biți de date |
Biți de oprire |

Exemplu:
dezactivați ecoul
tipăriți „Parola :”
intrare $p
tipăriți „\n”
activați ecoul
pornește comecho
set clocal on
setați întârzierea trimiterii la 0.1
activați ignorecase
set com 38400n81
set umask 022 # Trebuie să fie octal (zero la început)
...

Notă despre clocal:
Dacă doriți ca scriptul dvs. să continue să funcționeze după ce operatorul detectează
semnalul a scăzut, setați clocal, în caz contrar, se produce o cădere de CD
linia dispozitivului să se închidă (închide). Acest lucru s-ar putea întâmpla dacă,
să spunem, scriptul dvs. apelează și se conectează, apoi se deconectează sau
scade dtr (flash), apoi încearcă să se reconnecteze din nou.

Comanda: somn
Descriere: Întrerupe execuția.
Sintaxă: sleep float_constant
Note: Float_constant este precisă până la 1/100 de secundă, cu excepția cazului în care
Note: mai mult de 100 de secunde, caz în care precizia
Note: scade la 1 sec.

Exemplu:
Dormi 0.06
Dormi 3
dormi 86400 /* O zi întreagă */

Comanda: sistem
Descriere: Apelează o comandă de sistem (unix).
Sintaxă: sistem „comandă”
Vezi și: exec.
Exemplu:
:dir
printează „lista directorului „,$cwd(),\n”
sistem "ls -l |mai mult"

Comanda: cheie de test
Descriere: Testează tastatura pentru apăsarea tastei, returnează 1 în % dacă este prezent.
Sintaxă: testkey
Note: Se poate testa doar tasta ENTER. Versiunile viitoare ale comgt
Note: va testa mai multe și va returna codurile cheie în %.
Vezi și: intrare.
Exemplu:
fie n=1
: buclă
tipăriți n," oaie... ZZZzzz...\n"
somn n
inc n
cheie de test
dacă % = 0 du-te la buclă

Comanda: așteptați
Descriere: așteptați ca un proces copil să se termine.
Sintaxă: așteptați
Note: ID-ul de proces al copilului terminat este returnat în %
Vezi și: furcă, ucide.
Exemplu:
furculiţă
fie p=%
dacă p=0 merge la copil
dacă p=-1 merge la eroare
tipăriți „Așteptăm ca copilul să termine...”
aștepta
tipăriți „\n”
if %!=p print "Așteptați, am greșit PID!\n" mergeți la eroare
imprimați „Copilul a terminat.\n”

Comanda: așteptați
Descriere: Așteaptă până când este primit unul dintr-o listă de șiruri
Sintaxă: waitfor timeout "șir1","șir2","șir3"...
Note: Timeout este o constantă de timp flotantă. așteaptă liniște se întoarce
Note: 0 pentru primul șir primit, 1 pentru al doilea etc...
Note: și -1 pentru un timeout. Lipsa majusculelor este ignorată implicit, cu excepția cazului în care
Note: ignorecase este dezactivat.
Vezi și: obține.
Exemplu:
:dial
trimite „atdt555-4411^m”
așteptați 60 "fără operator","ocupat","fără ton de apel","conectare"
dacă % = -1 treci la expirarea timpului
dacă % = 0 goto nocd
dacă % = 1 mergi la reapelare
dacă % = 2 merge la eroare
dacă % = 3 mergi la conectat

Comanda: așteptați liniștit
Descriere: Așteaptă până când linia de comunicație nu mai primește o perioadă.
Sintaxă: waitquiet timeout quiettime
Note: Atât timeout cât și quiettitime sunt constante de timp flotante
Note: cu 1/100 de sec. precizie. Util pentru „înghițit”
Note: caractere primite pentru un timp sau așteaptă un
Note: prompt necunoscut.
Exemplu:
:closecon
trimite "logoff^m"
așteaptă liniștit 10 0.5
trimite "da^m"

Întreg funcții
I-Funcție: Acces
Descriere: Verifică drepturile de acces la un fișier
Sintaxă: let x=access("/tmp/file","frwx")
Note: Al doilea șir conține unul sau mai multe
Note: ´f´,´r´,´w´,´x´ pentru a verifica respectiv
Note: permisiuni de existență, citire, scriere și executare.
Note: Sub id-ul root, singura verificare utilă este „f”, as
Note: toate celelalte vor reveni adevărate.
Valoare returnată: 0 dacă fișierul există, este citibil, inscriptibil,
Valoare returnată: executabil sau -1 dacă nu.
Vezi și: bărbat acces(2)

I-Funcție: baud
Descriere: returnează viteza de transmisie curentă a liniei de comunicație.
Sintaxă: let x=baud()
Note: Nu se potrivește neapărat cu viteza conexiunii modemului.
Vezi și: $baud().

I-Funcție: len
Descriere: returnează lungimea unui șir.
Sintaxă: let x=len($s)
Note: „” este zero. În prezent, șirurile au o lungime maximă de
Note: 1024 de caractere. comgt nu gestionează depășirea șirurilor
Note: deloc.

I-Funcție: htime
Descriere: returnează sute de secunde de la începutul scriptului.
Sintaxă: let x=htime()
Note: Setați la o anumită valoare cu hset.
Vezi și: hset.

Funcția I: pid
Descriere: returnează numărul de ID al procesului curent (comgt)
Sintaxă: let x=pid()
Vezi și: ppid(), furk

I-Funcție: ppid
Descriere: returnează numărul ID al procesului părinte.
Sintaxă: let x=ppid()
Note: Poate fi folosit de un copil furcat pentru a detecta părintele
Note: proces.

I-Funcție: timp
Descriere: returnează timpul în secunde de la 1 ianuarie, 00:00:00 1970 GMT.
Sintaxă: let x=time()
Note: Folosit pentru a calcula diferențele de timp.
Vezi și: $time()

I-Funcție: val
Descriere: returnează valoarea șirului.
Sintaxă: fie x=val($x)
Note: șirul nu este o expresie; trebuie să conțină numai [0-9]
Note: caractere. Versiunile viitoare ale comgt vor putea
Note: evaluați expresiile. (Poate) (Acesta a fost scris 6
Note: cu ani în urmă.)

I-Funcție: verbose
Descriere: returnează valoarea setării detaliate.
Sintaxă: let x=verbose()
Note: 0=off, 1=pornit.

Şir funcții
Funcția S: nume de bază
Descriere : returnează o parte a căii de bază a numelui.
Sintaxă: let $x=$basename($p)
Note: $basename("/usr/bin/more")="mai mult"
Vezi și: $dirname().

Funcție S: baud
Descriere: Returnează reprezentarea în șir a ratei de transmisie curentă.
Sintaxă: let $x=$baud()
Note: definit de „set com”
Vezi și: baud(), set com.

Funcție S: cwd
Descriere : returnează calea directorului de lucru curent.
Sintaxă: let $x=$cwd()
Vezi și: cd.

Funcție S: dev
Descriere : returnează calea curentă a dispozitivului de comunicație.
Sintaxă: let $x=$dev()
Note: definit de argumentul liniei de comandă „-d” sau „deschide com”
Vezi și: open com.

Funcția S: dirname
Descriere: returnează numele directorului o parte din cale.
Sintaxă: let $x=$dirname($p)
Note: $dirname("/usr/bin/more")="/ usr / bin"
Vezi și: $basename().

Funcție S: env
Descriere: returnează conținutul unei variabile de mediu
Sintaxă: let $x=$env("HOME")
Note: Variabilele inexistente returnează un șir gol.
Vezi și: putenv.

Funcție S: hex
Descriere: convertește valoarea în reprezentare hexazecimală
Sintaxă: fie $x=$hex(x)
Note: Literele af cu litere mici, fără „0x” precedent
Vezi și: $hexu(), $oct().

Funcție S: hexu
Descriere: convertește valoarea în reprezentare hexazecimală
Sintaxă: fie $x=$hex(x)
Note: Literele AF cu majuscule, fără „0x” precedent
Vezi și: $hex(), $oct().

Funcția S: hms
Descriere: Convertește numărul de secunde în șir de timp
Sintaxă: let $x=$hms(x)
Note: Formatul este „HH:MM:SS”. Util pentru afișajele cronometrului
Note: Folosiți cu „time()”, nu încercați să incrementați o variabilă
Note: la fiecare secundă folosind „sleep 1”. (Vezi exemplu de script ISP)
Note: Formatul devine „HHH:MM:SS” după 99 de ore, 59 de minute,
Note: 59s...
Vezi și: timp().

Funcția S: stânga
Descriere: returnează porțiunea din stânga a unui șir
Sintaxă: let $x=$left($s,l)
Note: $s=șir sursă, l=lungime
Note: l trebuie să fie mai mică decât lungimea șirului.
Vezi și: $right(), $mid().

Funcție S: mijloc
Descriere: returnează secțiunea mediană a unui șir.
Sintaxă: let $x=$mid($s,s,l)
Note: $s=șir sursă, s=start, l=lungime
Note: s trebuie să fie mai mică decât lungimea șirului, l poate fi
Note: un număr mare (9999) pentru a returna partea dreaptă a unui
Note: sfoară până la capăt. primul caracter al unui șir este
Note: pozitia 0, nu 1.
Vezi și: $right(), $left().

Funcție S: oct
Descriere: convertește valoarea în reprezentare octală.
Sintaxă: let $x=$oct(x)
Vezi și: $hex(), $hexu().

Funcția S: dreapta
Descriere: returnează partea dreaptă a unui șir.
Sintaxă: let $x=$right($s,l)
Note: $s=șir sursă, l=lungime
Note: l trebuie să fie mai mică decât lungimea șirului.
Vezi și: $left(), $mid().

Funcție S: rpipe
Descriere : returnează prima linie dintr-o comandă de sistem
Sintaxă: let $x=$rpipe("/bin/ls |grep myfile")
Note: Nu este foarte util decât dacă este folosit cu cap, coadă, grep,
Note: etc...
Vezi și: sistem.

Funcția S: timp
Descriere: returnează șirul de timp local de 24 de caractere
Sintaxă: let $x=$time()
Vezi și: timp().
Note: Ora este în acest format: Luni Apr 8 14:21:22 1996
012345678901234567890123
1 2

Funcție S: coborâre
Descriere: Returnează șirul cu litere mici.
Sintaxă: let $x=$tolower($y)

S-Funcție: toupper
Descriere: Returnează șirul cu majuscule.
Sintaxă: let $x=$toupper($y)

Test Operatorii
Operator Descriere Exemplu Rezultat
= egal dacă 1+2=3 da
!= nu este egal dacă 1+2!=3 nr
<> nu este egal dacă 1+2<>3 nr
> Mai mare decât dacă 1+3>3 da
< Mai mic decât dacă 1+3<3 nr
>= Mai mare sau egal dacă 3>=3 da
<= Mai mare sau egal dacă 2<=3 da

Șirurile pot fi comparate folosind aceiași operatori.

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

notițe că „set ignorecase on” NU se aplică comparațiilor de șiruri.

Expresie Operatorii
Operator Descriere Exemplu Rezultat
+ Adunarea fie a=2+2 4
+ Concatenare let $b="aa"+"bb" "aabb"
- Scăderea fie e=2-5 -3
* Înmulțirea fie f=11*2 22
/ Diviziunea fie g=34/11 3
& Bit-Wise ȘI fie h=42&7 2
| Bit-Wise SAU fie a=42|5 47
^ Bit-Wise XOR fie a=42^7 45

Exemple de expresii mixte:

#Returns numărul de secunde de la 00:00:00
let $t=$time() #Fă un instantaneu.
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
# Observați seturile suplimentare de paranteze din cauza expresiei comgt
#evaluatorul este în moarte cerebrală.
#De exemplu, 5-2+1 ar trebui să-ți dea 4, nu? Ei bine, conform
#getvalue(), de fapt dă 2, pentru că o face oarecum de la
#de la dreapta la stanga.
#Deci pentru a evalua corect 5-2+1, folosiți (5-2)+1. Daca folosesti
calcule #simple, cu două elemente, nu vă faceți griji.
#5-2 vă va oferi 3.

#Concatenare (Apeluri cu)
exec "cu -l "+$dev()+" -s "+$baud()"

#În stare de testare
dacă a+c > strlen($c) mergi prea mult

#Comparație de șiruri
fie $t=$mid($timp(),11,8)
if $t > "19:59:59" print "Prea târziu pentru asta!\n" mergeți la toolate
dacă $t < "08:00:00" tipăriți „Prea devreme!\n" mergeți prea devreme
if $t = "00:00:00" print "Oh, Doamne! E timpul Twinkee!\n"

CUNOSCUT CARACTERISTICI


Analizorul getvalue(). Mă face să râd, așa că cred că o voi lăsa așa. -
[e-mail protejat]

MEDIUL VARIABILE


COMGTPIN - PIN-ul de 4 cifre al SIM-ului pentru utilizare prin scriptul PIN COMGTAPN - APN-ul în care să scrieți
cardul de date, utilizat de scriptul APN.

AUTORI


Daniel.Chouinard[e-mail protejat]> a scris originalul DCON utilitate.

Paul Hardwick[e-mail protejat]> l-am actualizat pentru cele mai recente compilatoare, cu condiția ca
în funcționalitatea de script și l-am testat împotriva cardurilor de date GPRS și 3G.

Martin Gregorie[e-mail protejat]> a scris pagina de manual originală pentru comgt de la DCON
documentatie si ambalate comgt pentru distribuire.

Istorie
Daniel Chouinard a scris majoritatea (90%) DCON în 1989, când a început să facă aplicații Unix
suport tehnic în mare parte prin modem la sistemele client. S-a săturat să scrie toate astea
parole și coduri amuzante de taxare a apelurilor de fiecare dată când folosea cu. De asemenea, firma la care a lucrat
pentru că era necesar un sistem care să înregistreze timpii de apel și costurile estimate. Prin urmare DCON a fost nascut.
Șase sau șapte ani mai târziu (1996) și el folosea pppd pentru a se conecta la site-ul său ISP. El a fost
mai mult sau mai putin fericit cu Chat dar a constatat că îi lipsea controlul fluxului și verificările răspunsurilor multiple
din „atdt...”. El a vrut să facă lucruri diferite pentru „fără operator”, „fără ton de apel” și
"ocupat". Deși el a crezut că Chat ar fi probabil îmbunătățit într-o zi, când a găsit
dcon.c pe una dintre casetele sale vechi de 45M, a încercat să o compileze pe cutia lui Linux și, iată și
iată, a făcut-o. În cele din urmă, i-a adăugat câteva lucruri (ucide, bifurcă, așteaptă, 1/100 sec.
ori) și a lăsat-o așa.

Acum câțiva ani, Paul Hardwick a găsit programul, DCON 0.97, ultima modificare în 1996.
Scopul acestui program a fost să ruleze scripturi care să controleze porturile seriale Linux. The
implementarea a fost foarte asemănătoare cu ceva ce scrisese pentru Windows. Oricum, mai degrabă
decât să reinventeze, a contactat autorul, Daniel Chouinard, și i-a cerut permisiunea de a reutiliza
Codul. Din fericire, a dat permisiunea și a numit un utilitar de bază, dar util comgt a fost
creată. Paul nu are niciun credit pentru motor, în afară de faptul că îl face compatibil cu cei de astăzi
compilatoare. Practic este DCON reambalate.

20 octombrie, 2006 comgt(1)

Utilizați comgt online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    Firebird
    Firebird
    Firebird RDBMS oferă caracteristici ANSI SQL
    și rulează pe Linux, Windows și
    mai multe platforme Unix. Caracteristici
    concurență și performanță excelente
    & putere...
    Descărcați Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer este un editor HTML wysiwyg care utilizează
    baza de cod Mozilla Composer. La fel de
    Dezvoltarea Nvu a fost oprită
    în 2005, KompoZer remediază multe erori și
    adaugă un f...
    Descărcați KompoZer
  • 3
    Descărcător gratuit de manga
    Descărcător gratuit de manga
    Free Manga Downloader (FMD) este un
    aplicație open source scrisă în
    Object-Pascal pentru gestionarea și
    descărcarea manga de pe diverse site-uri web.
    Aceasta este o oglindă...
    Descărcați gratuit Manga Downloader
  • 4
    UNetbootin
    UNetbootin
    UNetbootin vă permite să creați bootable
    Unități USB live pentru Ubuntu, Fedora și
    alte distribuții Linux fără
    arderea unui CD. Se rulează pe Windows, Linux,
    şi ...
    Descărcați UNetbootin
  • 5
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM
    Dolibarr ERP - CRM este ușor de utilizat
    Pachetul software ERP și CRM open source
    (rulați cu un server web php sau ca
    software autonom) pentru companii,
    fundatii...
    Descărcați Dolibarr ERP - CRM
  • 6
    Client SQL SQuirreL
    Client SQL SQuirreL
    SQuirreL SQL Client este un SQL grafic
    client scris în Java care va permite
    pentru a vizualiza structura unui JDBC
    baza de date conformă, răsfoiți datele în
    Mese...
    Descărcați SQuirreL SQL Client
  • Mai mult »

Comenzi Linux

Ad