EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

comgt – Online in der Cloud

Führen Sie comgt im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl „comgt“, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


comgt – Option GlobeTrotter GPRS/EDGE/3G/HSDPA und Vodafone 3G/GPRS-Datenkartensteuerung
Werkzeug

ZUSAMMENFASSUNG


comgt -d Gerät -ehstvVx Skript

OPTIONAL


-d Gerät
Legen Sie das Gerät fest, das für die Kommunikation mit der Datenkarte verwendet werden soll. Wenn nicht
angegeben, dann versucht es Comgt /dev/noz2, /dev/ttyUSB2 und dann /dev/modem

-e
Aktivieren Sie das serielle Kommunikationsecho.

-h
Zusammenfassende Hilfe anzeigen und beenden.

-s
Führen Sie das interne nicht aus Standard Skript vor einem externen Skript.

-t
Wechseln Sie zu einem alternativen Zeilenabschlusszeichen (Standard „0“).

-v
im ausführlichen Modus ausführen. Dadurch werden Skripte während ihrer Ausführung verfolgt. Es ist
soll beim Debuggen von Skripten helfen.

-V
Informationen zur Druckversion.

-x
Für interne und externe Skripte gilt jeder Verweis auf 115200 Baud
in 57600 konvertiert. Dies ist nützlich für Datenkarten, die 115200 nicht mögen
Baud wie der GlobeTrotter EDGE.

BESCHREIBUNG


comgt ist ein Skriptspracheninterpreter, der für den Aufbau serieller Kommunikation nützlich ist
Leitungen und über PCMCIA-Modems sowie GPRS- und 3G-Datenkarten.

comgt verfügt über einige Funktionen, die in anderen Dienstprogrammen des gleichen Typs selten zu finden sind.

Eigenschaften
- Vordefinierte integrierte Skripte für die 2G/3G-Datenkartensteuerung
- Einfache, BASIC-ähnliche Skriptsprache.
- Befehlszeilen- und Datei-Sourcing von Skripten.
- Warten auf mehrere Antworten.
- waitquiet ermöglicht die Leitungsstabilisierung.
- Inline-Texterfassung.
- Multi-Prozess-Unterstützung: Fork, Wait, Kill, Exit.
- Debuggen ausführlicher und Protokollausgaben.
- Protokollierung in Datei.
- Flusskontrolle: goto, gosub, return, if, else.
- Geringe Auswirkung auf Systemressourcen.
- Zeitbefehle und -funktionen.
- String-Manipulationen.
- Umgebungsmanipulation: env(), putenv.
- Systemaufrufe externer Dienstprogramme: system, exec.

Unterstützte GPRS und 3G Datenkarten
comgt wurde gegen GlobeTrotter GPRS, EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA und getestet
GlobeTrotter Fusion sowie Vodafone 3G. Es kann die PIN festlegen und Informationen anzeigen
Informationen zu Datenkarten, bevor eine PPP-Verbindung hergestellt wird. Darüber hinaus, weil die
GlobeTrotter- und Vodafone 3G/GPRS-Datenkarten verfügen über eine sekundäre serielle Schnittstelle
Datenkarten können überwacht werden, während eine PPP-Verbindung besteht und Daten überträgt.

comgt ist in erster Linie für die Zusammenarbeit mit der GlobeTrotter-Reihe von Datenkarten konzipiert, sollte es aber auch sein
kompatibel mit jeder anderen GPRS- oder 3G-Datenkarte, sofern ihre Schnittstelle als eine solche implementiert ist
oder mehrere serielle oder USB-serielle Geräte und wird von einer Implementierung gesteuert und abgefragt
der Hayes-Befehlsschnittstelle mit denselben AT-Befehlserweiterungen, die von den aufgeführten verwendet werden
Datenkarten.

Die richtigen comgt
comgt hat nur eine Funktion: ein Skript auszuführen. Dies kann einer von mehreren „Standard“-Vorgängen sein.
interne Skripte oder ein externes Skript. Beide Skripttypen werden auf die gleiche Weise aufgerufen.
Die „Standard“-Skripte sind integriert comgt und funktioniert für seriell angeschlossene Modems,
Einbaumodems, PCMCIA-Modems sowie das GlobeTrotter GPRS und das Vodafone 3G/GPRS
Datenkarten. Es gibt eine Suchprioritätsreihenfolge für Skripte: 1)intern, 2)funktionierend
Verzeichnis, 3)/etc/comgt

Eingebaut Skripte
comgt
Dadurch wird das standardmäßige interne Skript ausgeführt. Läuft comgt ohne Angabe eines Skripts, z. B.
comgt -d /dev/ttyS1 Es wird nach einer PIN gesucht und Sie werden gefragt, ob diese erforderlich ist. Der nächste
Es wartet auf die Registrierung des Geräts und meldet dann die Signalstärke. Wenn
Sie geben dabei keinen Port an -d Option dann /dev/modem wird angenommen. Wenn der Schalter -s
nicht verwendet wird, wird dieses Standardskript vor jedem externen Skript ausgeführt.

comgt Hilfe
Listet diese und die anderen verfügbaren Optionen auf.

comgt Info
Listet die Datenkartenkonfiguration auf.

comgt sig
Druckt die Signalstärke.

comgt reg
Druckt den Registrierungsstatus.

comgt 3G
Versetzt einen GlobeTrotter 3G/Fusion und Vodafone 3G in den reinen 3G-Netzwerkmodus (UMTS/HSDPA).

comgt 2G
Versetzt einen GlobeTrotter 3G/Fusion und Vodafone 3G in den reinen 2G-Netzwerkmodus (GSM/GPRS/EDGE).

comgt 3G2G
Versetzt einen GlobeTrotter 3G/Fusion und Vodafone 3G in den bevorzugten 3G-Modus (UMTS/HSDPA und
GSM/GPRS/EDGE).

comgt GTEDGE
Verwenden Sie diesen Befehl, um GlobeTrotter EDGE- und GlobeTrotter Combo EDGE-Karten vorher zu initialisieren
irgendetwas anderes tun. (Es schaltet das Radio ein).

comgt USA
Wechseln Sie für den Betrieb in den USA auf das 900/1900-MHz-Band. Nur GlobeTrotter GPRS-Datenkarten.

comgt EUROPA
Wechseln Sie für den europäischen Betrieb zum 900/1800-MHz-Band. Nur GlobeTrotter GPRS-Datenkarten.

comgt PIN
Testen Sie den SIM-PIN-Status und verwenden Sie die Umgebungsvariable COMGTPIN als Wert.

comgt APN
Setzen Sie den APN der Datenkarte auf den in der Umgebungsvariablen COMGTAPN enthaltenen Wert.

Maßgeschneidert Scripts
Neben integrierten Skripten können Sie auch eigene erstellen. Das folgende Skript stellt ein Vodafone 3G ein
UMTS-Modus der Datenkarte oder Option Fusion-Karte zu GPRS:

#Stellen Sie den Nur-GPRS-Modus ein
set com 115200n81
setze senddelay auf 0.05
waitquiet 1 0.2
sende „AT_OPSYS=0^m“
print „Nur-GPRS-Modus einstellen“

Wenn Sie das obige Skript als GPRS gespeichert hätten, würden Sie es folgendermaßen aufrufen:

comgt GPRS

Wenn Sie auch den Port angeben müssen, gehen Sie wie folgt vor:

comgt -d /dev/ttyS1 GPRS

Sie können auch Umgebungsparameter an a übergeben comgt Skript über $env().

Ersetzung Chat
Chat ist ein Dienstprogramm, das im PPP-Paket (zumindest für Linux) enthalten ist und eine Reihe von enthält
Erwarten-Senden-String-Paare reicht aus, um die meisten Leute mit ISPs und dergleichen zu verbinden. Während
Die Verwendung von Chat ist sehr einfach, aber nicht sehr flexibel. Das ist wo comgt übernimmt.

comgt kann anstelle von verwendet werden Chat mit der gleichen Strategie. Zum Beispiel eine pppd-Zeile
Lesen:

pppd verbinden \
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
Wort: Wildwasser´ \
/dev/cua1 38400 debuggt crtscts modem defaultroute

Würde, verwenden Comgt, lesen:

pppd connect ´comgt -s /root/scripts/isp.scr´ /dev/cua1 38400 \
crtscts Modem defaultroute debuggen

Und das isp.scr-Skript würde lauten:

senden Sie „ATDT5551212^m“
warte auf 60 "ogin:"
sende „ppp^m“
warte auf 60 „Wort:“
sende „whitewater^m“

Natürlich wird es dann trivial, dieses Skript wesentlich funktionaler zu gestalten
Code für Besetzterkennung, Wahlwiederholung usw. hinzufügen

Ausführlich Ausgabe
Wenn die ausführliche Option aktiviert ist, comgt meldet alles über den Standardfehler
Kanal. Bei Aktivierung über die Befehlszeile (-v) enthält die Ausgabe 4 Abschnitte.

- Befehlszeilenargumentaktionen
Dabei handelt es sich um Aktionen, die ausgeführt werden, weil sie über die Befehlszeile angegeben wurden, z. B
Öffnen eines Kommunikationsgeräts (-d) usw. Damit diese ausgegeben werden, müssen Sie -v angeben
als erstes Argument.

- Liste der Argumente
Die Anzahl und Liste der übergebenen Argumente. Dies ist nützlich, wenn Sie mehrere davon haben
Umgebungsvariablen oder Anführungszeichen, Backquotes, Backslashes in der Befehlszeile und schon sind Sie fertig
Ich bin mir nicht sicher, was das Skript wirklich sieht.

- Skriptliste
Eine Liste des auszuführenden Skripts. Dies kann eine Verkettung der internen Standardwerte sein
Skript, es sei denn, dies wird durch die Option -s unterdrückt, und eine Skriptdatei. Jede Zeile ist
mit Zeilennummer und Zeichenposition aufgelistet.

- Ausführungsausgabe
Liste der Befehle, während sie ausgeführt werden. Der Parser gibt die Zeile aus, in der er sich gerade befindet.
beginnend mit dem genauen Punkt, an dem es sich befindet, bis zum Ende der Linie. Mehrfachbefehl
Gruppen in einer einzelnen Zeile erzeugen mehrere Ausgabezeilen. Ausführliche Ausgabe kann mit gemischt werden
Skriptausgabe (print, eprint oder lprint.)

Hier ist ein Beispiel:

$ comgt -v -d/dev/cua1 -s blah.scr
comgt 00:18:46 -> Ausführliche Ausgabe aktiviert
comgt 00:18:46 -> Skriptdatei: 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 -> ---Skript---
1@0000 setze com 38400n81 sei a=2
2@0025 print "9x",a,"=",9*a,"\n"
3@0051 Schlaf 5
4@0059 Ausgang 0
comgt 00:18:46 -> ---Ende des Skripts---
comgt 00:18:46 -> @0000 set com 38400n81 let a=2
comgt 00:18:46 -> @0017 let a=2
comgt 00:18:46 -> @0025 print "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 Schlaf 5
comgt 00:18:51 -> @0059 Exit 0

Programmierung manuell


Syntax
Die verwendete Syntax für comgt Skripte sind eher einfach, etwas BASIC-ähnlich. Ein Skript ist ein
Nicht tokenisierte, reine ASCII-Textdatei, die durch Zeilenumbrüche abgeschlossene Zeilen enthält
(Unix-Standard.) Skripte können mit jedem Standard-Texteditor erstellt und/oder geändert werden
(vi, vim, joe, pico, emacs, ed, microEmacs) Zeilen in a comgt Das Skript liest sich etwa so:

- Leere Zeile
- [indent]rem Bemerkung
- [indent][[:|label] LABEL] [command [arguments]] rem comment
- [indent][[:|label] LABEL] [command [arguments]] [command [arguments]]...

Als Einrückungszeichen werden Leerzeichen und Tabulatorzeichen verwendet.
Der Befehl rem veranlasst den Skriptparser, den Rest der Zeile zu überspringen.
Der rem-Befehl kann auch als „#“ oder „//“ geschrieben werden.

Beschriftungen bestehen aus Klein- und Großbuchstaben sowie Ziffern.
Die Groß-/Kleinschreibung wird in Beschriftungen ignoriert.

Befehle und ihre Argumente werden durch Leerzeichen und/oder Tabulatoren getrennt.
Befehlsgruppen werden durch Leerzeichen, Tabulatoren oder Zeilenumbrüche getrennt.

Ausdrücke dürfen keine Leerzeichen oder Tabulatoren enthalten.
Das ist in Ordnung: sei n=x+76
Das ist nicht: sei n= x + 76
Denn dieses Leerzeichen ^ würde die Let-Befehlsgruppe beenden.

Fehler Berichterstattung
Wann comgt Erkennt ein Skriptfehler, schaltet es sofort den ausführlichen Modus ein und generiert einen Dump
(siehe Befehl dump), meldet den Fehler in drei Zeilen und stoppt die Ausführung. Der
In der ersten Zeile wird die ausgeführte Befehlsgruppe angezeigt, in der zweiten wird angezeigt, wo sich die Befehlsgruppe befindet
Parser bekam und die dritte Zeile meldet die Zeichenposition des Programmzählers, die
Fehler und der Exit-Code.

Hier ist ein Beispiel:

$ comgt -vs blar2.scr

Wo sich das Skript blar2.scr befindet:

inc n
Dez. d3
sei a=58/3
let $d="fod"
sei c=1/0
let $y4="sdfgsdfgsdfg"

Der Trace- und Fehlerbericht sieht folgendermaßen aus:

comgt 11:20:15 -> Ausführliche Ausgabe aktiviert
comgt 11:20:15 -> Skriptdatei: 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 -> ---Skript---
1@0000 inkl. n
2@0007 Dez. d3
3@0015 sei a=58/3
4@0027 let $d="fod"
5@0041 sei c=1/0
6@0052 let $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---Ende des Skripts---
comgt 11:20:15 -> @0000 inc n
comgt 11:20:15 -> @0007 dez d3
comgt 11:20:15 -> @0015 let a=58/3
comgt 11:20:15 -> @0027 let $d="fod"
comgt 11:20:15 -> @0041 let c=1/0
comgt 11:20:15 -> -- Fehlerbericht --
comgt 11:20:15 -> ----> ^
comgt 11:20:15 -> Fehler @49, Zeile 5, Division durch Null. (6)

Beenden Codes
Wann comgt beendet wird, geschieht dies mit einem „Exit-Code“. Das ist eine Nummer, an die zurückgegeben wird
der aufrufende Prozess, um Erfolg oder Misserfolge anzuzeigen. Im alltäglichen Unix bedeutet 0 (Null).
Erfolg und alles andere bedeutet, was auch immer der Autor des Programms damit sagen will. In
In einem Shell-Skript oder direkt in der Befehlszeile können Sie sich den Inhalt ansehen $? nachdem
angerufen haben comgt um seinen Exit-Code zu untersuchen.

Beispiel:

#!/ Bin / sh
comgt /root/bin/call-isp
wenn [ $? != 0 ]; Dann
echo „Ups! Da ist etwas schiefgelaufen.“
fi

Intern comgt Die Fehlercodes lauten wie folgt:

0: Überhaupt keine Probleme. Scheinbar.
1: Probleme mit dem Kommunikationsgerät.
2: Probleme mit Konsolengeräten (tty).
3: Speicherprobleme.
4: Datei- oder Pipe-Probleme.
5: Syntaxfehler.
6: Division durch Null.
7: Variables Missmanagement.
8: Systemprobleme. (Konnte nicht anrufen / Bin / sh oder so ähnlich)

Befehle
Befehl : : Alias: label
Beschreibung: Notiert einen Ankerpunkt für goto oder gosub, zu dem verzweigt werden soll.
Syntax: Das Schlüsselwort darf keine Sonderzeichen enthalten.
Hinweis: Muss die erste Anweisung in einer Zeile sein.
Siehe auch: goto, gosub, return.
Beispiel:
:Schleife
gosub bravo
print „Die Zeit ist „,$time()“,\n“
Schlaf 1
Gehe zu Schleife
Etikett Bravo
print „Twonk!\n“
Rückkehr

Befehl: Abbrechen
Beschreibung: Veranlasst Comgt, abort() aufzurufen und einen Core-Dump zu erstellen.
Syntax: abbrechen
Siehe auch: Dump, Exit.

Befehl: cd
Beschreibung: Verzeichnis wechseln.
Syntax: CD-Verzeichnis
Hinweise: -1 wird in % zurückgegeben, wenn die Änderung nicht durchgeführt werden konnte.
Hinweise: Das Verzeichnis ist eine Zeichenfolge und könnte daher eine Variable sein.
Siehe auch: $cwd().
Beispiel:
CD „duh“
if % != 0 print „Konnte nicht in duh cd.\n“

Befehl: schließen
Beschreibung: Schließt die zuvor mit „open“ geöffnete Datei.
Syntax: Datei schließen
Siehe auch: offen.

Befehl: dez
Beschreibung: Dekrementiert den Inhalt einer Ganzzahlvariablen um 1.
Syntax: dec x
Hinweise: x steht für a bis z oder a0 bis z9.
Hinweise: Beachten Sie, dass „let x=x-1“ auch funktioniert.
Siehe auch: let, inc.

Befehl: Dump
Beschreibung: Listet alle ganzzahligen Variablen ungleich Null und geänderte Zeichenfolgen auf
Beschreibung: Variablen als Protokolleinträge (Standardfehlerkanal.)
Syntax: Dump
Siehe auch: abbrechen, beenden

Befehl: sonst
Beschreibung: Alternativ Befehle ausführen, wenn der letzte „Wenn“-Test falsch war.
Syntax: else-Befehle...
Siehe auch: wenn
Beispiel:
if w<350 print „Wow! Stellen Sie sich das vor.\n“
else print „Rush Limbaugh ist ein großer, fetter Bastard.\n“

Befehl: eprint
Beschreibung: Gibt eine durch Kommas getrennte Liste von Argumenten auf stderr aus.
Syntax: eprint var,stringvar,"text",...
Hinweise: Wie print, jedoch mit dem Standard-Fehlerdateideskriptor.
Hinweise: Die Fehlerausgabe kann umgeleitet werden, wenn „2>Datei“ aktiviert ist
Hinweise: die Befehlszeile.
Siehe auch: Drucken.

Befehl: exec
Beschreibung: Ersetzt den aktuellen Comgt-Prozess durch einen anderen Prozess.
Syntax: exec „command -args…“
Siehe auch: System, Gabel.
Beispiel:
#Fertiges Skript, rufen Sie cu an.
exec "cu -l "+$dev()+" -s "+$baud()

Befehl: Beenden
Beschreibung: Beendet die Skriptausführung mit Exit-Code.
Syntax: Exit-Code beenden
Siehe auch: Abbruch, Dump.
Beispiel:
:Error
Beenden Sie 1
:smeggit
Beenden Sie 0

Befehl: blinken
Beschreibung: Schaltet DTR auf dem Kommunikationsgerät für eine bestimmte Zeit um.
Syntax: flash float_constant
Hinweise: float_constant ist bis auf 1/100 Sekunde genau.
Hinweise: Bewirkt, dass das Modem den Träger verlässt oder in den Befehlsmodus wechselt.
Hinweise: Abhängig von den Modemeinstellungen. Baudrate auf 0 setzen
Hinweise: Eine Zeit lang hat es den gleichen Effekt.
Siehe auch: schlafen, com einstellen.
Beispiel:
:trennen
Flash 0.5
Beenden Sie 0

Befehl: fprint
Beschreibung: Gibt eine durch Kommas getrennte Liste von Argumenten in einer Datei aus.
Syntax: fprint var,stringvar,"text",...
Hinweise: Wie print, aber an eine zuvor geöffnete Datei angehängt
Hinweise: von open.
Siehe auch: Drucken.

Befehl: Gabel
Beschreibung: teilt den Comgt-Prozess in zwei Teile auf. Beide Prozesse laufen weiter
Beschreibung: Ausführen des Skripts.
Syntax: fork
Hinweise: % gibt 0 für den untergeordneten Prozess zurück, neue Prozess-ID für
Hinweise: übergeordnetes Element oder -1 für Fehler.
Siehe auch: warten, töten, pid(), ppid().
Beispiel:
Gabel
wenn % = -1 gehe zum Fehler
wenn % = 0 gehe zum Kind
:Elternteil
...

Befehl: get
Beschreibung: Zeichenfolge vom Kommunikationsgerät abrufen.
Syntax: Timeout-"Terminatoren" $string abrufen
Hinweise: Timeout ist eine Float-Konstante, Terminatoren ist eine
Hinweise: Liste der Zeichen, die bei Empfang enden
Hinweise: erhalten. Terminatoren werden beim ersten Empfang ignoriert.
Siehe auch: warten.
Beispiel:
warte auf 60 „Verbinden“
wenn % != 0 gehe zum Fehler
erhalte 2 " ^m" $s
print „Verbindungsparameter: „,$s,“\n“

Befehl: gosub
Beschreibung: Ruft eine Unterroutine auf.
Syntax: gosub-Label
Hinweise: Derzeit unterstützt comgt nur 128 Gosub-Stufen
Hinweise: Anrufe (genug!)
Siehe auch: :, gehe zu, zurück.
Beispiel:
Gosub-Routine
Schlaf 1
Gosub-Routine
goto end
:Routine
print „Flim-flam!\n“
Rückkehr

Befehl: gehe zu
Beschreibung: Sendet die Ausführung an eine andere Stelle im Skript.
Syntax: Gehe zur Bezeichnung
Siehe auch: :, gosub, return.
Beispiel:
:win95
print „Heute möchte ich Linux nutzen, danke.\n“
Gehe zu Win95

Befehl: hset
Beschreibung: Stellen Sie den Hunderter-Timer ein.
Syntax: hset-Wert
Hinweise: Dieser Befehl setzt den Hunderter-Sekunden-Timer auf zurück
Hinweise: Ein Wert für die Startzeit.
Siehe auch: htime().
Beispiel:
hset 0
:Schleife
print „Zeit in 1/100 Sekunde: „,htime()“,“\n“
Schlaf 0.01
Gehe zu Schleife

Befehl: if
Beschreibung: testet eine Bedingung
Syntax: Wenn test_condition befiehlt...
Hinweise: Conditionnaly führt Befehle aus, wenn die Testbedingung wahr ist.
Hinweise: Testoperatoren sind = (gleich), != (ungleich),
Hinweise: <> (ungleich) < (kleiner als), > (größer als),
Hinweise: <= (kleiner oder gleich), >= (größer oder gleich).
Hinweise: Alle Operatoren können mit Ganzzahlen und Zeichenfolgen verwendet werden.
Hinweise: Wenn test_condition falsch ist, springt zu
Hinweise: die nächste Zeile.
Siehe auch: sonst.
Beispiel:
Wenn n>30, drucke „Oh-ho! zu viele Schafe!\n“ zum Fehler
Wenn n=17, drucke „Hurra! Wir haben genug Schafe\n“ und gehe zur Party
Wenn n<17, drucke „Murray, hol dir mehr Schafe.\n“ gehe zu „getmore“.
if $z < „Marmaluke“ gehe zu ...
wenn 3*a>5+b gehe zu ...

Befehl: inc
Beschreibung: Erhöht den Inhalt einer Ganzzahlvariablen um 1.
Syntax: inc x
Hinweise: x ist az oder a0-z9.
Siehe auch: dec, let.

Befehl: Eingabe
Beschreibung: Geben Sie eine Zeichenfolge über die Tastatur in eine Zeichenfolgenvariable ein.
Syntax: Geben Sie $x ein
Hinweise: Die Eingabe wird erst mit der ENTER-Taste beendet.
Hinweise: Leerzeichen, Tabulatoren und andere lustige Zeichen sind alle vorhanden
Hinweise: in der Variablen gespeichert.
Siehe auch: Echo einstellen.
Beispiel:
print „Geben Sie Ihren vollständigen Namen ein:“
Geben Sie $n4 ein

Befehl: töten
Beschreibung: Sendet ein Signal an einen Prozess.
Syntax: Kill-Signal-Prozess-ID
Hinweise: Sowohl Signal als auch Prozess-ID sind ganzzahlige Werte. Gleich wie
Hinweise: Standard-Unix-Kill, außer dass Signal-Aliase dies nicht tun
Hinweise: akzeptiert und Signal ist nicht optional.
Hinweise: 0 wird in % zurückgegeben, wenn das Signal gesendet werden konnte, -1
Anmerkungen: ansonsten.
Hinweise: Signal 0 kann zur Erkennung der Prozessexistenz verwendet werden.
Siehe auch: wait, pid(), ppid().
Beispiel:
Gabel
sei p=%
Wenn p = 0, gehe zum Kind
Schlaf 300
töte 15 p
Schlaf 1
töte 0 p
if % != 0 print „Child beendet\n“ goto ok
print „Untergeordnetes Element konnte nicht beendet werden!\n“
töte 9 p
Schlaf 1
töte 0 p
if % = 0 print „Kind konnte nicht getötet werden!\n“ goto error
print „Kind getötet.\n“
:OK
...

Befehl: Lass
Beschreibung: Führt eine Variablenzuweisung durch.
Syntax: let x=content
Hinweise: x ist [$]a0-z9.
Siehe auch: inc, dez.
Beispiel:
sei a=5
Sei b=(time()-a)+5
sei y7=6809
sei z=0%11010111 #Binär
sei z=077324 #oktal
sei z=0xf5b8 #hexadezimal
let $c="Daniel "
sei $d=$c+" Chouinard"
let $s5="Frimpin´ Jeosaphat!"

Befehl: lprint
Beschreibung: Gibt eine durch Kommas getrennte Liste von Argumenten im Protokoll aus.
Syntax: fprint var,stringvar,"text",...
Hinweise: Wie print, wird aber wie ein Protokolleintrag gedruckt, wenn Verbose aktiviert ist.
Hinweise: Die Protokollierung wird an stderr gesendet.
Siehe auch: print, eprint, fprint.

Befehl: öffnen
Beschreibung: Öffnet eine Datei oder ein Kommunikationsgerät.
Syntax: COM-Gerät öffnen, COM (STDIN) öffnen, Datei DATEI öffnen
Siehe auch: schließen.
Beispiel:
Öffnen Sie com /dev/cua1
set com 38400n81
öffne die Datei „/tmp/log“
fprintf „Dies ist ein Protokoll\n“
Datei schließen

Befehl: Drucken
Beschreibung: Gibt eine durch Kommas getrennte Liste von Argumenten aus.
Syntax: print var,stringvar,"text",...
Hinweise: Leerzeichen und Zeilenumbrüche werden nicht automatisch hinzugefügt.
Siehe auch: eprint, fprint, lprint.
Beispiel:
sei b=26
let $c="Textvariablen"
print „Konstanter Text „,b“, „,$c,“ time: „,$time(),“\n“

Befehl: putenv
Beschreibung: Legt eine Umgebungsvariable fest.
Syntax: putenv „var=content“
Hinweise: Umgebungsvariablen werden automatisch exportiert.
Anmerkungen: nie zurückgegeben. Untergeordnete Prozesse erben die
Hinweise: Umgebung.
Siehe auch: $env().
Beispiel:
putenv „SCRIPTDIR=/usr/lib/comgt/scripts“
system "dothat" # dothat liest env. var. SCRIPTDIR...

Befehl: rem Aliase: #, //
Beschreibung: Bemerkung. Der Rest der Zeile wird ignoriert.
Syntax: Beachten Sie, dass auf „rem“ ein Leerzeichen folgen muss.
Beispiel:
#Dies ist eine Bemerkung
// Also das ist
rem Das ist keine Disco.

Befehl: Zurück
Beschreibung: Rückkehr vom Unterprogramm.
Syntax: Rückkehr
Siehe auch: gosub.

Befehl: senden
Beschreibung: Sendet eine Zeichenfolge an die Kommunikationsleitung (normalerweise Modem).
Syntax: Zeichenfolge senden
Hinweise: Wagenrücklauf (ENTER) wird nicht automatisch gesendet
Hinweise: (Verwenden Sie ^m).
Beispiel:
sende „atdt555-1212^m“
sende $g+"^m"
sende „Die Zeit ist „+$time()+“^m^j“

Befehl: setzen
Beschreibung: Legt Arbeitsparameter fest.
Syntax: Parameterwert festlegen
Hinweise:

Befehlsbeschreibung
----------------------------- --------------------- --------------
Echo ein-/ausschalten Tastaturecho auf dem Bildschirm.
set comecho on|off Empfangene Zeichen werden auf dem Bildschirm wiedergegeben.
set senddelay time_constant Zwischenzeichenverzögerung für „Senden“
setignorecase on|off Groß-/Kleinschreibungssensitivität für „waitfor“.
Standard = Ein.
setze clocal on|off clocal on = Modemsignale ignorieren
Legen Sie die Standardeinstellungen für die Dateierstellung im umask-Modus fest.
Siehe Mann umask.
set verbose on|off verbose on = Debug-Ausgabe aktiviert.
Legen Sie die Kommunikationsparameter com com_params fest.
Bsp.: 19200n81, 300e71
Baud |||
Parität |
Datenbits |
Stoppbits |

Beispiel:
Echo ausschalten
Drucken Sie „Passwort:“
Geben Sie $p ein
drucke "\n"
Echo einschalten
setze Comecho ein
Lokal einschalten
setze senddelay auf 0.1
Setzen Sie die Groß-/Kleinschreibung auf „ignorecase“.
set com 38400n81
set umask 022 # Muss oktal sein (führende Null)
...

Hinweis zu clocal:
Wenn Sie möchten, dass Ihr Skript nach der Netzbetreibererkennung weiter funktioniert
Wenn das Signal abgefallen ist, setzen Sie Clocal ein, andernfalls kommt es zu einem CD-Abbruch
die Geräteleitung zu schließen (aufzulegen). Dies könnte passieren, wenn,
Nehmen wir an, Ihr Skript ruft auf und stellt eine Verbindung her, trennt dann die Verbindung oder
löscht dtr (Flash) und versucht dann erneut, eine Verbindung herzustellen.

Befehl: schlafen
Beschreibung: Hält die Ausführung an.
Syntax: Sleep float_constant
Hinweise: Float_constant ist bis auf 1/100 Sekunde genau, es sei denn
Hinweise: mehr als 100 Sekunden, in diesem Fall die Präzision
Hinweise: Fällt auf 1 Sek. ab.

Beispiel:
Schlaf 0.06
Schlaf 3
Schlaf 86400 /* Ein ganzer Tag */

Befehl: System
Beschreibung: Ruft einen Systembefehl (Unix) auf
Syntax: System „Befehl“
Siehe auch: exec.
Beispiel:
:dir
print „Liste des Verzeichnisses „,$cwd(),\n“
System „ls -l |more“

Befehl: testkey
Beschreibung: Testet die Tastatur auf Tastenanschläge und gibt 1 in % zurück, falls vorhanden.
Syntax: Testschlüssel
Hinweise: Kann nur für die ENTER-Taste getestet werden. Zukünftige Versionen von comgt
Hinweise: Prüft auf weitere und gibt Schlüsselcodes in % zurück.
Siehe auch: Eingabe.
Beispiel:
sei n=1
:Schleife
print n," Schaf... ZZZzzz...\n"
schlafen n
inc n
Testschlüssel
wenn % = 0 gehe zur Schleife

Befehl: warten
Beschreibung: Warten Sie, bis ein untergeordneter Prozess beendet wird.
Syntax: warten
Hinweise: Die Prozess-ID des beendeten untergeordneten Elements wird in % zurückgegeben.
Siehe auch: forken, töten.
Beispiel:
Gabel
sei p=%
Wenn p=0, gehe zum Kind
Wenn p=-1, gehe zum Fehler
Drucken Sie „Warten, bis das Kind fertig ist …“
warten
drucke "\n"
if %!=p print „Warten, falsche PID!\n“ gehe zum Fehler
print „Kind ist fertig.\n“

Befehl: warten
Beschreibung: Wartet, bis einer aus einer Liste von Zeichenfolgen empfangen wird
Syntax: Warten auf Timeout „string1“, „string2“, „string3“ ...
Hinweise: Timeout ist eine gleitende Zeitkonstante. waitquiet kehrt zurück
Hinweise: 0 für die erste empfangene Zeichenfolge, 1 für die zweite usw.
Hinweise: und -1 für eine Zeitüberschreitung. Die Groß-/Kleinschreibung wird standardmäßig ignoriert, es sei denn
Hinweise: „ignorecase“ ist deaktiviert.
Siehe auch: get.
Beispiel:
:wählen
sende „atdt555-4411^m“
60 Minuten warten „Kein Netzbetreiber“, „Besetzt“, „Kein Wählton“, „Verbinden“
wenn % = -1 goto timedout
wenn % = 0 gehe zu nocd
Wenn % = 1, gehe zur Wahlwiederholung
wenn % = 2 gehe zum Fehler
Wenn % = 3, gehe zur Verbindung

Befehl: warteleise
Beschreibung: Wartet, bis die Kommunikationsleitung eine Zeit lang keinen Empfang mehr hat.
Syntax: waitquiet timeout quiettime
Hinweise: Sowohl Timeout als auch Quiettime sind gleitende Zeitkonstanten
Hinweise: mit 1/100 Sek. Genauigkeit. Nützlich zum „Schlucken“
Hinweise: eingehende Zeichen für eine Weile oder Warten auf eine
Hinweise: unbekannte Eingabeaufforderung.
Beispiel:
:closecon
sende „logoff^m“
waitquiet 10 0.5
sende „ja^m“

ganze Zahl Funktionen
I-Funktion: Zugriff
Beschreibung: Überprüft Zugriffsrechte auf eine Datei
Syntax: let x=access("/tmp/file","frwx")
Hinweise: Die zweite Zeichenfolge enthält eine oder mehrere davon
Hinweise: ´f´,´r´,´w´,´x´ zur jeweiligen Überprüfung
Hinweise: Existenz, Lese-, Schreib- und Ausführungsberechtigungen.
Hinweise: Unter der Root-ID ist die einzige nützliche Prüfung „f“, as
Hinweise: Alle anderen geben true zurück.
Rückgabewert: 0, wenn die Datei existiert, lesbar und beschreibbar ist.
Rückgabewert: ausführbare Datei oder -1, wenn nicht.
Siehe auch: Mann Zugang(2)

I-Funktion: Baud
Beschreibung: Gibt die aktuelle Baudrate der Kommunikationsleitung zurück.
Syntax: let x=baud()
Hinweise: Entspricht nicht unbedingt der Geschwindigkeit der Modemverbindung.
Siehe auch: $baud().

I-Funktion: len
Beschreibung: Gibt die Länge einer Zeichenfolge zurück.
Syntax: let x=len($s)
Hinweise: „“ ist Null. Zeichenfolgen haben derzeit eine maximale Länge von
Anmerkungen: 1024 Zeichen. comgt behandelt keinen String-Überlauf
Anmerkungen: überhaupt.

I-Funktion: htime
Beschreibung: Gibt Hunderte von Sekunden seit dem Start des Skripts zurück.
Syntax: let x=htime()
Hinweise: Mit hset auf einen bestimmten Wert einstellen.
Siehe auch: hset.

I-Funktion: pid
Beschreibung: Gibt die Prozess-ID-Nummer des aktuellen Prozesses zurück (comgt).
Syntax: let x=pid()
Siehe auch: ppid(), fork

I-Funktion: ppid
Beschreibung: Gibt die Prozess-ID-Nummer des übergeordneten Prozesses zurück.
Syntax: let x=ppid()
Hinweise: Kann von gegabelten Kindern verwendet werden, um Eltern zu erkennen
Hinweise: Prozess.

I-Funktion: Zeit
Beschreibung: Gibt die Zeit in Sekunden seit dem 1. Januar, 00:00:00 1970 GMT, zurück.
Syntax: let x=time()
Hinweise: Wird zur Berechnung von Zeitunterschieden verwendet.
Siehe auch: $time()

I-Funktion: Wert
Beschreibung: Gibt den Wert einer Zeichenfolge zurück.
Syntax: let x=val($x)
Hinweise: String ist kein Ausdruck; darf nur [0-9] enthalten
Hinweise: Zeichen. Zukünftige Versionen von comgt werden dazu in der Lage sein
Hinweise: Ausdrücke auswerten. (Vielleicht) (Dies wurde am 6. geschrieben
Anmerkungen: vor Jahren.)

I-Funktion: ausführlich
Beschreibung: Gibt den Wert der ausführlichen Einstellung zurück.
Syntax: let x=verbose()
Hinweise: 0=aus, 1=ein.

Schnur Funktionen
S-Funktion: Basisname
Beschreibung: Gibt den Basisnamen als Teil des Pfads zurück.
Syntax: let $x=$basename($p)
Hinweise: $basename("/usr/bin/more")="more"
Siehe auch: $dirname().

S-Funktion: Baud
Beschreibung: Gibt eine Zeichenfolgendarstellung der aktuellen Baudrate zurück.
Syntax: let $x=$baud()
Hinweise: Definiert durch „set com“
Siehe auch: baud(), set com.

S-Funktion: cwd
Beschreibung: Gibt den Pfadnamen des aktuellen Arbeitsverzeichnisses zurück.
Syntax: let $x=$cwd()
Siehe auch: CD.

S-Funktion: dev
Beschreibung: Gibt den aktuellen Pfadnamen des Kommunikationsgeräts zurück.
Syntax: let $x=$dev()
Hinweise: definiert durch das Befehlszeilenargument „-d“ oder „open com“
Siehe auch: open com.

S-Funktion: Verzeichnisname
Beschreibung: Gibt den Verzeichnisnamen als Teil des Pfads zurück.
Syntax: let $x=$dirname($p)
Hinweise: $dirname("/usr/bin/more")="/ usr / bin"
Siehe auch: $basename().

S-Funktion: env
Beschreibung: Gibt den Inhalt einer Umgebungsvariablen zurück
Syntax: let $x=$env("HOME")
Hinweise: Nicht vorhandene Variablen geben eine leere Zeichenfolge zurück.
Siehe auch: putenv.

S-Funktion: Hex
Beschreibung: Konvertiert den Wert in eine hexadezimale Darstellung
Syntax: let $x=$hex(x)
Hinweise: Buchstaben af ​​in Kleinbuchstaben, kein vorangestelltes „0x“
Siehe auch: $hexu(), $oct().

S-Funktion: Hexu
Beschreibung: Konvertiert den Wert in eine hexadezimale Darstellung
Syntax: let $x=$hex(x)
Hinweise: Buchstaben AF in Großbuchstaben, kein vorangestelltes „0x“
Siehe auch: $hex(), $oct().

S-Funktion: hms
Beschreibung: Konvertiert die Anzahl der Sekunden in eine Zeitzeichenfolge
Syntax: let $x=$hms(x)
Hinweise: Das Format ist „HH:MM:SS“. Nützlich für Chronometeranzeigen
Hinweise: Verwenden Sie es mit „time()“, versuchen Sie nicht, eine Variable zu erhöhen
Hinweise: jede Sekunde mit „sleep 1“. (Siehe ISP-Skriptbeispiel)
Hinweise: Das Format wird nach 99 Stunden und 59 Minuten zu „HHH:MM:SS“.
Anmerkungen: 59s...
Siehe auch: time().

S-Funktion: links
Beschreibung: Gibt den linken Teil einer Zeichenfolge zurück
Syntax: let $x=$left($s,l)
Hinweise: $s=Quellzeichenfolge, l=Länge
Hinweise: l muss kleiner als die Länge der Zeichenfolge sein.
Siehe auch: $right(), $mid().

S-Funktion: Mitte
Beschreibung: Gibt den Mittelteil einer Zeichenfolge zurück.
Syntax: let $x=$mid($s,s,l)
Hinweise: $s=Quellzeichenfolge, s=Start, l=Länge
Hinweise: s muss kleiner als die Länge der Zeichenfolge sein, l kann es sein
Hinweise: Eine große Zahl (9999), um die rechte Seite von a zurückzugeben
Hinweise: String bis zum Ende. Das erste Zeichen einer Zeichenfolge ist
Hinweise: Position 0, nicht 1.
Siehe auch: $right(), $left().

S-Funktion: Okt
Beschreibung: Konvertiert den Wert in eine Oktaldarstellung.
Syntax: let $x=$oct(x)
Siehe auch: $hex(), $hexu().

S-Funktion: richtig
Beschreibung: Gibt den rechten Teil einer Zeichenfolge zurück.
Syntax: let $x=$right($s,l)
Hinweise: $s=Quellzeichenfolge, l=Länge
Hinweise: l muss kleiner als die Länge der Zeichenfolge sein.
Siehe auch: $left(), $mid().

S-Funktion: rpipe
Beschreibung: Gibt die erste Zeile eines vom System weitergeleiteten Befehls zurück
Syntax: let $x=$rpipe("/bin/ls |grep meine Datei")
Hinweise: Nicht sehr nützlich, es sei denn, es wird mit head, tail, grep usw. verwendet.
Anmerkungen: usw...
Siehe auch: System.

S-Funktion: Zeit
Beschreibung: Gibt eine 24-stellige Ortszeitzeichenfolge zurück
Syntax: let $x=$time()
Siehe auch: time().
Hinweise: Die Zeit ist in diesem Format angegeben: Montag, 8. April, 14:21:22 Uhr 1996
012345678901234567890123
1 2

S-Funktion: tolower
Beschreibung: Gibt eine Zeichenfolge in Kleinbuchstaben zurück.
Syntax: let $x=$tolower($y)

S-Funktion: Topper
Beschreibung: Gibt eine Zeichenfolge in Großbuchstaben zurück.
Syntax: let $x=$toupper($y)

Test Betreiber
Operatorbeschreibung Beispielergebnis
= gleich, wenn 1+2=3 ja
!= ungleich wenn 1+2!=3 nein
<> ungleich wenn 1+2<>3 nein
> Größer als wenn 1+3>3 ja
< Kleiner als wenn 1+3<3 nein
>= Größer oder gleich, wenn 3>=3 ja
<= Größer oder gleich, wenn 2<=3 ja

Zeichenfolgen können mit denselben Operatoren verglichen werden.

„aaa“ < „aab“, „aaaa“ > „aaa“, „Test“ != „test“, „One“ = „One“,
„A“ > „a“, „Fumble“ <= „Fumigate“, „Farsical“ <> „Comedian“

Note dass „Ignorecase aktivieren“ NICHT für Zeichenfolgenvergleiche gilt.

Ausdruck Betreiber
Operatorbeschreibung Beispielergebnis
+ Addition sei a=2+2 4
+ Verkettung let $b="aa"+"bb" "aabb"
- Subtraktion sei e=2-5 -3
* Multiplikation sei f=11*2 22
/ Division sei g=34/11 3
& Bitweise UND sei h=42&7 2
| Bitweises ODER sei a=42|5 47
^ Bitweises XOR sei a=42^7 45

Beispiele für gemischte Ausdrücke:

#Gibt die Anzahl der Sekunden seit 00:00:00 zurück
let $t=$time() #Machen Sie einen Schnappschuss.
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
#Beachten Sie die zusätzlichen Klammern, da der Ausdruck „comgt“ ist
#Gutachter ist hirntot.
#Zum Beispiel: 5-2+1 sollte 4 ergeben, oder? Nun ja, laut
#getvalue(), es gibt tatsächlich 2, weil es es einigermaßen macht
#rechts nach links.
#Um 5-2+1 richtig auszuwerten, verwenden Sie also (5-2)+1. Wenn Sie verwenden
#einfache Berechnungen mit zwei Elementen, keine Sorge.
#5-2 ergibt 3.

#Concatenation (Aufrufe cu)
exec "cu -l "+$dev()+" -s "+$baud()"

#Im Testzustand
wenn a+c > strlen($c) gehe zu viel

#String-Vergleich
sei $t=$mid($time(),11,8)
if $t > "19:59:59" print "Dafür ist es zu spät!\n" gehe zu Toolate
if $t < „08:00:00“ print „Zu früh!\n“ goto tooearly
if $t = "00:00:00" print "Oh Gott! Es ist Twinkee-Zeit!\n"

BEKANNT MERKMALE


Der getvalue()-Parser. Es bringt mich zum Lachen, also denke ich, dass ich es dabei belassen werde. -
[E-Mail geschützt]

VARIABLEN


COMGTPIN – die 4-stellige PIN der SIM-Karte zur Verwendung durch das PIN-Skript COMGTAPN – der APN, auf den geschrieben werden soll
die Datenkarte, die vom APN-Skript verwendet wird.

AUTOREN


Daniel.Chouinard[E-Mail geschützt] > hat das Original geschrieben dkon Dienstprogramm.

Paul Hardwick[E-Mail geschützt] > es für die neuesten Compiler aktualisiert, sofern die eingebauten
in der Skriptfunktionalität und testete es mit GPRS- und 3G-Datenkarten.

Martin Gregorie[E-Mail geschützt] > schrieb die ursprüngliche Manpage für comgt von dem dkon
dokumentiert und verpackt comgt zur Verteilung.

Geschichte
Daniel Chouinard hat die meisten (90 %) davon geschrieben dkon im Jahr 1989, als er mit der Entwicklung von Unix-Apps begann
Technischer Support hauptsächlich per Modem für Kundensysteme. Er hatte es satt, all das zu tippen
Passwörter und lustige Gebührencodes jedes Mal, wenn er cu benutzte. Auch die Firma, in der er arbeitete
Dafür brauchte man ein System, das Anrufzeiten und geschätzte Kosten protokolliert. Daher dkon geboren wurde.
Sechs oder sieben Jahre später (1996) nutzte er pppd, um eine Verbindung zu seiner ISP-Site herzustellen. Er war
mehr oder weniger zufrieden damit Chat stellte jedoch fest, dass es an Flusskontrolle und Mehrfachantwortprüfungen mangelte
von „atdt…“. Er wollte, dass es verschiedene Dinge für „kein Träger“, „kein Wählton“ und „kein Wählton“ tut
"beschäftigt". Obwohl er das dachte Chat würde wahrscheinlich eines Tages verbessert werden, wenn er es fand
dcon.c auf einem seiner alten 45M-Bänder, versuchte er, es auf seiner Linux-Box zu kompilieren und, siehe da
siehe, es geschah. Am Ende hat er noch ein paar Dinge hinzugefügt (Kill, Fork, Wait, 1/100 Sek.
Mal) und beließ es dabei.

Vor ein paar Jahren entdeckte Paul Hardwick das Programm, dkon 0.97, zuletzt 1996 geändert.
Der Zweck dieses Programms bestand darin, Skripte auszuführen, die serielle Linux-Ports steuern würden. Der
Die Implementierung war sehr ähnlich zu etwas, das er für Windows geschrieben hatte. Wie auch immer, eher
Statt es neu zu erfinden, kontaktierte er den Autor, Daniel Chouinard, und bat ihn um Erlaubnis zur Wiederverwendung
der Code. Glücklicherweise gab er seine Erlaubnis und ein einfaches, aber nützliches Dienstprogramm rief an comgt wurde
erstellt. Paul würdigt die Engine nicht, außer dass sie dafür gesorgt hat, dass sie mit der heutigen kompatibel ist
Compiler. Im Grunde ist es so dkon neu verpackt.

20 Oktober 2006 comgt(1)

Nutzen Sie comgt online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad