AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

comgt - En ligne dans le Cloud

Exécutez comgt dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande comgt qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


comgt - Option GlobeTrotter GPRS/EDGE/3G/HSDPA et contrôle de la carte de données Vodafone 3G/GPRS
outil

SYNOPSIS


comgt -d dispositif -ehstvVx scénario

OPTIONS


-d dispositif
régler l'appareil à utiliser pour communiquer avec la carte de données. Si non
spécifié puis comgt essaie /dev/noz2, /dev/ttyUSB2 et alors /dév/modem

-e
activer l'écho des communications série.

-h
afficher l'aide récapitulative et quitter.

-s
ne pas exécuter l'interne défaut script avant un script externe.

-t
passer à une autre fin de ligne (par défaut "0).

-v
fonctionner en mode verbeux. Cela trace les scripts au fur et à mesure de leur exécution. Il est
destiné à aider au débogage des scripts.

-V
Informations sur la version à imprimer.

-x
pour les scripts internes et externes, toute référence à 115200 baud est
converti en 57600. Ceci est utile pour les cartes de données qui n'aiment pas 115200
baud comme le GlobeTrotter EDGE.

DESCRIPTION


comgt est un interpréteur de langage de script utile pour établir des communications sur série
lignes et via des modems PCMCIA ainsi que des cartes de données GPRS et 3G.

comgt possède des fonctionnalités que l'on trouve rarement dans d'autres utilitaires du même type.

Fonctionnalités:
- Scripts intégrés prédéfinis pour le contrôle des cartes de données 2G/3G
- Langage de script simple de type BASIC.
- Ligne de commande et sourcing de fichiers de script.
- Attente multi-réponse.
- waitquiet permet la stabilisation de la ligne.
- Capture de texte en ligne.
- Support multi-processus : fork, wait, kill, exit.
- Débogage verbeux et sortie de journal.
- connexion au fichier.
- Contrôle de flux : goto, gosub, return, if, else.
- Faible impact sur les ressources système.
- Commandes et fonctions de temps.
- Manipulation des cordes.
- Manipulation de l'environnement : env(), putenv.
- Appels système d'utilitaires externes : système, exec.

Appareils GPRS ainsi que 3G cartes de données
comgt a été testé contre GlobeTrotter GPRS, EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA et
GlobeTrotter Fusion ainsi que Vodafone 3G. Il peut définir le code PIN et afficher des informations
sur les cartes de données avant le démarrage d'une connexion PPP. De plus, parce que le
Les cartes de données GlobeTrotter et Vodafone 3G/GPRS ont une interface série secondaire, ces
les cartes de données peuvent être surveillées pendant qu'une connexion PPP existe et transfère des données.

comgt est principalement conçu pour fonctionner avec la gamme de cartes de données GlobeTrotter, mais doit être
compatible avec toute autre carte de données GPRS ou 3G à condition que son interface soit implémentée comme une
ou plusieurs périphériques série ou USB et il est contrôlé et interrogé par une implémentation
de l'interface de commande Hayes avec les mêmes extensions de commande AT utilisées par les
cartes de données.

En utilisant comgt
comgt n'a qu'une seule fonction : exécuter un script. Cela peut être l'un des nombreux "standards"
scripts internes ou un script externe. Les deux types de script sont invoqués de la même manière.
Les scripts "standards" sont intégrés dans comgt et fonctionnera pour les modems connectés en série,
modems intégrés, modems PCMCIA ainsi que le GlobeTrotter GPRS et le Vodafone 3G/GPRS
cartes de données. Il existe un ordre de priorité de recherche pour les scripts - 1) interne, 2) fonctionnant
répertoire, 3)/etc/comgt

Encastré scripts
comgt
Cela exécute le script interne par défaut. Fonctionnement comgt sans aucun script spécifié, par exemple,
comgt -d /dev/ttyS1 il recherchera un code PIN et vous demandera s'il est requis. Le suivant
ce qu'il fait, c'est attendre que l'appareil s'enregistre, il rapporte ensuite la force du signal. Si
vous ne spécifiez pas de port avec le -d option alors /dév/modem est assumé. Si le commutateur -s
n'est pas utilisé, ce script par défaut est exécuté avant tout script externe.

comgt aider
Répertorie ces options et les autres options disponibles.

comgt info
Répertorie la configuration de la carte de données.

comgt sig
Imprime la force du signal.

comgt reg
Imprime l'état d'enregistrement.

comgt 3G
Met un GlobeTrotter 3G/Fusion et un Vodafone 3G en mode réseau 3G uniquement (UMTS/HSDPA).

comgt 2G
Met un GlobeTrotter 3G/Fusion et un Vodafone 3G en mode réseau 2G uniquement (GSM/GPRS/EDGE).

comgt 3G2G
Met un GlobeTrotter 3G/Fusion et un Vodafone 3G en mode préféré 3G (UMTS/HSDPA et
GSM/GPRS/EDGE).

comgt GEDGE
Utilisez cette commande pour initialiser les cartes GlobeTrotter EDGE et GlobeTrotter Combo EDGE avant
faire autre chose. (Il allume la radio).

comgt États-Unis
Passez à la bande 900/1900 MHz pour un fonctionnement aux États-Unis. Cartes de données GPRS GlobeTrotter uniquement.

comgt EUROPE
Passez à la bande 900/1800 MHz pour un fonctionnement en Europe. Cartes de données GPRS GlobeTrotter uniquement.

comgt PIN
Testez l'état du code PIN SIM et utilisez la variable d'environnement COMGTPIN comme valeur.

comgt APN
Définissez l'APN de la carte de données sur la valeur contenue dans la variable d'environnement COMGTAPN.

Coutume Scripts
En plus des scripts intégrés, vous pouvez créer les vôtres. Le script suivant définit un Vodafone 3G
carte de données ou le mode UMTS de la carte Option Fusion vers GPRS :

#Définir le mode GPRS uniquement
ensemble com 115200n81
régler le délai d'envoi à 0.05
attendre calme 1 0.2
envoyer "AT_OPSYS=0^m"
print "Réglage du mode GPRS uniquement"

Si vous avez enregistré le script ci-dessus en tant que GPRS, vous l'appelleriez ainsi :

comgt GPRS

Si vous deviez également spécifier le port, procédez comme suit :

comgt -d /dev/ttyS1 GPRS

Vous pouvez également passer des paramètres d'environnement à un comgt script via $env().

Remplacement le chat
le chat est un utilitaire fourni avec le package ppp (pour Linux, de toute façon) qui, avec un ensemble de
attendre-envoyer des couples de chaînes, fait assez pour connecter la plupart des gens aux FAI et autres. Tandis que
l'utilisation du chat est très simple, il n'est pas très flexible. C'est là que comgt prend le relais.

comgt peut être utilisé à la place de le chat en utilisant la même stratégie. Par exemple, une ligne pppd
en train de lire:

pppd connecter \
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
mot : eau vive´ \
/dev/cua1 38400 déboguer la route par défaut du modem crtscts

Serait, en utilisant le poids, lis:

pppd connect 'comgt -s /root/scripts/isp.scr' /dev/cua1 38400 \
déboguer la route par défaut du modem crtscts

Et le script isp.scr lirait :

envoyer "ATDT5551212^m"
waitfor 60 "ouverture de session :"
envoyer "ppp^m"
attendre 60 "mot :"
envoyer "eau vive^m"

Bien sûr, il devient alors trivial de rendre ce script beaucoup plus fonctionnel en
ajout de code pour la détection d'occupation, la recomposition, etc...

Verbeux sortie
Lorsque l'option détaillée est activée, comgt rapporte tout sur l'erreur standard
canaliser. Si elle est activée à partir de la ligne de commande (-v), la sortie contient 4 sections.

- Actions d'argument de ligne de commande
Il s'agit d'actions prises parce qu'elles ont été spécifiées à partir de la ligne de commande, telles que
ouverture d'un périphérique de communication (-d), etc... Pour que ceux-ci soient émis, vous devez spécifier -v
comme premier argument.

- Liste des arguments
Le nombre et la liste des arguments passés. Ceci est utile au cas où vous auriez un tas de
des variables d'environnement ou des guillemets, des guillemets, des barres obliques inverses sur la ligne de commande et vous êtes
pas sûr de ce que le script voit vraiment.

- Liste des scripts
Une liste du script à exécuter. Cela peut être une concaténation de l'interne par défaut
script, à moins que cela ne soit supprimé par l'option -s, et un fichier de script. Chaque ligne est
répertorié avec son numéro de ligne et la position du caractère.

- Sortie d'exécution
Liste des commandes telles qu'elles sont exécutées. L'analyseur imprime la ligne sur laquelle il est actuellement,
à partir du point exact où il se trouve à la fin de la ligne. Commande multiple
les groupes sur une seule ligne produisent plusieurs lignes de sortie. La sortie verbeuse peut être mélangée avec
sortie de script (print, eprint ou lprint.)

Voici un exemple :

$ comgt -v -d/dev/cua1 -s blah.scr
comgt 00:18:46 -> Sortie détaillée activée
comgt 00:18:46 -> Fichier de 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
00:18:46 -> ---Script---
1@0000 set com 38400n81 soit a=2
2@0025 print "9x",a,"=",9*a,"\n"
3@0051 sommeil 5
4@0059 sortie 0
comgt 00:18:46 -> ---Fin du script---
comgt 00:18:46 -> @0000 set com 38400n81 let a=2
comgt 00:18:46 -> @0017 laisser a=2
comgt 00:18:46 -> @0025 print "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 sommeil 5
comgt 00:18:51 -> @0059 sortie 0

Programmation Manuel


Syntaxe
La syntaxe utilisée pour comgt scripts est plutôt simple, un peu comme BASIC. Un script est un
fichier texte ASCII pur non tokenisé contenant des lignes terminées par des caractères de nouvelle ligne
(Standard Unix.) Les scripts peuvent être créés et/ou modifiés à l'aide de n'importe quel éditeur de texte standard
(vi, vim, joe, pico, emacs, ed, microEmacs) Lignes dans un comgt le script se lit comme ceci :

- Ligne vide
- [retrait]rem remarque
- [indent][[:|label] LABEL] [commande [arguments]] rem remarque
- [indent][[:|label] LABEL] [commande [arguments]] [commande [arguments]]...

Les caractères utilisés pour l'indentation sont les caractères d'espacement et de tabulation.
La commande rem fait que l'analyseur de script saute le reste de la ligne.
La commande rem peut également être écrite sous la forme "#" ou "//".

Les étiquettes sont constituées de lettres minuscules et majuscules et de chiffres.
La casse est ignorée dans les étiquettes.

Les commandes et leurs arguments sont séparés par des espaces et/ou des tabulations.
Les groupes de commandes sont séparés par des espaces, des tabulations ou des sauts de ligne.

Les expressions ne doivent pas contenir d'espaces ni de tabulations.
C'est ok : soit n=x+76
Ce n'est pas : soit n= x + 76
Parce que cet espace ^ mettrait fin au groupe de commandes let.

Erreur rapports
Quand comgt détecte une erreur de script, il active immédiatement le mode verbeux, génère un dump
(voir la commande dump), signale l'erreur en trois lignes et arrête l'exécution. Les
la première ligne signalée est le groupe de commandes en cours d'exécution, la seconde montre où le
parser got et la troisième ligne rapporte la position des caractères du compteur de programme, le
erreur et le code de sortie.

Voici un exemple :

$ comgt -vs blar2.scr

Où se trouve le script blar2.scr :

inc m
déc d3
soit a=58/3
let $d="fod"
soit c=1/0
laissez $y4="sdfgsdfgsdfg"

Le rapport de suivi et d'erreur ressemble à ceci :

comgt 11:20:15 -> Sortie détaillée activée
comgt 11:20:15 -> Fichier de 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
11:20:15 -> ---Script---
1@0000 inc.
2@0007 déc d3
3@0015 soit a=58/3
4@0027 let $d="fod"
5@0041 soit c=1/0
6@0052 let $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---Fin du script---
comgt 11:20:15 -> @0000 inc n
comgt 11:20:15 -> @0007 déc d3
comgt 11:20:15 -> @0015 laisser a=58/3
comgt 11:20:15 -> @0027 let $d="fod"
comgt 11:20:15 -> @0041 let c=1/0
comgt 11:20:15 -> -- Rapport d'erreur --
comgt 11:20:15 -> ----> ^
comgt 11:20:15 -> Erreur @49, ligne 5, Division par zéro. (6)

Sortie codes
Quand comgt se termine, il le fait avec un "code de sortie". C'est un nombre renvoyé à
le processus d'appel pour signifier le succès ou les échecs. Dans Unix de tous les jours, 0 (zéro) signifie
succès et tout le reste signifie ce que l'auteur du programme veut qu'il signifie. Dans
un script shell, ou directement sur la ligne de commande, vous pouvez regarder le contenu de $? après
avoir appelé comgt pour examiner son code de sortie.

Mise en situation :

#!/ Bin / sh
comgt /root/bin/call-isp
si [ $? != 0 ]; alors
echo "Oups ! Quelque chose s'est mal passé."
fi

Interne comgt les codes d'erreur sont les suivants :

0 : aucun problème. Apparemment.
1 : Problèmes d'appareil de communication.
2 : Problèmes de périphérique de console (tty).
3 : Problèmes de mémoire.
4 : Problèmes de fichiers ou de tuyaux.
5 : Erreurs de syntaxe.
6 : Division par zéro.
7 : Mauvaise gestion variable.
8 : Problèmes système. (Impossible d'appeler / Bin / sh ou quelque chose comme ça)

Commandes
Commande : : Alias ​​: label
Description : note un point d'ancrage pour goto ou gosub vers lequel se brancher.
Syntaxe : Le mot-clé ne doit contenir aucun caractère spécial.
Remarque : Doit être la première instruction d'une ligne.
Voir aussi : goto, gosub, return.
Mise en situation :
: boucle
bravo gosub
print "L'heure est ",$time(),"\n"
sommeil 1
Boucle goto
étiquette bravo
imprimer "Twonk !\n"
retourner

Commande : abandonner
Description : oblige comgt à appeler abort() et à produire un core dump.
Syntaxe : abandonner
Voir aussi : dump, exit.

Commande : cd
Description : Changer de répertoire.
Syntaxe : répertoire cd
Remarques : -1 est renvoyé en % si la modification n'a pas pu être effectuée.
Remarques : le répertoire est une chaîne et peut donc être une variable.
Voir aussi : $cwd().
Mise en situation :
cd "duh"
if % != 0 print "Impossible de cd dans duh.\n"

Commande : fermer
Description : ferme le fichier précédemment ouvert avec open.
Syntaxe : fermer le fichier
Voir aussi : ouvert.

Commande : déc
Description : Décrémente le contenu d'une variable entière de 1.
Syntaxe : dec x
Notes : x va de a à z ou de a0 à z9.
Remarques : Notez que "let x=x-1" fonctionne également.
Voir aussi : let, inc.

Commande : dump
Description : Répertorie toutes les variables entières non nulles et la chaîne modifiée
Description : variables sous forme d'entrées de journal (canal d'erreur standard.)
Syntaxe : dump
Voir aussi : abandonner, quitter

Commande : else
Description : exécutez alternativement les commandes si le dernier "if" a été testé faux.
Syntaxe : commandes else...
Voir aussi : si
Mise en situation :
if w<350 print "Wow ! Imagine ça.\n"
else print "Rush Limbaugh est un gros bâtard.\n"

Commande : eprint
Description : affiche une liste d'arguments séparés par des virgules sur stderr.
Syntaxe : eprint var,stringvar,"texte",...
Notes : Comme print mais sur le descripteur de fichier d'erreur standard.
Notes : La sortie d'erreur peut être redirigée avec "2>fichier" sur
Remarques : la ligne de commande.
Voir aussi : impression.

Commande : exec
Description : Remplace le processus de comgt actuel par un autre processus.
Syntaxe : exec "commande -args..."
Voir aussi : système, fourche.
Mise en situation :
#Script terminé, appelez cu.
exec "cu -l "+$dev()+" -s "+$baud()

Commande : quitter
Description : termine l'exécution du script avec le code de sortie.
Syntaxe : exit exit_code
Voir aussi : abort, dump.
Mise en situation :
:Erreur
sortie 1
:smeggit
sortie 0

Commande : flash
Description : Bascule le DTR sur le périphérique de communication pendant une durée spécifiée.
Syntaxe : flash float_constant
Remarques : float_constant est précis au 1/100e de seconde.
Remarques : Le modem abandonne la porteuse ou passe en mode commande,
Remarques : selon les paramètres du modem. Réglage du débit en bauds à 0
Remarques : pendant un temps a le même effet.
Voir aussi : sleep, set com.
Mise en situation :
:déconnecter
Flash 0.5
sortie 0

Commande : fprint
Description : affiche une liste d'arguments séparés par des virgules dans un fichier.
Syntaxe : fprint var,stringvar,"texte",...
Notes : Comme print mais annexé à un fichier préalablement ouvert
Remarques : par ouvert.
Voir aussi : impression.

Commande : fourche
Description : forks comgt process en deux. Les deux processus se poursuivent
Description : exécution du script.
Syntaxe : fourche
Remarques : % renvoie 0 pour le processus enfant, nouvel ID de processus pour
Notes : parent ou -1 pour erreur.
Voir aussi : wait, kill, pid(), ppid().
Mise en situation :
fourche
si % = -1 aller à l'erreur
si % = 0 aller à l'enfant
:parent


Commande : obtenir
Description : récupère la chaîne du périphérique de communication.
Syntaxe : get timeout "terminators" $string
Notes : timeout est une constante flottante, les terminateurs sont une
Notes : liste des caractères qui, une fois reçus, se terminent
Remarques : obtenez. Les terminateurs sont ignorés lorsqu'ils sont reçus en premier.
Voir aussi : waitfor.
Mise en situation :
attendre 60 "connecter"
si % != 0 aller à l'erreur
obtenir 2 " ^m" $s
print "Paramètres de connexion : ",$s,"\n"

Commande : gosub
Description : appelle un sous-programme.
Syntaxe : gosub label
Remarques : Actuellement, comgt ne prend en charge que 128 niveaux de gosub
Notes : appels (assez !)
Voir aussi : :, goto, return.
Mise en situation :
routine gosub
sommeil 1
routine gosub
goto end
:routine
imprimer "Flim-flam !\n"
retourner

Commande : goto
Description : envoie l'exécution ailleurs dans le script.
Syntaxe : aller à l'étiquette
Voir aussi : :, gosub, return.
Mise en situation :
:win95
print "Aujourd'hui, je veux utiliser Linux, merci.\n"
aller à win95

Commande : hset
Description : Réglez la minuterie des centaines.
Syntaxe : hset valeur
Remarques : Cette commande réinitialise le compteur de centaines de secondes à
Notes : une valeur pour htime à partir de laquelle commencer.
Voir aussi : htime().
Mise en situation :
hset 0
: boucle
print "Temps en 1/100 de seconde : ",htime(),"\n"
sommeil 0.01
Boucle goto

Commande : si
Description : teste une condition
Syntaxe : si les commandes test_condition...
Remarques : Exécute les commandes de manière conditionnelle si la condition de test est vraie.
Remarques : Les opérateurs de test sont = (égal), != (non égal),
Notes : <> (différent de) < (inférieur à), > (supérieur à),
Notes : <= (inférieur ou égal), >= (supérieur ou égal).
Remarques : Tous les opérateurs peuvent être utilisés avec des entiers et des chaînes.
Notes : Si test_condition est faux, si passe à
Notes : la ligne suivante.
Voir aussi : else.
Mise en situation :
si n>30 imprimer "Oh-ho! trop de moutons!\n" goto error
si n=17 imprimez " Hourra ! nous avons assez de moutons\n" allez à la fête
si n<17 imprimez "Murray, obtenez plus de moutons.\n" goto getmore
si $z < "Marmaluke" va à ...
si 3*a>5+b aller à ...

Commande : inc
Description : incrémente le contenu d'une variable entière de 1.
Syntaxe : inc x
Remarques : x est az ou a0-z9.
Voir aussi : déc, let.

Commande : entrée
Description : saisissez la chaîne du clavier dans la variable de chaîne.
Syntaxe : saisir $x
Remarques : la saisie ne termine la saisie qu'avec la touche ENTER.
Remarques : Les espaces, tabulations et autres personnages amusants sont tous
Notes : stocké dans la variable.
Voir aussi : définir l'écho.
Mise en situation :
print "Entrez votre nom complet :"
saisir $n4

Commande : tuer
Description : Envoie un signal à un processus.
Syntaxe : kill signal processID
Remarques : signal et processID sont des valeurs entières. Pareil que
Notes : kill unix standard sauf que les alias de signal ne sont pas
Notes : accepté et le signal n'est pas facultatif.
Notes : 0 est retourné en % si le signal a pu être envoyé, -1
Remarques : sinon.
Remarques : Le signal 0 peut être utilisé pour détecter l'existence d'un processus.
Voir aussi : wait, pid(), ppid().
Mise en situation :
fourche
soit p=%
si p = 0 aller à l'enfant
sommeil 300
tuer 15 p
sommeil 1
tuer 0 p
if % != 0 print "Enfant terminé\n" goto ok
print "Impossible de terminer l'enfant !\n"
tuer 9 p
sommeil 1
tuer 0 p
if % = 0 print "Impossible de tuer l'enfant !\n" erreur goto
print "Enfant tué.\n"
:D'accord


Commande : laisser
Description : Effectue une affectation de variable.
Syntaxe : let x=contenu
Remarques : x est [$]a0-z9.
Voir aussi : inc, déc.
Mise en situation :
soit a=5
soit b=(temps()-a)+5
soit y7=6809
laissez z=0%11010111 #Binaire
soit z=077324 #octal
soit z=0xf5b8 #hexadécimal
let $c="Daniel "
soit $d=$c+" Chouinard"
let $s5="Frimpin´ Jeosaphat!"

Commande : lprint
Description : imprime une liste d'arguments séparés par des virgules dans le journal.
Syntaxe : fprint var,stringvar,"texte",...
Notes : Comme print mais imprimé comme une entrée de journal si verbeux est activé.
Notes : la journalisation est envoyée à stderr.
Voir aussi : print, eprint, fprint.

Commande : ouvrir
Description : Ouvre un fichier ou un périphérique de communication.
Syntaxe : open com device, open com (stdin), open file FILE
Voir aussi : fermer.
Mise en situation :
ouvrir com /dev/cua1
ensemble com 38400n81
ouvrir le fichier "/tmp/log"
fprintf "Ceci est un journal\n"
Fermer le fichier

Commande : imprimer
Description : affiche une liste d'arguments séparés par des virgules.
Syntaxe : print var,stringvar,"text",...
Remarques : Les espaces et les nouvelles lignes ne sont pas ajoutés automatiquement.
Voir aussi : eprint, fprint, lprint.
Mise en situation :
soit b=26
let $c="variables de texte"
print "Texte constant ",b," ",$c," heure : ",$heure(),"\n"

Commande : putenv
Description : Définit une variable d'environnement.
Syntaxe : putenv "var=contenu"
Remarques : Les variables d'environnement sont automatiquement exportées,
Remarques : jamais retourné. Les processus enfants héritent du
Remarques : environnement.
Voir aussi : $env().
Mise en situation :
putenv "SCRIPTDIR=/usr/lib/comgt/scripts"
system "dothat" # dothat lit env. var. SCRIPTDIR...

Commande : rem Alias ​​: #, //
Descriptif : Remarque. Le reste de la ligne est ignoré.
Syntaxe : Notez qu'un espace doit suivre "rem".
Mise en situation :
#Ceci est une remarque
// Alors c'est ça
rem Ce n'est pas une discothèque.

Commande : retour
Description : Retours du sous-programme.
Syntaxe : retour
Voir aussi : gosub.

Commande : envoyer
Description : envoie une chaîne à la ligne de communication (modem généralement).
Syntaxe : chaîne d'envoi
Remarques : Le retour chariot (ENTRER) n'est pas envoyé automatiquement
Remarques : (utilisez ^m).
Mise en situation :
envoyer "atdt555-1212^m"
envoyer $g+"^m"
envoyer "L'heure est "+$time()+"^m^j"

Commande : définir
Description : définit les paramètres de travail.
Syntaxe : définir la valeur du paramètre
Notes:

Description de la commande
----------------------------- --------------------- -----------------------------
set echo on|off Écho du clavier à l'écran.
set comecho on|off Les caractères reçus sont affichés à l'écran.
définir senddelay time_constant Délai entre les caractères pour "envoyer"
set ignorecase on|off Sensibilité à la casse pour "waitfor".
Par défaut = activé.
set clocal on|off clocal on = ignorer les signaux du modem
définir les valeurs par défaut de création du mode fichier en mode umask.
Voir l'homme umask.
set verbose on|off verbose on = sortie de débogage activée.
définir les paramètres de communication com com_params.
ex. : 19200n81, 300e71
bauds |||
Parité |
Bits de données |
Bits d'arrêt |

Mise en situation :
désactiver l'écho
imprimer "Mot de passe :"
saisir $p
imprimer "\n"
activer l'écho
activer le comecho
mettre clocal sur
régler le délai d'envoi à 0.1
activer ignorer la casse
ensemble com 38400n81
set umask 022 # Doit être octal (zéro non significatif)


Remarque sur clocal :
Si vous voulez que votre script continue de fonctionner après la détection du transporteur
le signal est tombé, activez clocal, sinon, une baisse de CD provoque
fermer la ligne de l'appareil (raccrocher). Cela pourrait arriver si,
disons que votre script appelle et se connecte, puis se déconnecte ou
abandonne dtr (flash), puis essaie de se reconnecter.

Commande : dormir
Description : Suspend l'exécution.
Syntaxe : sleep float_constant
Remarques : Float_constant est précis au 1/100e de seconde, sauf si
Notes : plus de 100 secondes, auquel cas la précision
Remarques : descend à 1 sec.

Mise en situation :
sommeil 0.06
sommeil 3
sommeil 86400 /* Une journée entière */

Commande : système
Description : Appelle une commande système (unix)
Syntaxe : système "commande"
Voir aussi : exec.
Mise en situation :
: dir
print "liste du répertoire ",$cwd(),\n"
système "ls -l |plus"

Commande : clé de test
Description : Teste le clavier pour la frappe, renvoie 1 en % si présent.
Syntaxe : testkey
Remarques : Ne peut tester que la touche ENTER. Futures versions de comgt
Remarques : testera plus et renverra les codes clés en %.
Voir aussi : entrée.
Mise en situation :
soit n=1
: boucle
print n," mouton... ZZZzzz...\n"
dormir m
inc m
clé de test
si % = 0 aller à la boucle

Commande : attendre
Description : Attendez qu'un processus enfant se termine.
Syntaxe : attendre
Remarques : L'ID de processus de l'enfant terminé est renvoyé en %
Voir aussi : fork, kill.
Mise en situation :
fourche
soit p=%
si p=0 aller à l'enfant
si p=-1 aller à l'erreur
imprimer "En attendant que l'enfant finisse..."
attendez
imprimer "\n"
if %!=p print "Attendez un mauvais PID!\n" goto error
print "L'enfant a terminé.\n"

Commande : waitfor
Description : attend jusqu'à ce que l'une d'une liste de chaînes soit reçue
Syntaxe : waitfor timeout "string1","string2","string3"...
Remarques : Timeout est une constante de temps flottante. attendre les retours calmes
Notes : 0 pour la première chaîne reçue, 1 pour la seconde, etc...
Notes : et -1 pour un timeout. La casse est ignorée par défaut sauf si
Remarques : ignorecase est désactivé.
Voir aussi : get.
Mise en situation :
:cadran
envoyer "atdt555-4411^m"
attendre 60 "pas d'opérateur", "occupé", "pas de tonalité", "connexion"
si % = -1 aller au délai d'attente
si % = 0 aller à nocd
si % = 1 aller à renuméroter
si % = 2 aller à l'erreur
si % = 3 aller à connecté

Commande : waitquiet
Description : attend que la ligne de communication cesse de recevoir pendant un certain temps.
Syntaxe : waitquiet timeout quiettime
Remarques : le timeout et le quiettime sont des constantes de temps flottantes
Remarques : au 1/100ème de sec. précision. Utile pour "avaler"
Notes : caractères entrants depuis un moment ou en attente d'un
Remarques : invite inconnue.
Mise en situation :
:fermeture
envoyer "déconnexion^m"
attendre calme 10 0.5
envoyer "oui^m"

Entier fonctions
I-Fonction : Accès
Description : Vérifie les droits d'accès à un fichier
Syntaxe : let x=access("/tmp/file","frwx")
Remarques : La deuxième chaîne contient un ou plusieurs des
Notes : ´f´,´r´,´w´,´x´ à vérifier respectivement
Notes : autorisations d'existence, de lecture, d'écriture et d'exécution.
Notes : Sous root id, la seule vérification utile est ´f´, car
Notes : tous les autres retourneront vrai.
Valeur de retour : 0 si le fichier existe, est lisible, inscriptible,
Valeur de retour : exécutable, ou -1 sinon.
Voir aussi : homme accès(2)

I-Fonction : baud
Description : Renvoie le débit en bauds actuel de la ligne de communication.
Syntaxe : let x=baud()
Remarques : Ne correspond pas nécessairement à la vitesse de connexion du modem.
Voir aussi : $baud().

I-Fonction : len
Description : Renvoie la longueur d'une chaîne.
Syntaxe : let x=len($s)
Remarques : "" vaut zéro. Les chaînes ont actuellement une longueur maximale de
Remarques : 1024 caractères. comgt ne gère pas le débordement de chaîne
Remarques : pas du tout.

I-Fonction : htime
Description : Renvoie des centaines de secondes depuis le début du script.
Syntaxe : let x=htime()
Remarques : Définissez une valeur spécifique avec hset.
Voir aussi : hset.

I-Fonction : pid
Description : Renvoie le numéro d'identification du processus en cours (comgt)
Syntaxe : let x=pid()
Voir aussi : ppid(), fork

I-Fonction : ppid
Description : Renvoie le numéro d'identification du processus parent.
Syntaxe : let x=ppid()
Remarques : Peut être utilisé par un enfant fourchu pour détecter le parent
Remarques : processus.

I-Fonction : temps
Description : Renvoie l'heure en secondes depuis le 1er janvier 00:00:00 1970 GMT.
Syntaxe : let x=time()
Notes : Utilisé pour calculer les décalages horaires.
Voir aussi : $time()

Fonction I : val
Description : Renvoie la valeur de la chaîne.
Syntaxe : let x=val($x)
Remarques : la chaîne n'est pas une expression ; ne doit contenir que [0-9]
Remarques : personnages. Les futures versions de comgt pourront
Notes : évaluer les expressions. (Peut-être) (Ceci a été écrit 6
Notes : il y a des années.)

Fonction I : verbeux
Description : Renvoie la valeur du paramètre détaillé.
Syntaxe : let x=verbose()
Remarques : 0=off, 1=on.

Chaîne fonctions
Fonction S : nom de base
Description : renvoie une partie du nom de base du chemin.
Syntaxe : let $x=$basename($p)
Notes : $basename("/usr/bin/more")="more"
Voir aussi : $dirname().

Fonction S : baud
Description : renvoie la représentation sous forme de chaîne du débit en bauds actuel.
Syntaxe : let $x=$baud()
Notes : Défini par "set com"
Voir aussi : baud(), set com.

Fonction S : cwd
Description : Renvoie le chemin d'accès au répertoire de travail actuel.
Syntaxe : let $x=$cwd()
Voir aussi : cd.

Fonction S : dev
Description : Renvoie le chemin d'accès actuel du périphérique de communication.
Syntaxe : let $x=$dev()
Notes : défini par l'argument de ligne de commande "-d" ou "open com"
Voir aussi : open com.

Fonction S : nom de répertoire
Description : Renvoie le nom du répertoire faisant partie du chemin.
Syntaxe : let $x=$dirname($p)
Remarques : $dirname("/usr/bin/more")="/ usr / bin"
Voir aussi : $basename().

Fonction S : env
Description : Renvoie le contenu d'une variable d'environnement
Syntaxe : let $x=$env("HOME")
Remarques : Les variables inexistantes renvoient une chaîne vide.
Voir aussi : putenv.

Fonction S : hexadécimale
Description : Convertit la valeur en représentation hexadécimale
Syntaxe : let $x=$hex(x)
Notes : Lettres af en minuscules, pas de "0x" qui précède
Voir aussi : $hexu(), $oct().

Fonction S : hexu
Description : Convertit la valeur en représentation hexadécimale
Syntaxe : let $x=$hex(x)
Notes : Lettres AF en majuscule, pas de "0x" qui précède
Voir aussi : $hex(), $oct().

Fonction S : hms
Description : Convertit le nombre de secondes en chaîne de temps
Syntaxe : let $x=$hms(x)
Remarques : Le format est "HH:MM:SS". Utile pour les affichages de chronomètre
Notes : A utiliser avec "time()", n'essayez pas d'incrémenter une variable
Notes : toutes les secondes en utilisant "sleep 1". (Voir l'exemple de script ISP)
Notes : Le format devient "HHH:MM:SS" après 99 heures, 59 minutes,
Notes : 59s...
Voir aussi : heure().

Fonction S : gauche
Description : renvoie la partie gauche d'une chaîne
Syntaxe : let $x=$left($s,l)
Notes : $s=Chaîne source, l=longueur
Remarques : l doit être inférieur à la longueur de la chaîne.
Voir aussi : $right(), $mid().

Fonction S : milieu
Description : renvoie la section médiane d'une chaîne.
Syntaxe : let $x=$mid($s,s,l)
Notes : $s=chaîne source, s=début, l=longueur
Notes : s doit être inférieur à la longueur de la chaîne, l peut être
Notes : un nombre énorme (9999) pour retourner le côté droit d'un
Notes : chaîne jusqu'à la fin. le premier caractère d'une chaîne est
Notes : position 0, pas 1.
Voir aussi : $right(), $left().

Fonction S : oct.
Description : Convertit la valeur en représentation octale.
Syntaxe : let $x=$oct(x)
Voir aussi : $hex(), $hexu().

Fonction S : droite
Description : renvoie la partie droite d'une chaîne.
Syntaxe : let $x=$right($s,l)
Notes : $s=Chaîne source, l=longueur
Remarques : l doit être inférieur à la longueur de la chaîne.
Voir aussi : $left(), $mid().

Fonction S : rpipe
Description : renvoie la première ligne d'une commande système canalisée
Syntaxe : let $x=$rpipe("/bin/ls |grep monfichier")
Notes : Pas très utile sauf si utilisé avec tête, queue, grep,
Remarques : etc...
Voir aussi : système.

Fonction S : temps
Description : Renvoie une chaîne d'heure locale de 24 caractères
Syntaxe : let $x=$time()
Voir aussi : heure().
Remarques : L'heure est au format suivant : Lun 8 avril 14:21:22 1996
012345678901234567890123
+1 (2)XNUMX XNUMX

Fonction S : vers le bas
Description : Renvoie une chaîne en minuscules.
Syntaxe : let $x=$tolow($y)

Fonction S : toupie
Description : Renvoie une chaîne en majuscule.
Syntaxe : let $x=$toupper($y)

Teste opérateurs
Opérateur Description Exemple Résultat
= égal si 1+2=3 oui
!= non égal si 1+2!=3 non
<> différent si 1+2<>3 non
> Supérieur à si 1+3>3 oui
< Moins que si 1+3<3 non
>= Supérieur ou égal si 3>=3 oui
<= Supérieur ou égal si 2<=3 oui

Les chaînes peuvent être comparées à l'aide des mêmes opérateurs.

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

Notes que "set ignorecase on" ne s'applique PAS aux comparaisons de chaînes.

Expression opérateurs
Opérateur Description Exemple Résultat
+ Addition soit a=2+2 4
+ Concaténation let $b="aa"+"bb" "aabb"
- Soustraction soit e=2-5 -3
* Multiplication soit f=11*2 22
/ Division soit g=34/11 3
& Bit-Wise AND soit h=42&7 2
| OU au niveau du bit soit a=42|5 47
^ Bit-Wise XOR laisser a=42^7 45

Exemples d'expressions mixtes :

#Renvoie le nombre de secondes depuis 00:00:00
let $t=$time() #Prendre un instantané.
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
#Remarquez les ensembles supplémentaires de parenthèses car l'expression de comgt
#evaluator est en état de mort cérébrale.
#Par exemple, 5-2+1 devrait vous donner 4, n'est-ce pas ? Eh bien, d'après
#getvalue(), il donne en fait 2, car il le fait un peu à partir de
#de droite à gauche.
#Donc, pour évaluer correctement 5-2+1, utilisez (5-2)+1. Si vous utilisez
#calculs simples à deux éléments, ne vous en souciez pas.
#5-2 vous donnera 3.

#Concaténation (Appels cu)
exec "cu -l "+$dev()+" -s "+$baud()"

#En condition de test
si a+c > strlen($c) va trop loin

#Comparaison de chaînes
soit $t=$mid($time(),11,8)
if $t > "19:59:59" print "Trop tard pour ça !\n" goto toolate
if $t < "08:00:00" print "Trop tôt !\n" va trop tôt
if $t = "00:00:00" print "Oh mon Dieu ! C'est l'heure de Twinkee !\n"

CONNUE CARACTERISTIQUES


L'analyseur getvalue(). Cela me fait rire alors je pense que je vais le laisser comme ça. -
[email protected]

ENVIRONNEMENT VARIABLES


COMGTPIN - la broche à 4 chiffres de la carte SIM à utiliser par le script PIN COMGTAPN - l'APN sur lequel écrire
la carte de données, utilisée par le script APN.

AUTEURS


Daniel Chouinard[email protected]> a écrit l'original déconcertation utilitaire.

Paul Hardwick[email protected]> mis à jour pour les derniers compilateurs, à condition que le
dans la fonctionnalité de script et l'a testé par rapport aux cartes de données GPRS et 3G.

Martin Grégorie[email protected]> a écrit la page de manuel originale pour comgt du déconcertation
documentation et emballé comgt pour la distribution.

HISTOIRE
Daniel Chouinard a écrit la plupart (90 %) des déconcertation en 1989 quand il a commencé à faire des applications Unix
support technique principalement par modem aux systèmes du client. Il était fatigué de taper tous ces
des mots de passe et des codes de facturation d'appels amusants à chaque fois qu'il utilisait cu. De plus, l'entreprise dans laquelle il travaillait
pour avoir besoin d'un système qui enregistrerait les temps d'appel et les coûts estimés. Ainsi déconcertation est né.
Six ou sept ans plus tard (1996) et il utilisait pppd pour se connecter au site de son FAI. Il était
plus ou moins content de le chat mais j'ai trouvé qu'il manquait de contrôle de flux et de vérifications de réponses multiples
de "atdt...". Il voulait qu'il fasse des choses différentes pour "pas d'opérateur", "pas de tonalité" et
"occupé". Même s'il pensait que le chat serait probablement amélioré un jour, lorsqu'il découvrira
dcon.c sur une de ses vieilles cassettes 45M, il a essayé de la compiler sur sa machine Linux et, voilà
voici, il l'a fait. Au final, il y a ajouté quelques éléments (tuer, fork, attendre, 1/100 sec.
fois) et en reste là.

Il y a quelques années, Paul Hardwick a trouvé le programme, déconcertation 0.97 dernière modification en 1996.
Le but de ce programme était d'exécuter des scripts qui contrôleraient les ports série Linux. Les
l'implémentation était très similaire à quelque chose qu'il avait écrit pour Windows. Quoi qu'il en soit, plutôt
que de réinventer, il a contacté l'auteur, Daniel Chouinard, et lui a demandé l'autorisation de réutiliser
le code. Heureusement, il a donné la permission et un utilitaire basique mais utile appelé comgt était
créé. Paul ne s'attribue aucun mérite pour le moteur, à part le rendre compatible avec ceux d'aujourd'hui
compilateurs. C'est fondamentalement déconcertation reconditionné.

20 Octobre, 2006 comgt(1)

Utiliser comgt en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Firebird
    Firebird
    Firebird RDBMS offre des fonctionnalités ANSI SQL
    & fonctionne sous Linux, Windows &
    plusieurs plates-formes Unix. Fonctionnalités
    excellente simultanéité et performances
    & Puissance...
    Télécharger Firebird
  • 2
    KompoZer
    KompoZer
    KompoZer est un éditeur HTML wysiwyg utilisant
    la base de code de Mozilla Composer. Comme
    Le développement de Nvu a été arrêté
    en 2005, KompoZer corrige de nombreux bugs et
    ajoute un f...
    Télécharger KompoZer
  • 3
    Téléchargeur de mangas gratuit
    Téléchargeur de mangas gratuit
    Le Free Manga Downloader (FMD) est un
    application open source écrite en
    Object-Pascal pour la gestion et
    télécharger des mangas à partir de divers sites Web.
    C'est un miroir...
    Télécharger gratuitement Manga Downloader
  • 4
    UNetbootin
    UNetbootin
    UNetbootin vous permet de créer un bootable
    Clés USB Live pour Ubuntu, Fedora et
    autres distributions Linux sans
    graver un CD. Il fonctionne sous Windows, Linux,
    et ...
    Télécharger UNetbootin
  • 5
    Dolibarr ERP-CRM
    Dolibarr ERP-CRM
    Dolibarr ERP - CRM est un outil simple d'utilisation
    Progiciel open source ERP et CRM
    (exécuté avec un serveur web php ou comme
    logiciel autonome) pour les entreprises,
    fondations...
    Télécharger Dolibarr ERP - CRM
  • 6
    Client SQL SQuirreL
    Client SQL SQuirreL
    SQuirreL SQL Client est un SQL graphique
    client écrit en Java qui permettra
    vous permet de visualiser la structure d'un JDBC
    base de données conforme, parcourir les données dans
    les tables...
    Télécharger le client SQL SQuirreL
  • Plus "

Commandes Linux

Ad