IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

comgt - Online nel cloud

Esegui comgt nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando comgt che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


comgt - Opzione Controllo scheda dati GlobeTrotter GPRS/EDGE/3G/HSDPA e Vodafone 3G/GPRS


SINOSSI


comg -d dispositivo -ehstvVx copione

VERSIONI


-d dispositivo
impostare il dispositivo da utilizzare per comunicare con la scheda dati. Altrimenti
specificato quindi comgt trys /dev/noz2, /dev/ttyUSB2 e poi /dev/modem

-e
attivare l'eco delle comunicazioni seriali.

-h
visualizzare la guida riepilogativa ed uscire.

-s
non eseguire l'interno difetto script prima di uno script esterno.

-t
passare a un terminatore di linea alternativo (predefinito "0).

-v
eseguire in modalità dettagliata. Questo traccia gli script mentre vengono eseguiti. È
destinato ad aiutare nel debug degli script.

-V
Stampa le informazioni sulla versione.

-x
per gli script interni ed esterni, qualsiasi riferimento a 115200 baud è
convertito in 57600. Questo è utile per le schede dati a cui non piace 115200
baud come il GlobeTrotter EDGE.

DESCRIZIONE


comg è un interprete del linguaggio di scripting utile per stabilire comunicazioni su seriale
e tramite modem PCMCIA e schede dati GPRS e 3G.

comg ha alcune funzionalità che raramente si trovano in altre utilità dello stesso tipo.

Caratteristiche
- Script integrati predefiniti per il controllo della scheda dati 2G/3G
- Linguaggio di script semplice, simile al BASIC.
- Riga di comando e approvvigionamento di file di script.
- Attesa multi-risposta.
- waitquiet consente la stabilizzazione della linea.
- Acquisizione di testo in linea.
- Supporto multiprocesso: fork, wait, kill, exit.
- Debug dell'output dettagliato e del registro.
- registrazione su file.
- Controllo del flusso: goto, gosub, return, if, else.
- Basso impatto sulle risorse di sistema.
- Comandi e funzioni temporali.
- Manipolazioni di stringhe.
- Manipolazione dell'ambiente: env(), putenv.
- Chiamate di sistema di utilità esterne: system, exec.

supportato GPRS ed 3G datacard
comg è stato testato contro GlobeTrotter GPRS,EDGE, Combo EDGE, 3G, 3G EDGE, HSDPA e
GlobeTrotter Fusion e Vodafone 3G. Può impostare il PIN e visualizzare le informazioni
sulle schede dati prima che venga avviata una connessione PPP. Inoltre, poiché il
GlobeTrotter e la scheda dati Vodafone 3G/GPRS dispongono di un'interfaccia seriale secondaria
le schede dati possono essere monitorate mentre è attiva una connessione PPP e viene trasferito i dati.

comg è progettato principalmente per funzionare con la gamma di schede dati GlobeTrotter, ma dovrebbe esserlo
compatibile con qualsiasi altra scheda dati GPRS o 3G a condizione che la sua interfaccia sia implementata come tale
o più dispositivi seriali o USB seriali ed è controllato e interrogato da un'implementazione
dell'interfaccia di comando Hayes con le stesse estensioni di comando AT utilizzate dagli elencati
schede dati.

utilizzando comg
comg ha una sola funzione: eseguire uno script. Questo potrebbe essere uno dei tanti "standard"
script interni o uno script esterno. Entrambi i tipi di script vengono richiamati allo stesso modo.
Gli script "standard" sono integrati comg e funzionerà per i modem collegati in serie,
modem integrati, modem PCMCIA nonché GlobeTrotter GPRS e Vodafone 3G/GPRS
schede dati. Esiste un ordine di priorità di ricerca per gli script: 1) interno, 2) funzionante
directory, 3)/etc/comgt

Built-in script
comg
Questo esegue lo script interno predefinito. Corsa comg senza alcuno script specificato, ad esempio,
comg -d /dev/ttyS1 controllerà la presenza di un PIN e ti chiederà se è necessario. Il prossimo
ciò che fa è attendere che il dispositivo si registri, quindi segnala la potenza del segnale. Se
non specifichi una porta con il file -d opzione quindi /dev/modem è assunto. Se il -s cambia
non viene utilizzato, questo script predefinito viene eseguito prima di qualsiasi script esterno.

comg Aiuto
Elenca queste e le altre opzioni disponibili.

comg info
Elenca la configurazione della scheda dati.

comg sig
Stampa la potenza del segnale.

comg reg
Stampa lo stato di registrazione.

comg 3G
Imposta GlobeTrotter 3G/Fusion e Vodafone 3G in modalità solo rete 3G (UMTS/HSDPA).

comg 2G
Imposta GlobeTrotter 3G/Fusion e Vodafone 3G in modalità solo rete 2G (GSM/GPRS/EDGE).

comg 3G2G
Imposta GlobeTrotter 3G/Fusion e Vodafone 3G nella modalità preferita 3G (UMTS/HSDPA e
GSM/GPRS/EDGE).

comg GTEDGE
Utilizzare questo comando per inizializzare prima le schede GlobeTrotter EDGE e GlobeTrotter Combo EDGE
fare qualsiasi altra cosa. (Si accende la radio).

comg USA
Passa alla banda 900/1900 MHz per le operazioni negli Stati Uniti. Solo schede dati GPRS GlobeTrotter.

comg EUROPA
Passa alla banda 900/1800 MHz per il funzionamento in Europa. Solo schede dati GPRS GlobeTrotter.

comg PIN
Testare lo stato del PIN della SIM e utilizzare la variabile di ambiente COMGTPIN come valore.

comg APN
Impostare l'APN della scheda dati sul valore contenuto nella variabile d'ambiente COMGTAPN.

Custom Script
Oltre agli script integrati, puoi crearne di tuoi. Il seguente script imposta un Vodafone 3G
modalità UMTS della scheda dati o della scheda Option Fusion su GPRS:

#Imposta la modalità solo GPRS
impostare com 115200n81
imposta il ritardo di invio su 0.05
aspetta tranquillo 1 0.2
invia "AT_OPSYS=0^m"
print "Impostazione modalità solo GPRS"

Se salvassi lo script sopra come GPRS lo chiameresti in questo modo:

comg GPRS

Se è necessario specificare anche la porta, procedere come segue:

comg -d /dev/ttyS1 GPRS

Puoi anche passare i parametri di ambiente a a comg sceneggiatura tramite $env().

Sostituzione chiacchierare
chiacchierare è un'utilità fornita con il pacchetto ppp (almeno per Linux) che, con un set di
wait-send coppie di stringhe, fa abbastanza per connettere la maggior parte delle persone agli ISP e simili. Mentre
l'utilizzo della chat è molto semplice, non è molto flessibile. Ecco dove comg prende il sopravvento.

comg può essere utilizzato al posto di chiacchierare utilizzando la stessa strategia. Ad esempio, una riga pppd
lettura:

connessione pppd \
´chat -v "" ATDT5551212 CONNECT "" ogin: ppp \
parola: acqua bianca´ \
/dev/cua1 38400 debug crtscts modem defaultroute

Sarebbe, usando Commodo, leggere:

pppd connect ´comgt -s /root/scripts/isp.scr´ /dev/cua1 38400 \
eseguire il debug del percorso predefinito del modem crtscts

E lo script isp.scr direbbe:

invia "ATDT5551212^m"
attendi 60 "ogin:"
invia "ppp^m"
aspetta 60 "parola:"
invia "whitewater^m"

Ovviamente diventa banale rendere questo script molto più funzionale
aggiunta di codice per rilevamento occupato, ricomposizione, ecc...

verboso produzione
Quando l'opzione dettagliata è attivata, comg riporta tutto sull'errore standard
canale. Se attivato dalla riga di comando (-v), l'output contiene 4 sezioni.

- Azioni degli argomenti della riga di comando
Si tratta di azioni intraprese perché specificate dalla riga di comando, ad esempio
apertura di un dispositivo di comunicazione (-d), ecc... Affinché questi vengano emessi, è necessario specificare -v
come primo argomento.

- Elenco degli argomenti
Il numero e l'elenco degli argomenti passati. Questo è utile nel caso in cui ne hai un sacco
variabili d'ambiente o virgolette, virgolette rovesciate, barre rovesciate sulla riga di comando e tu sei
non sono sicuro di cosa veda realmente la sceneggiatura.

- Elenco dei copioni
Un elenco degli script da eseguire. Potrebbe trattarsi di una concatenazione del valore interno predefinito
script, a meno che questo non venga soppresso dall'opzione -s, e un file di script. Ogni riga lo è
elencato con il numero di riga e la posizione del carattere.

- Uscita di esecuzione
Elenco dei comandi mentre vengono eseguiti. Il parser stampa la riga su cui si trova attualmente,
partendo dal punto esatto in cui si trova fino alla fine della linea. Comando multiplo
i gruppi su una singola riga producono più righe di output. L'output dettagliato può essere mescolato con
output dello script (print, eprint o lprint.)

Ecco un esempio:

$ comgt -v -d/dev/cua1 -s blah.scr
comgt 00:18:46 -> Output dettagliato abilitato
comgt 00:18:46 -> File di 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 imposta com 38400n81 lascia a=2
2@0025 print "9x",a,"=",9*a,"\n"
3@0051 dormire 5
4@0059 esci da 0
comgt 00:18:46 -> ---Fine dello script---
comgt 00:18:46 -> @0000 imposta com 38400n81 lascia a=2
comgt 00:18:46 -> @0017 lascia a=2
comgt 00:18:46 -> @0025 print "9x",a,"=",9*a,"\n"
9x2 = 18
comgt 00:18:46 -> @0051 sonno 5
comgt 00:18:51 -> @0059 esci 0

Programmazione Manuale


Sintassi
La sintassi utilizzata per comg script è piuttosto semplice, in qualche modo simile al BASIC. Una sceneggiatura è a
file di testo ASCII puro, non tokenizzato, contenente righe terminate da caratteri di nuova riga
(Standard Unix.) Gli script possono essere creati e/o modificati utilizzando qualsiasi editor di testo standard
(vi, vim, joe, pico, emacs, ed, microEmacs) Righe in a comg lo script recita così:

- Riga vuota
- [trattino]rem osservazione
- [rientro] [[:|etichetta] LABEL] [comando [argomenti]] rem commento
- [rientro][[:|etichetta] LABEL] [comando [argomenti]] [comando [argomenti]]...

I caratteri utilizzati per il rientro sono gli spazi e i caratteri di tabulazione.
Il comando rem fa sì che il parser dello script salti il ​​resto della riga.
Il comando rem può anche essere scritto come "#" o "//".

Le etichette sono costituite da lettere minuscole e maiuscole e da numeri.
Le maiuscole e minuscole vengono ignorate nelle etichette.

I comandi e i relativi argomenti sono separati da spazi e/o tabulazioni.
I gruppi di comandi sono separati da spazi, tabulazioni o ritorni a capo.

Le espressioni non devono contenere spazi o tabulazioni.
Questo va bene: sia n=x+76
Questo non è: sia n= x + 76
Perché questo spazio ^ terminerebbe il gruppo di comandi let.

Errore segnalazione
Quando comg rileva un errore di script, attiva immediatamente la modalità dettagliata, genera un dump
(vedi comando dump), segnala l'errore su tre righe e interrompe l'esecuzione. IL
la prima riga riportata è il gruppo di comandi in esecuzione, la seconda mostra dove si trova il file
parser ottenuto e la terza riga riporta la posizione del carattere del contatore del programma, the
errore e il codice di uscita.

Ecco un esempio:

$ comgt -vs blar2.scr

Dove si trova lo script blar2.scr:

incluso n
dic d3
sia a=58/3
lascia $d="fod"
sia c=1/0
lascia $y4="sdfgsdfgsdfg"

Il rapporto di tracciamento ed errore è simile al seguente:

comgt 11:20:15 -> Output dettagliato abilitato
comgt 11:20:15 -> File di 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 dic d3
3@0015 lascia a=58/3
4@0027 lascia $d="fod"
5@0041 sia c=1/0
6@0052 lascia $y4="sdfgsdfgsdfg"
comgt 11:20:15 -> ---Fine dello script---
comgt 11:20:15 -> @0000 inc n
comgt 11:20:15 -> @0007 dic d3
comgt 11:20:15 -> @0015 lascia a=58/3
comgt 11:20:15 -> @0027 let $d="fod"
comgt 11:20:15 -> @0041 lascia c=1/0
comgt 11:20:15 -> -- Rapporto errori --
comgt 11:20:15 -> ----> ^
comgt 11:20:15 -> Errore @49, riga 5, Divisione per zero. (6)

uscita codici
Quando comg termina, lo fa con un "codice di uscita". Questo è un numero restituito
il processo chiamante per indicare successi o fallimenti. Nell'Unix di tutti i giorni, 0 (zero) significa
il successo e tutto il resto significano qualunque cosa l'autore del programma voglia che significhi. In
uno script di shell o direttamente sulla riga di comando, puoi guardarne il contenuto $? dopo
aver chiamato comg per esaminare il suo codice di uscita.

Esempio:

#!/bin/sh
comgt /root/bin/call-isp
se [$? != 0]; Poi
echo "Ops! Qualcosa è andato storto."
fi

Interno comg i codici di errore sono i seguenti:

0: Nessun problema di sorta. Apparentemente.
1: Problemi del dispositivo di comunicazione.
2: Problemi relativi al dispositivo console (tty).
3: Problemi di memoria.
4: Problemi relativi a file o pipe.
5: Errori di sintassi.
6: Divisione per zero.
7: Cattiva gestione variabile.
8: Problemi di sistema. (Non ho potuto chiamare /bin/sh o qualcosa del genere)

Comandi
Comando : : Alias: etichetta
Descrizione: indica un punto di ancoraggio a cui goto o gosub si diramano.
Sintassi: la parola chiave non deve contenere caratteri speciali.
Nota: deve essere la prima istruzione di una riga.
Vedi anche: goto, gosub, return.
Esempio:
: ciclo
Gosub bravo
print "L'ora è ",$ora(),"\n"
dormi 1
ciclo goto
etichetta bravo
print "Ragazzo!\n"
ritorno

Comando: interrompi
Descrizione: fa sì che comgt chiami abort() e produca un core dump.
Sintassi: abortire
Vedi anche: dump, uscita.

Comando: CD
Descrizione: Cambia directory.
Sintassi: directory del cd
Note: -1 viene restituito in % se non è stato possibile apportare la modifica.
Note: directory è una stringa e quindi potrebbe essere una variabile.
Vedi anche: $cwd().
Esempio:
cd "duh"
if % != 0 print "Impossibile eseguire il cd in duh.\n"

Comando: chiudi
Descrizione: chiude il file precedentemente aperto con open.
Sintassi: chiudi file
Vedi anche: aperto.

Comando: dec
Descrizione: Decrementa il contenuto di una variabile intera di 1.
Sintassi: decx
Note: x va da a a z o da a0 a z9.
Note: Nota che funziona anche "let x=x-1".
Vedi anche: let, inc.

Comando: scarica
Descrizione: Elenca tutte le variabili intere diverse da zero e la stringa modificata
Descrizione: variabili come voci di registro (canale di errore standard).
Sintassi: dump
Vedi anche: interrompi, esci

Comando: altro
Descrizione: in alternativa esegue i comandi se l'ultimo "if" è risultato falso.
Sintassi: else comandi...
Vedi anche: se
Esempio:
if w<350 print "Wow! Immaginalo.\n"
else print "Rush Limbaugh è un grosso e grasso bastardo.\n"

Comando: eprint
Descrizione: stampa un elenco di argomenti separati da virgole su stderr.
Sintassi: eprint var,stringvar,"testo",...
Note: Come print ma con il descrittore di file di errore standard.
Note: L'output dell'errore può essere reindirizzato con "2>file" attivo
Note: la riga di comando.
Vedi anche: stampa.

Comando: esec
Descrizione: sostituisce il processo comgt corrente con un altro processo.
Sintassi: exec "comando -args..."
Vedi anche: sistema, forcella.
Esempio:
#Script finito, chiama cu.
exec "cu -l "+$dev()+" -s "+$baud()

Comando: esci
Descrizione: termina l'esecuzione dello script con il codice di uscita.
Sintassi: uscita codice_uscita
Vedi anche: interrompi, scarica.
Esempio:
: errore
esci da 1
:smeggit
esci da 0

Comando: flash
Descrizione: Attiva/disattiva DTR sul dispositivo di comunicazione per un periodo di tempo specificato.
Sintassi: flash float_costante
Note: float_constant è preciso fino a 1/100 di secondo.
Note: fa sì che il modem abbandoni la portante o passi alla modalità comando,
Note: a seconda delle impostazioni del modem. Impostazione della velocità di trasmissione su 0
Note: per un certo periodo ha lo stesso effetto.
Vedi anche: dormi, imposta com.
Esempio:
:disconnettersi
Flash 0.5
esci da 0

Comando: fprint
Descrizione: stampa un elenco di argomenti separati da virgole in un file.
Sintassi: fprint var,stringvar,"testo",...
Note: Come stampa ma aggiunto a un file precedentemente aperto
Note: all'aperto.
Vedi anche: stampa.

Comando: forchetta
Descrizione: esegue il fork del processo Comgt in due. Entrambi i processi continuano
Descrizione: esecuzione dello script.
Sintassi: forchetta
Note: % restituisce 0 per il processo figlio, nuovo ID processo per
Note: genitore o -1 per errore.
Vedi anche: wait, kill, pid(), ppid().
Esempio:
forcella
se % = -1 vai all'errore
se % = 0 vai al figlio
:genitore
...

Comando: prendi
Descrizione: ottiene la stringa dal dispositivo di comunicazione.
Sintassi: ottieni timeout "terminatori" $string
Note: il timeout è una costante float, i terminatori sono a
Note: elenco di caratteri che, una volta ricevuti, terminano
Note: ottenere. I terminatori vengono ignorati quando vengono ricevuti per primi.
Vedi anche: aspetta.
Esempio:
attendere 60 "connetti"
se %!= 0 vai all'errore
ottieni 2 "^m" $s
print "Parametri di connessione: ","$s,"\n"

Comando: gosub
Descrizione: richiama una subroutine.
Sintassi: etichetta gosub
Note: attualmente comgt supporta solo 128 livelli di gosub
Note: chiamate (basta!)
Vedi anche::, vai a, ritorna.
Esempio:
routine gosub
dormi 1
routine gosub
goto end
:routine
print "Flim-flam!\n"
ritorno

Comando: vai a
Descrizione: invia l'esecuzione da qualche altra parte nello script.
Sintassi: vai all'etichetta
Vedi anche::, gosub, return.
Esempio:
:win95
print "Oggi voglio andare ad usare Linux, grazie.\n"
vai a win95

Comando: hset
Descrizione: Imposta il timer delle centinaia.
Sintassi: valore hset
Note: questo comando reimposta il timer delle centinaia di secondi su
Note: un valore da cui iniziare htime.
Vedi anche: htime().
Esempio:
hset 0
: ciclo
print "Tempo in 1/100 di secondo: ",htime(),"\n"
dormi 0.01
ciclo goto

Comando: se
Descrizione: verifica una condizione
Sintassi: se test_condition comanda...
Note: Esegue condizionalmente i comandi se la condizione del test è vera.
Note: gli operatori di test sono = (uguale), != (non uguale),
Note: <> (diverso da) (maggiore di),
Note: = (maggiore o uguale).
Note: tutti gli operatori possono essere utilizzati con numeri interi e stringhe.
Note: se test_condition è falso, passa a
Note: la riga successiva.
Vedi anche: altro.
Esempio:
se n>30 stampa "Oh-ho! troppe pecore!\n" vai all'errore
if n=17 print "Evviva! abbiamo abbastanza pecore\n" vai alla festa
if n<17 print "Murray, prendi più pecore.\n" vai a prendi di più
if $z < "Marmaluke" vai a ...
se 3*a>5+b vai a ...

Comando: inc
Descrizione: incrementa di 1 il contenuto di una variabile intera.
Sintassi: inc x
Note: x è a-z o a0-z9.
Vedi anche: dic, let.

Comando: input
Descrizione: inserisci la stringa dalla tastiera nella variabile stringa.
Sintassi: input $x
Note: l'input termina l'inserimento solo con il tasto ENTER.
Note: Spazi, tabulazioni e altri caratteri divertenti sono tutti
Note: memorizzato nella variabile.
Vedi anche: imposta l'eco.
Esempio:
print "Inserisci il tuo nome completo:"
inserisci $n4

Comando: uccidi
Descrizione: invia un segnale a un processo.
Sintassi: kill signal processID
Note: Sia signal che processID sono valori interi. Uguale a
Note: kill unix standard tranne per il fatto che gli alias di segnale non lo sono
Note: accettato e il segnale non è opzionale.
Note: 0 viene restituito in % se il segnale può essere inviato, -1
Note: altrimenti.
Note: Il segnale 0 può essere utilizzato per rilevare l'esistenza del processo.
Vedi anche: wait, pid(), ppid().
Esempio:
forcella
sia p=%
se p = 0 vai al figlio
dormi 300
uccidere 15 p
dormi 1
uccidere 0 p
if % != 0 print "Figlio terminato\n" vai a ok
print "Impossibile terminare il figlio!\n"
uccidere 9 p
dormi 1
uccidere 0 p
if % = 0 print "Impossibile uccidere il bambino!\n" vai all'errore
print "Bambino ucciso.\n"
:ok
...

Comando: lascia
Descrizione: esegue un'assegnazione di variabile.
Sintassi: lascia x=contenuto
Note: x è [$]a0-z9.
Vedi anche: inc, dec.
Esempio:
sia a=5
lascia b=(tempo()-a)+5
sia y7=6809
lascia z=0%11010111 #Binario
lascia z=077324 #ottale
lascia z=0xf5b8 #esadecimale
lascia $c="Daniele"
sia $d=$c+" Chouinard"
let $s5="Frimpin´ Jeosaphat!"

Comando: lprint
Descrizione: stampa nel log un elenco di argomenti separati da virgole.
Sintassi: fprint var,stringvar,"testo",...
Note: come la stampa ma stampato come una voce di registro se verbose è attivo.
Note: la registrazione viene inviata a stderr.
Vedi anche: print, eprint, fprint.

Comando: apri
Descrizione: Apre un file o un dispositivo di comunicazione.
Sintassi: open com dispositivo, open com (stdin), apri file FILE
Vedi anche: chiudi.
Esempio:
aprire com /dev/cua1
impostare com 38400n81
apri il file "/tmp/log"
fprintf "Questo è un registro\n"
chiudere il file

Comando: stampa
Descrizione: stampa un elenco di argomenti separati da virgole.
Sintassi: print var,varstringa,"testo",...
Note: gli spazi e i ritorni a capo non vengono aggiunti automaticamente.
Vedi anche: eprint, fprint, lprint.
Esempio:
sia b=26
let $c="variabili di testo"
print "Testo costante ","b," ","$c," ora: ",$time(),"\n"

Comando: putenv
Descrizione: imposta una variabile di ambiente.
Sintassi: putenv "var=contenuto"
Note: le variabili d'ambiente vengono esportate automaticamente,
Note: mai restituito. I processi figli ereditano il file
Note: ambiente.
Vedi anche: $env().
Esempio:
putenv "SCRIPTDIR=/usr/lib/comgt/scripts"
system "fai quello" # fai quello legge env. var. SCRIPTDIR...

Comando: rem Alias: #, //
Descrizione: Osservazione. Il resto della riga viene ignorato.
Sintassi: nota che uno spazio deve seguire "rem".
Esempio:
#Questa è un'osservazione
// Anche questo è
rem Questa non è una discoteca.

Comando: ritorno
Descrizione: Ritorna dalla subroutine.
Sintassi: ritorno
Vedi anche: gosub.

Comando: invia
Descrizione: invia una stringa alla linea di comunicazione (normalmente il modem).
Sintassi: invia stringa
Note: Il ritorno a capo (INVIO) non viene inviato automaticamente
Note: (usare ^m).
Esempio:
invia "atdt555-1212^m"
invia $g+"^m"
invia "L'ora è "+$ora()+"^m^j"

Comando: imposta
Descrizione: imposta i parametri di funzionamento.
Sintassi: imposta il valore del parametro
Note:

Comando Descrizione
----------------------- --------------------- ----------------------
attiva/disattiva l'eco L'eco della tastiera sullo schermo.
imposta comecho on|off I caratteri ricevuti vengono riprodotti sullo schermo.
imposta senddelay time_constant Ritardo intermedio tra i caratteri per "invia"
imposta ignorecase on|off La distinzione tra maiuscole e minuscole per "waitfor".
Impostazione predefinita=attiva.
imposta clocal on|off clocal on = ignora i segnali del modem
impostare le impostazioni predefinite per la creazione della modalità file in modalità umask.
Vedi man umask.
imposta verbose on|off verbose on = output di debug abilitato.
impostare i parametri di comunicazione com com_params.
es.: 19200n81, 300e71
baud |||
Parità |
Bit di dati |
Bit di stop |

Esempio:
disattivare l'eco
print "Password:"
inserisci $p
stampa "\n"
attiva l'eco
attiva comecho
imposta clocal su
imposta il ritardo di invio su 0.1
imposta ignorecase su
impostare com 38400n81
set umask 022 # Deve essere ottale (zero iniziale)
...

Nota su clocal:
Se desideri che il tuo script continui a funzionare dopo il rilevamento del corriere
il segnale è caduto, impostare clocal su on, altrimenti si verificherà una caduta del CD
chiudere la linea del dispositivo (riagganciare). Ciò potrebbe accadere se,
diciamo che il tuo script chiama e si connette, quindi si disconnette o
rilascia dtr (flash), quindi tenta di riconnettersi di nuovo.

Comando: dormi
Descrizione: sospende l'esecuzione.
Sintassi: sleep float_costante
Note: Float_constant è preciso fino a 1/100 di secondo, a meno che
Note: più di 100 secondi, nel qual caso la precisione
Note: scende a 1 sec.

Esempio:
dormi 0.06
dormi 3
dormire 86400 /* Un giorno intero */

Comando: sistema
Descrizione: richiama un comando di sistema (unix).
Sintassi: sistema "comando"
Vedi anche: esec.
Esempio:
:dir
print "elenco delle directory ",$cwd(),\n"
sistema "ls -l |altro"

Comando: chiavetest
Descrizione: verifica la pressione dei tasti sulla tastiera, restituisce 1 in % se presente.
Sintassi: chiave di prova
Note: È possibile testare solo il tasto INVIO. Versioni future di comgt
Note: testerà di più e restituirà i codici chiave in%.
Vedi anche: ingresso.
Esempio:
sia n=1
: ciclo
print n," pecora... ZZZzzz...\n"
dormire nm
incluso n
chiave di prova
se % = 0 vai al ciclo

Comando: aspetta
Descrizione: attende il completamento di un processo figlio.
Sintassi: aspetta
Note: l'ID del processo del figlio terminato viene restituito in %
Vedi anche: forchetta, uccidi.
Esempio:
forcella
sia p=%
se p=0 vai al bambino
se p=-1 vai all'errore
print "Aspettando che il bambino finisca..."
aspettare
stampa "\n"
if %!=p print "Aspetta, ho sbagliato il PID!\n" vai all'errore
print "Il bambino ha finito.\n"

Comando: aspetta
Descrizione: Attende finché non viene ricevuta una stringa da un elenco
Sintassi: waitfor timeout "string1","string2","string3"...
Note: Timeout è una costante di tempo mobile. ritorna l'attesa silenziosa
Note: 0 per la prima stringa ricevuta, 1 per la seconda, ecc...
Note: e -1 per un timeout. Per impostazione predefinita, il caso viene ignorato a meno che
Note: ignorecase è impostato su off.
Vedi anche: ottenere.
Esempio:
:comporre
invia "atdt555-4411^m"
attendere 60 "nessun operatore","occupato","nessun segnale di linea libera","connetti"
se % = -1 vai al timeout
se % = 0 vai a nocd
se % = 1 vai alla ricomposizione
se % = 2 vai all'errore
se % = 3 vai a connesso

Comando: aspetta tranquillo
Descrizione: Attende fino a quando la linea di comunicazione smette di ricevere per un certo tempo.
Sintassi: waitquiet timeout quiettime
Note: Sia timeout che quiettime sono costanti di tempo fluttuanti
Note: con 1/100 di sec. precisione. Utile per "deglutire"
Note: personaggi in arrivo per un po' o in attesa di un
Note: prompt sconosciuto.
Esempio:
:closecon
invia "disconnessione^m"
aspetta tranquillo 10 0.5
invia "sì^m"

Numero intero funzioni
Funzione I: Accesso
Descrizione: verifica i diritti di accesso a un file
Sintassi: let x=access("/tmp/file","frwx")
Note: la seconda stringa contiene uno o più di
Note: ´f´,´r´,´w´,´x´ per controllare rispettivamente
Note: permessi di esistenza, lettura, scrittura ed esecuzione.
Note: Sotto root id, l'unico controllo utile è ´f´, as
Note: tutti gli altri restituiranno true.
Valore di ritorno: 0 se il file esiste, è leggibile, scrivibile,
Valore restituito: eseguibile o -1 in caso contrario.
Vedi anche: uomo accesso(2)

Funzione I: baud
Descrizione: Restituisce la velocità di trasmissione corrente della linea di comunicazione.
Sintassi: let x=baud()
Note: non corrisponde necessariamente alla velocità di connessione del modem.
Vedi anche: $baud().

Funzione I: len
Descrizione: restituisce la lunghezza di una stringa.
Sintassi: let x=len($s)
Note: "" è zero. Le stringhe attualmente hanno una lunghezza massima di
Note: 1024 caratteri. comgt non gestisce l'overflow delle stringhe
Note: affatto.

Funzione I: htime
Descrizione: restituisce centinaia di secondi dall'inizio dello script.
Sintassi: let x=htime()
Note: impostare su un valore specifico con hset.
Vedi anche: hset.

Funzione I: pid
Descrizione: restituisce il numero ID del processo corrente (comgt)
Sintassi: let x=pid()
Vedi anche: ppid(), fork

Funzione I: ppid
Descrizione: restituisce il numero ID del processo principale.
Sintassi: let x=ppid()
Note: può essere utilizzato dal bambino biforcato per rilevare il genitore
Note: processo.

Funzione I: tempo
Descrizione: restituisce il tempo in secondi dal 1 gennaio 00:00:00 1970 GMT.
Sintassi: let x=tempo()
Note: Utilizzato per calcolare le differenze orarie.
Vedi anche: $time()

Funzione I: val
Descrizione: restituisce il valore della stringa.
Sintassi: let x=val($x)
Note: String non è un'espressione; deve contenere solo [0-9]
Note: personaggi. Le versioni future di comgt saranno in grado di farlo
Note: valutare le espressioni. (Forse) (Questo è stato scritto 6
Note: anni fa.)

Funzione I: dettagliata
Descrizione: restituisce il valore dell'impostazione dettagliata.
Sintassi: let x=verbose()
Note: 0=spento, 1=acceso.

Corda funzioni
Funzione S: nome base
Descrizione: restituisce la parte basename del percorso.
Sintassi: let $x=$nomebase($p)
Note: $basename("/usr/bin/more")="altro"
Vedi anche: $nomedir().

Funzione S: baud
Descrizione: Restituisce la rappresentazione in formato stringa della velocità di trasmissione corrente.
Sintassi: let $x=$baud()
Note: Definito da "set com"
Vedi anche: baud(), set com.

Funzione S: cwd
Descrizione: restituisce il percorso della directory di lavoro corrente.
Sintassi: let $x=$cwd()
Vedi anche: CD.

Funzione S: dev
Descrizione: restituisce il percorso corrente del dispositivo di comunicazione.
Sintassi: let $x=$dev()
Note: definito dall'argomento della riga di comando "-d" o "open com"
Vedi anche: apri com.

Funzione S: nome
Descrizione: restituisce il nome della directory parte del percorso.
Sintassi: let $x=$nomedir($p)
Note: $dirname("/usr/bin/more")="/ Usr / bin"
Vedi anche: $basename().

Funzione S: env
Descrizione: restituisce il contenuto di una variabile di ambiente
Sintassi: let $x=$env("HOME")
Note: le variabili inesistenti restituiscono una stringa vuota.
Vedi anche: putenv.

Funzione S: esadecimale
Descrizione: converte il valore in una rappresentazione esadecimale
Sintassi: let $x=$hex(x)
Note: lettere a-f minuscole, senza "0x" precedente
Vedi anche: $hexu(), $oct().

Funzione S: hexu
Descrizione: converte il valore in una rappresentazione esadecimale
Sintassi: let $x=$hex(x)
Note: lettere A-F in maiuscolo, senza "0x" precedente
Vedi anche: $hex(), $oct().

Funzione S: hms
Descrizione: converte il numero di secondi in una stringa temporale
Sintassi: let $x=$hms(x)
Note: Il formato è "HH:MM:SS". Utile per i display del cronometro
Note: utilizzare con "time()", non tentare di incrementare una variabile
Note: ogni secondo utilizzando "sleep 1". (Vedi esempio di script ISP)
Note: Il formato diventa "HHH:MM:SS" dopo 99 ore, 59 minuti,
Note: Anni '59...
Vedi anche: tempo().

Funzione S: sinistra
Descrizione: restituisce la parte sinistra di una stringa
Sintassi: let $x=$sinistra($s,l)
Note: $s=stringa di origine, l=lunghezza
Note: l deve essere inferiore alla lunghezza della stringa.
Vedi anche: $right(), $mid().

Funzione S: media
Descrizione: restituisce la sezione centrale di una stringa.
Sintassi: let $x=$mid($s,s,l)
Note: $s=stringa di origine, s=inizio, l=lunghezza
Note: s deve essere inferiore alla lunghezza della stringa, l può esserlo
Note: un numero enorme (9999) per restituire il lato destro di a
Note: stringa fino alla fine. il primo carattere di una stringa è
Note: posizione 0, non 1.
Vedi anche: $right(), $left().

Funzione S: ott
Descrizione: converte il valore in una rappresentazione ottale.
Sintassi: let $x=$oct(x)
Vedi anche: $hex(), $hexu().

Funzione S: destra
Descrizione: restituisce la parte destra di una stringa.
Sintassi: let $x=$right($s,l)
Note: $s=stringa di origine, l=lunghezza
Note: l deve essere inferiore alla lunghezza della stringa.
Vedi anche: $sinistra(), $mid().

Funzione S: rpipe
Descrizione: restituisce la prima riga da un comando reindirizzato al sistema
Sintassi: let $x=$rpipe("/ bin / ls |grep miofile")
Note: non molto utile a meno che non venga utilizzato con head, tail, grep,
Note: ecc...
Vedi anche: sistema.

Funzione S: tempo
Descrizione: restituisce una stringa dell'ora locale di 24 caratteri
Sintassi: let $x=$time()
Vedi anche: tempo().
Note: L'ora è in questo formato: lunedì 8 aprile 14:21:22 1996
012345678901234567890123
1/2

Funzione S: abbassare
Descrizione: restituisce una stringa in lettere minuscole.
Sintassi: let $x=$tolower($y)

Funzione S: touper
Descrizione: restituisce una stringa in maiuscolo.
Sintassi: let $x=$toupper($y)

Test Operatori
Operatore Descrizione Esempio Risultato
= uguale se 1+2=3 sì
!= non uguale se 1+2!=3 no
<> non uguale se 1+2<>3 no
> Maggiore di se 1+3>3 sì
< Meno di se 1+3<3 no
>= Maggiore o uguale se 3>=3 sì
<= Maggiore o uguale se 2<=3 sì

Le stringhe possono essere confrontate utilizzando gli stessi operatori.

"aaa" "aaa", "Test" != "test", "Uno" = "Uno",
"A" > "a", "Fumble" "Comico"

Note: che "imposta ignorecase on" NON si applica ai confronti di stringhe.

Espressione Operatori
Operatore Descrizione Esempio Risultato
+ Addizione sia a=2+2 4
+ Concatenazione let $b="aa"+"bb" "aabb"
- Sottrazione sia e=2-5 -3
* Moltiplicazione sia f=11*2 22
/ Divisione sia g=34/11 3
& Bit-Wise AND lascia h=42&7 2
| Bit-Wise OR lascia a=42|5 47
^ XOR bit a bit lascia a = 42 ^ 7 45

Esempi di espressioni miste:

#Restituisce il numero di secondi trascorsi da 00:00:00
let $t=$time() #Scatta una foto.
let a=(val(mid$($t,11,2))*3600)+(val(mid$($t,14,2))*60)+val(mid$($t,17,2))
#Notare le serie extra di parentesi perché l'espressione comgt
Il #valutatore è cerebralmente morto.
#Ad esempio, 5-2+1 dovrebbe darti 4, giusto? Ebbene, secondo
#getvalue(), in realtà dà 2, perché lo fa in qualche modo da
#da destra a sinistra.
#Quindi per valutare correttamente 5-2+1, usa (5-2)+1. Se stai usando
#calcoli semplici a due elementi, non preoccuparti.
#5-2 ti darà 3.

#Concatenazione (Chiamate cu)
exec "cu -l "+$dev()+" -s "+$baud()"

#In una condizione di prova
if a+c > strlen($c) goto toouch

#Confronto di stringhe
lascia $t=$mid($tempo(),11,8)
if $t > "19:59:59" print "Troppo tardi per quello!\n" goto toolate
if $t < "08:00:00" print "Troppo presto!\n" vai a tooearly
if $t = "00:00:00" print "Oh Dio! È l'ora dei Twinkee!\n"

NOTO CARATTERISTICHE


Il parser getvalue(). Mi fa ridere quindi penso che lo lascerò così. -
[email protected]

AMBIENTE VARIABILI


COMGTPIN - il pin a 4 cifre della SIM da utilizzare tramite script PIN COMGTAPN - l'APN su cui scrivere
la scheda dati, utilizzata dallo script APN.

AUTORI


Daniel.Chouinard[email protected]> ha scritto l'originale dcon utilità.

Paolo Hardwick <[email protected]> aggiornato per gli ultimi compilatori, a condizione che il built-
nella funzionalità dello script e l'ho testato rispetto alle schede dati GPRS e 3G.

Martin Gregorie[email protected]> ha scritto la manpage originale per comg dal dcon
documentazione e confezionato comg per la distribuzione.

Storia
Daniel Chouinard ha scritto la maggior parte (90%) di dcon nel 1989 quando iniziò a lavorare con le app Unix
supporto tecnico principalmente tramite modem ai sistemi del cliente. Era stanco di scrivere tutte quelle cose
password e divertenti codici di addebito chiamate ogni volta che usava cu. Inoltre, l'azienda per cui lavorava
perché serviva un sistema che registrasse i tempi delle chiamate e i costi stimati. Così dcon
Sei o sette anni dopo (1996) usava pppd per connettersi al sito del suo ISP. È stato
più o meno soddisfatto chiacchierare ma ho scoperto che mancava il controllo del flusso e i controlli a risposta multipla
da "attt...". Voleva che facesse cose diverse per "nessuna portante", "nessun segnale di linea" e
"Occupato". Anche se lo pensava chiacchierare probabilmente sarebbe stato migliorato un giorno, quando lo avesse scoperto
dcon.c su uno dei suoi vecchi nastri da 45M ha provato a compilarlo sulla sua macchina Linux e, ecco e
ecco, lo ha fatto. Alla fine, ha aggiunto alcune cose (uccidi, forchetta, aspetta, 1/100 di secondo.
volte) e abbiamo lasciato le cose come stanno.

Un paio di anni fa Paul Hardwick trovò il programma, dcon 0.97 ultima modifica nel 1996.
Lo scopo di questo programma era eseguire script che controllassero le porte seriali di Linux. IL
l'implementazione era molto simile a qualcosa che aveva scritto per Windows. Comunque, piuttosto
Invece di reinventare, ha contattato l'autore, Daniel Chouinard, e gli ha chiesto il permesso di riutilizzarlo
il codice. Fortunatamente ha dato il permesso e ha chiamato un'utilità basilare ma utile comg Prima
creato. Paul non si prende alcun merito per il motore, a parte quello di averlo reso compatibile con quello odierno
compilatori. Fondamentalmente lo è dcon riconfezionato.

20 ottobre, 2006 comg(1)

Utilizza comgt online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    Firebird
    Firebird
    Firebird RDBMS offre funzionalità ANSI SQL
    e funziona su Linux, Windows e
    diverse piattaforme Unix. Caratteristiche
    concorrenza e prestazioni eccellenti
    & potenza...
    Scarica l'uccello di fuoco
  • 2
    KompoZer
    KompoZer
    KompoZer è un editor HTML wysiwyg che utilizza
    la base di codice di Mozilla Composer. Come
    Lo sviluppo di Nvu è stato interrotto
    nel 2005, KompoZer risolve molti bug e
    aggiunge una f...
    Scarica KompoZer
  • 3
    Downloader di manga gratuito
    Downloader di manga gratuito
    Il Free Manga Downloader (FMD) è un
    applicazione open source scritta
    Object-Pascal per la gestione e
    scaricare manga da vari siti web.
    Questo è uno specchio...
    Scarica il downloader manga gratuito
  • 4
    UNetbootin
    UNetbootin
    UNetbootin ti consente di creare bootable
    Unità USB live per Ubuntu, Fedora e
    altre distribuzioni Linux senza
    masterizzare un CD. Funziona su Windows, Linux,
    e ...
    Scarica UNetbootin
  • 5
    Dolibarr ERP-CRM
    Dolibarr ERP-CRM
    Dolibarr ERP - CRM è un facile da usare
    Pacchetto software open source ERP e CRM
    (eseguito con un server Web php o come
    software standalone) per le aziende,
    fondamenta...
    Scarica Dolibarr ERP - CRM
  • 6
    Client SQL SQuirreL
    Client SQL SQuirreL
    SQuirreL SQL Client è un SQL grafico
    client scritto in Java che consentirà
    per visualizzare la struttura di un JDBC
    database conforme, sfoglia i dati in
    tavoli...
    Scarica SQuirreL SQL Client
  • Di Più "

Comandi Linux

Ad