[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il presente programma, inclusa la documentazione tecnica che lo accompagna, è concesso in uso dalla Dynamica s.r.l. alle condizioni che seguono.
Il mancato invio alla DYNAMICA s.r.l. - Piazza Emilia n. 5 - 20129 Milano - del modulo allegato, debitamente firmato, importa l'automatica risoluzione della concessione in uso del presente programma.
Il programma non può essere né installato né usato contemporaneamente su più elaboratori. Ogni installazione del programma richiede una nuova copia ottenibile dalla Dynamica s.r.l. o da un suo distributore/rivenditore autorizzato.
Il dischetto (o supporto magnetico atto allo scopo) contenente il programma può essere riprodotto in copia soltanto per tutelare i dati in esso contenuti, contro perdite e deterioramenti. Il diritto di utilizzazione non è trasmissibile né cedibile a terzi salvo autorizzazione della Dynamica s.r.l. che risulti da atto scritto. Le stesse restrizioni si applicano alla documentazione tecnica, sia essa stampata su carta sia memorizzata su supporto magnetico.
Qualsiasi atto od omissione in violazione dei diritti d'autore e/o di privativa sul programma di cui la DYNAMICA s.r.l. è titolare esclusiva, ivi inclusa la riproduzione non autorizzata del programma e l'alienazione e/o l'acquisizione, anche gratuite, di copie non autorizzate dello stesso, sarà perseguita legalmente ai sensi della legge, 22 Aprile n. 633, cos`ì come modificata dal D.L. 29 Dicembre 1992 n. 518.
La violazione delle clausole che precedono comporta automaticamente la risoluzione, senza preavviso, del diritto di utilizzo sia del software sia della documentazione e conseguentemente annulla ogni diritto alla partecipazione a qualsiasi forma di aggiornamento del programma.
L'assistenza tecnica sarà fornita ai soli possessori di copie originali del programma, nei limiti e nei termini da stabilirsi sulla base degli accordi contrattuali complementari alla fornitura del programma effettuata sia a mezzo distributori/rivenditori sia direttamente.
Le nuove versioni del programma potranno essere richieste dagli utenti già in possesso del programma ad un prezzo di favore. Tale richiesta dovrà pervenire alla Dynamica s.r.l. nei tempi e nei modi da essa prestabiliti.
La Dynamica s.r.l. garantisce che il materiale da essa fornito si trova nelle migliori condizioni di impiego e si obbliga a sostituire le parti eventualmente difettose previa loro restituzione e a fronte di richiesta per iscritto da effettuarsi entro 7 gg. dal verificarsi del difetto.
È esclusa qualunque altra responsabilità da parte della Dynamica s.r.l. per ogni altro danno, diretto o indiretto, conseguente all'impiego degli oggetti forniti (ivi inclusi programmi, supporti magnetici e documentazione) che sia diverso o più ampio della sostituzione del materiale stesso, ai sensi del paragrafo che precede.
La Dynamica s.r.l. non assicura l'idoneità del materiale fornito per impieghi specifici o con programmi particolari, salvo esplicito impegno scritto.
In ogni caso, al presente accordo si applicano le norme vigenti nella nazione in cui il programma è stato acquistato.
Salvo diversa deroga di competenza stabilita in specifico contratto, per controversie ove la Dynamica s.r.l. sia convenuta è competente il Foro di Milano.
Nelle controversie promosse dalla Dynamica s.r.l., alla stessa è data facoltà di ricorrere sia al proprio Foro sia a quello dell'utente, a propria insindacabile scelta.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Funzione primaria del pacchetto di comunicazione Cux (Communication Utility eXtended) è di consentire la realizzazione di sistemi di comunicazione operanti attraverso linee commutate o dedicate asincrone (ad esempio RS232 o X28).
Cux può essere usato sia in modo interattivo presentando un prompt di comando sia in modo batch eseguendo un programma memorizzato in un file. In ambedue i casi si hanno a disposizione i medesimi comandi. Inoltre molte delle operazioni condotte da Cux possono essere direttamente impostate dalla linea di comando.
Progettato per la massima semplicità d'uso, Cux richiede peraltro un periodo di studio e prove al fine di poter sfruttare al meglio tutte le sue capacità. L'approccio consigliato è quello di mettere in opera in primo luogo una connessione locale (tra due computer) via seriale RS232 con cui sperimentare i diversi comandi, in seguito aggiungere gli eventuali modem e, dopo essersi accertati del corretto funzionamento dell'installazione, procedere alla realizzazione dell'applicazione in cui il programma dovrà operare.
Un'applicazione per Cux è composta da un insieme di script (o file batch in MsDos) e di programmi Cux. Un programma Cux è un insieme di file contenenti comandi.
La realizzazione di applicazioni telematiche con Cux richiede, oltre allo studio del programma stesso, una profonda analisi dell'organizzazione di tutto il servizio che si intende realizzare. Inoltre occorre che il sistemista proceda ad uno studio delle componenti di base dei servizi telematici e dei sistemi hardware e software coinvolti.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La nuova release 3.8 di Cux presenta alcune novità importanti che ne fanno uno strumento di comunicazione se possibile ancor più duttile e versatile: il notevole ampliamento del linguaggio, la possibilità di eseguire comandi remoti in ambiente MsDos e l'introduzione di un motore fax sono sicuramente gli aspetti più evidenti delle novità apportate al pacchetto.
Per quanto riguarda il linguaggio, occorre sottolineare in
primo luogo l'introduzione di variabili e macro: la
visibilità delle variabili di environment, l'introduzione di variabili
predefinite e la possibilità per l'utente di definire nuove variabili,
costituiscono ora un punto di forza del pacchetto, permettendo la
creazione di applicazioni automatizzate generalizzabili e
personalizzabili in maniera semplice ed efficace. L'uso delle macro,
inoltre, semplifica ulteriormente le poche operazioni manuali richieste
nelle applicazioni automatizzate cos`ì prodotte.
Altro aspetto rilevante delle modifiche apportate al linguaggio è dato
dall'ampliamento dei comandi: da quelli di sistema (più che
raddoppiati) a quelli per il controllo dell'elaborazione batch
(praticamente raddoppiati). Ma anche la classe dei comandi per la
gestione dei protocolli è stata ampliata, aumentando di circa un terzo
i comandi disponibili ed introducendo la gestione diretta interna di
altri protocolli, quali Kermit e Zmodem.
Ancora, la possibilità di eseguire comandi remoti in ambiente
MsDos rappresenta un'ulteriore adeguamento di Cux alle
aspettative di un completo prodotto di comunicazione.
Ma attenzione: il supporto all'esecuzione di comandi remoti in ambiente
MsDos rappresenta un add on da richiedere esplicitamente
in quanto non viene fornito col pacchetto base.
Altro add on importante ` il modulo FAX, ovvero il motore fax per la ricezione e la spedizione di fax in formato G3 sia in alta sia in bassa risoluzione. Anche tale modulo è da richiedere esplicitamente in quanto non fa parte del pacchetto base.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il sistema operativo MsDos è un sistema intrinsecamente monotasking e perciò tutti gli usi di Cux sono strettamente legati al fatto che il programma operante è anche l'unico ad avere l'intero controllo del sistema. In generale il quadro operativo su una stazione MsDos vede Cux attivo in risposta o in chiamata, e a seguito della connessione è possibile eseguire in successione i diversi comandi (si veda Uso di Cux in modalità batch) trasferendo momentaneamente il controllo ad applicazioni esterne per processare (o preparare) file da inviare o ricevere. Un caso particolare è rappresentato dal comando `REMOTE' che consente la ridirezione della linea di comando propria dell'MsDos; anche in questo caso il controllo viene trasferito al sistema operativo, salvo il fatto che Cux resta operante per ciò che riguarda la gestione della linea di comunicazione. L'uso previsto, e consigliato, è che le stazioni MsDos vengano utilizzate al più come satelliti (eventualmente remoti) di sistemi Unix/Xenix in quanto questi ultimi consentono un miglior sfruttamento del programma facendolo, per esempio, operare su più linee contemporaneamente. Nulla vieta comunque di usare Cux come strumento per collegare tra loro sistemi MsDos per il trasferimento di file. Discorso a parte merita invece l'eventuale uso di Cux con sistemi di windowing e gestione delle sessioni.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La disponibilità di un sistema con capacità di operare in modo multitasking amplia notevolmente le possibilità e le varianti di messa a punto di servizi con il prodotto. Inoltre Cux è perfettamente allineato con le caratteristiche di modularità possedute da tutti i programmi che compongono la base operativa della famiglia di sistemi operativi Unix/Xenix. Ad esempio Cux risulta perfettamente integrabile nel sistema di stampa (spooler), può essere incluso nelle tabelle temporali di cron o può essere attivato
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A partire dagli usi di base sopra elencati è possibile costruire combinazioni complesse di operazioni. All'utente che non ha mai avuto esperienze con programmi di comunicazione si ricorda però che Cux è solo il componente di base necessario alla realizzazione di servizi. La progettazione, l'implementazione e la manutenzione di sistemi informativi complessi richiede un'opera di pianificazione e studio che va ben oltre la conoscenza del prodotto. L'approccio sicuramente più profiquo è quello di dedicare particolare attenzione allo studio pratico del problema, con una adeguata sperimentazione del pacchetto.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
La procedura di installazione di Cux è quella standard dei prodotti Dynamica, ovvero richiede di estrarre i dati dal supporto e di eseguire un programma di inizializzazione e configurazione, in questo caso denominato `init.cux'. Tale procedura è automatizzata tanto per gli ambienti MsDos e Os/2, quanto per quelle versioni dell'ambiente Unix/Xenix in cui sia disponibile il programma di sistema `custom'.
Per maggiori informazioni sulla procedura di installazione si veda il capitolo Installazione nelle appendici.
Ad installazione avvenuta digitare al prompt del sistema operativo utilizzato il seguente comando seguito da un <ENTER>:
cux |
CUX> |
Per maggiori dettagli sull'uso del programma Cux e sui suoi comandi si vedano i capitoli Opzioni sulla linea di comando e Comandi.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cux può essere chiamato scrivendo dopo il nome una serie di parametri. In questo modo è possibile alterare il comportamento di default del programma (consultate la sezione `Default' di questo capitolo). È consigliabile, qualora una certa configurazione debba essere ripetuta molte volte, produrre dei file batch in cui sia codificata in modo opportuno e definitivo la linea di comando completa di opzioni.
Oppure, ma solo a partire dalla versione 3.8 del prodotto, esiste la
possibilità di elencare le opzioni desiderate nel file `cux.arg'
il quale deve essere situato o nella directory `/etc/default' o
nella directory corrente (quella dalla quale viene lanciato Cux).
La sintassi di tale file richiede che le opzioni siano elencate una per
riga e senza spazi tra l'identificativo dell'opzione e il parametro,
oppure su due righe, e in tal caso su una riga deve comparire
l'identificativo dell'opzione e sulla riga seguente il valore
dell'opzione alla quale l'identificativo si riferisce. Sono ammesse
eventuali linee di commento, le quali però devono obbligatoriamente
iniziare con il carattere `#'. Il file `cux.arg' non può
contenere più di 100 righe, a parte le righe di commento che non hanno
limiti. Questo significa che adottando il primo formato (opzioni su una
riga) possono essere impostate al più 100 opzioni, mentre adottando il
secondo formato ne possono essere impostate al più 50.
I seguenti due esempi sono equivalenti ed illustrano la possibilità di
utilizzare indifferentemente uno dei due formati indicati:
Esempio 1 # impostazione linea -prtty00 # impostazione baud -bd19200 # impostazione lunghezza record -LE1024 # impostazione finestratura -WI32 # impostazione ritardo interpacchetto -PK1 # impostazione protocollo -ptZMODEM # impostazione modem -moHAYES_COMP # impostazione numero telefonico -nu1234567890 |
Esempio 2 # impostazione linea -pr tty00 # impostazione baud -bd 19200 # impostazione lunghezza record -LE 1024 # impostazione finestratura -WI 32 # impostazione ritardo interpacchetto -PK 1 # impostazione protocollo -pt ZMODEM # impostazione modem -mo HAYES_COMP # impostazione numero telefonico -nu 1234567890 |
A partire dalla versione 4.0 è possibile indicare con l'opzione `-ARG' un file generico, non necessariamente di nome `cux.arg' e non necessariamente posto nella directory `/etc/default' o nella directory corrente. In questo caso non deve essere specificata nessun'altra opzione.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sulla linea di comando è possibile specificare una serie di opzioni che permettono di configurare il programma per il tipo di connessione desiderata. Queste opzioni si possono dividere nelle seguenti tre classi:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Le opzioni disponibili per questa classe sono esclusive; ciò significa che è possibile dare sulla linea comando una e solamente una tra le opzioni che sono descritte qui di seguito:
-aa
-adNumero
-ca
-cc
-cdNumero
-fcFile
-ma
-md
Le opzioni `-aa', `-ad', `-cc', `-ma' e `-md' devono venire obbligatoriamente utilizzate con una delle opzioni descritte nella sezione `Trasmissione immediata'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Le opzioni disponibili per questa classe sono esclusive; ciò significa che è possibile dare sulla linea comando una e solamente una tra le opzioni che sono descritte qui di seguito:
-frFile
-ftFile
-xrFile
-xtFiles
Cux riconosce i due metacaratteri `*' e `?', ma in ambiente Unix/Xenix è necessario che siano posti tra i doppi apici (`"'), come nell'esempio riportato qui sotto.
cux -xt"*.c" |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
-ARGFile
-bN
-bdBaud
-diVideo
-ecN
-fsFile
-lfN
-loLogfile
-luByte
-l2Byte
-moModem
-mu
-nuNumero
prefisso/numero |
-pParità
n nessuna (default) e even o odd m mark s space |
-prPorta
-ptProtocollo
CUXTXT
CUXBIN
CUXENC
XMODEM
XMODEMC
XMODEM1K
XMODEM1KC
YMODEM
YMODEM1K
YMODEMC
YMODEM1KC
ZMODEM
KERMIT
XON
XOFF
-rm
-stN
-un
-Bl
-Bz
-CK
-CR
-DT
-EC
-EX
-II
-JS
-KCtx_start,tx_stop,rx_start,rx_stop
-KK
-LERecord
-LN
-LPPrinter
-MY
-NL
-NT
-PKMillisec
-SA
-SD
-TITick
-TSString
-WIFinestra
-WO
-XX
-ZZ
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Per default il programma assume uno stato equivalente alla sua chiamata con i seguenti parametri:
cux -bd9600 -b8 -st1 -pn -ec0 -lf0 -ptcuxtxt |
-bd9600
-b8
-st1
-pn
-ec0
-lf0
-ptcuxtxt
Inoltre, se possibile, vengono determinati in maniera automatica la porta di comunicazione, il tipo della scheda video e il tipo di modem utilizzato.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il programma ritorna un errorlevel uguale a zero se termina correttamente, uguale a uno in caso di errore di chiamata, uguale a quattro in caso di terminazione forzata di un file batch (cfr. opzione `-EX') e uguale a 5 in caso di errore di esecuzione di un batch (cfr. le istruzioni `GOTO', `GOTONUM' e `JUMP' nel capitolo Comandi). Inoltre è possibile specificare da modo comandi o in un file batch un diverso livello di errore grazie ai comandi `BYE', `EXIT' e `QUIT' (cfr. il capitolo Comandi).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In questo capitolo vengono spiegati tutti i comandi del Cux che possono venire specificati in interattivo o in un file batch. Quando si lavora interattivamente si avrà un prompt come nell'esempio che segue e si dovrà digitare i comandi manualmente.
CUX> |
Attenzione: a partire dalla release 3.8, il linguaggio
di Cux dispone anche di variabili e macro.
Pertanto, in tutto il presente capitolo, ogniqualvolta ci si riferisce a
comandi o a parametri di comandi, si sottintende la possibilità che si
tratti di variabili o di macro alle quali è stato assegnato come
valore quello, rispettivamente, di un comando o di un parametro.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ogni comando di questo capitolo verrà spiegato utilizzando il seguente formato:
Ogni esempio avrà il seguente formato:
CUX> COMANDO ( Commento ) |
In ambienti Unix/Xenix è possibile utilizzare il metacarattere tilde (`~') con lo stesso significato del processore di comandi `csh' o `ksh'. Con questo metacarattere è possibile omettere la `home-directory' dell'utente che sta utilizzando il programma. Cos`ì ad esempio:
# cd /u/utente/prova/prova2 |
# cd ~/prova/prova2 |
Attenzione: tutti i comandi sono stati scritti in maiuscolo per motivi estetici, ma in realtà l'uso del maiuscolo o del minuscolo è indifferente nella digitazione dei comandi, delle variabili e delle macro.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
I comandi di Cux possono essere raggruppati nelle seguenti classi:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `BYE' è identico ai comandi `EXIT' e `QUIT'.
CUX> BYE ( Termina il programma ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `EXIT' termina le operazioni e, se specificato in un file batch, termina il file batch e anche il programma. È possibile specificare il tipo di errorlevel indicando il numero dopo il comando. Se non viene specificato nessun numero, tale comando rende un errorlevel uguale a zero.
CUX> EXIT 2 ( Termina il programma ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Seleziona il file da trasmettere, ricevere, cancellare o utilizzare per salvare la trasmissione conversazionale, altrimenti nei comandi dove è richiesto un nome di file viene utilizzato il nome di default (`cux.txt').
CUX> PROTOC CUXENC ( Definisce il protocollo ) CUX> FILE cux386.exe ( Cambia il nome file di default ) CUX> REC ( Riceve cux386.exe ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specificando questo comando verrà mostrato sullo schermo l'elenco dei comandi disponibili con una breve spiegazione del comando. È possibile scrivere semplicemente `?' al posto di `HELP'.
CUX> HELP ( Richiesta di aiuto ) Elenco dei comandi disponibili ALINE : Risposta manuale ANSWER : Risposta automatica : : XSEND : Invio di più file Battere <enter> per continuare CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Abilita o disabilita la generazione dei file di log. Questi file hanno come nome di default `cuxlog.RTX'. L'abilitazione si ottiene facendo seguire a `LOG' il parametro `ON', mentre la disabilitazione si ottiene facendo seguire il parametro `OFF'. È anche possibile scegliere il nome del file di log mettendone il nome al posto del parametro `ON', come nell'esempio che segue:
CUX> LOG ON ( Abilita la generazione del file di log ) .......... ( con nome `cuxlog.RTX' ) CUX> LOG OFF ( Disabilita la generazione del file di log ) .......... CUX> LOG infos ( Abilita la generazione del file di log ) .......... ( con nome `infos.RTX' ) |
Per la struttura del file di log si veda l'appendice Il file di log.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Elimina l'eco dei comandi a video e tutte le segnalazioni. Questo comando è utile quando si lavora in modalità batch per non visualizzare tutta la sequenza delle operazioni.
CUX> MUTE ON ( Abilita il mute ) CUX> REC ( Riceve un file ) CUX> MUTE OFF ( Disabilita il mute ) CUX> EXIT ( Termina il programma ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta il prompt del programma alla stringa passata come parametro. Per default il prompt è la stringa:
CUX> |
CUX> PROMPT "CUX:$HOST> " ( Imposta il nuovo prompt ) CUX:AIX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `QUIT' è identico ai comandi `BYE' e `EXIT'.
CUX> QUIT ( Termina il programma ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' abilita la visualizzazione delle istruzioni decodificate, le quali vengono visualizzate su standard error. L'abilitazione della visualizzazione si ottiene facendo seguire a `SHOW' il parametro `ON', mentre la disabilitazione della visualizzazione si ottiene facendo seguire il parametro `OFF'. Da sottolineare che tale visualizzazione è indipendente dall'abilitazione dell'eco dei comandi a video (cfr. comando `MUTE'), nel senso che è possibile abilitarla anche se il programma è in modalità muta.
Se è stata specificata l'opzione `-SD' (cfr. capitolo Opzioni) viene visualizzata anche la data e l'ora accanto ad ogni istruzione.
CUX> MUTE ON ( Disabilita l'eco dei comandi a video ) CUX> SHOW ON ( Abilita l'eco delle istruzioni decodificate ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Visualizza lo stato del programma. L'output del comando è il seguente:
CUX> BAUD 19200 ( Definisce il baud rate ) CUX> PROTOC cuxbin ( Specifica il protocollo ) CUX> FILE prova.txt ( Specifica il nome del file ) CUX> REPEAT 1 ( Numero di ritrasmissioni ) CUX> STAT ( Visualizza lo stato del programma ) |
Cux: stato del programma - Versione 3.8 Cuxpath: File: prova.txt Log: cuxlog Protocollo: CUXBIN Porta: ttyF00 AutoLf: OFF Cmdsave: OFF Lunghezza record: 128 Baud: 19200 Autosave: OFF Dtr: OFF Window: 0 Parity: NONE CrLf: OFF Interr: ON Pkdelay: 0 Bit: 8 Duplex: FULL Mute: OFF Ctrl-X: 3 Stop: 1 Echo: OFF Newcux: ON Ritrasmissioni: 1 CtsRts: OFF Print: OFF Show: OFF Convers.nibble: OFF Buffer: 2048 Stdout: OFF Crypt: OFF Path Ymodem: OFF Padchar: 0 Debug: 0 Modem: HAYES Padnum: 0 Log: OFF Numero: Trasm.delay: 0 Errore: 0 Registri: 12 Trasm.trasparente: OFF Return: 0 Ring: 1 Tabulat: 8 Modemctl: OFF Contatore: 0 Timeout: OFF Connesso: OFF CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando riporta a video le stringhe assegnate alle capability di gestione del modem correntemente impostato. La prima colonna corrisponde alla capability definita nel file `modmcap', mentre l'ultima corrisponde al valore associato alla capability in questione. Per maggiori informazioni consigliamo di consultare l'appendice Il file Modmcap.
CUX> WORD Elenco parametri di configurazione (HAYES) Ok = OK M0 = CONNECT M3 = CONNECT 300 : : : : : : E1 = 315 E2 = 323 E3 = 324 E4 = 12 CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Permette di aggiungere una riga nel file di log corrente passando i tre parametri necessari: stato, numero e stringa.
S start O ok E error A abort X altro |
CUX> WRLOG O 345 "stringa di prova" .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specifica il baud rate. Sono valori validi:
50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400.
Solo per Unix/Linux sono supportati anche i seguenti valori:
57600, 115200, 230400.
Solo per ambiente MsDos sono considerati validi anche i seguenti valori:
2000, 3600, 7200, 23040, 28800, 57600, 115200.
Per Os/2 sono considerati validi solo questi valori:
110, 150, 300, 600, 1200, 2400, 4800, 9600, 19200.
CUX> BAUD 19200 ( Definisce il baud rate ) CUX> PARITY none ( Specifica il tipo di parità ) CUX> BIT 8 ( Numero di bit per parola ) CUX> PORT tty2g ( Porta di comunicazione da usare ) CUX> CONV ( Entra in conversazionale ) .......... CUX> EXIT ( Termine operazioni ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Definisce il numero di bit per la word. Modificatori validi sono i seguenti:
5 Caratteri da 0 a 31 6 Caratteri da 0 a 63 7 Caratteri ASCII da 0 a 127 8 Caratteri da 0 a 255 |
CUX> BIT 7 ( Specifica le dimensioni della word ) CUX> PROTOC YMODEM ( Definisce il tipo di protocollo ) CUX> SEND ( Spedisce un file ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Invia un break sulla linea, come nel seguente esempio:
CUX> BIT 8 ( Definisce la word ) CUX> PARITY NONE ( Definisce il tipo di parità ) CUX> BAUD 9600 ( Specifica il baud rate ) CUX> PORT tty2g ( Specifica la porta da utilizzare ) CUX> BREAK ( Manda un break sulla linea ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Apre la linea di comunicazione indicata come parametro, mettendola in bypass con la linea correntemente aperta. Sostanzialmente il comando permette di realizzare un passante grazie al quale è possibile trasferire i dati in arrivo dalla linea principale alla linea in bypass, e i dati in arrivo dalla linea in bypass alla linea principale.
Se è abilitata la produzione del file di log (cfr. comando `LOG') vengono salvati in tale file tutti i dati trasferiti, prefiggendoli con `<' o `>', a seconda della linea di provenienza. Se i dati non sono caratteri ASCII visualizzabili vengono scritti gli equivalenti valori esadecimali.
È possibile interrompere il passante per mezzo del tasto <DEL> o tramite l'istruzione `TRAP'.
CUX> PORT tty2f ( Specifica la porta da utilizzare ) CUX> BYPASS tty2g ( Specifica la seconda porta ) .......... |
Attenzione: tale comando imposta il flag di errore (cfr. i comandi `IFER' e `IFNOER') in caso di errore nell'apertura della linea o in caso di caduta di portante ma solo se è abilitato il controllo della portante stessa (cfr. il comando `MODEMCTL'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `CLEAR' reinizializza il buffer di seriale eliminando tutti i caratteri eventualmente presenti. Si consiglia di usare questa opzione qualora durante delle operazioni di trasferimento di dati vi fossero delle difficoltà dovute a disturbi di linea.
.......... CUX> PROTOC XMODEM ( Protocollo da utilizzare ) CUX> CLEAR ( Pulizia del buffer di seriale ) CUX> FILE pippo.txt ( Imposta il file ) CUX> SEND ( Lo spedisce ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Chiude la porta correntemente aperta. Per impostare una nuova porta occorre utilizzare il comando `PORT'.
CUX> PORT tty00 ( Imposta la porta da utilizzare ) CUX> CONV ( Entra in conversazionale ) .......... CUX> CLOSE ( Chiude la porta corrente ) CUX> PORT tty01 ( Imposta una nuova porta da utilizzare ) CUX> FILE pippo.txt ( Imposta il file ) CUX> SEND ( Lo spedisce ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Abilita o disabilita il protocollo di handshake hardware Cts/Rts.
CUX> CTS ON ( Abilita il protocollo Cts/Rts ) .......... CUX> CTS OFF ( Disabilita il protocollo Cts/Rts ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `DUMP', disponibile solo per ambiente MsDos, permette di visualizzare sullo schermo il contenuto del buffer di comunicazione in formato ASCII, mentre i caratteri speciali vengono visualizzati con i simboli standard (ad esempio <NUL> per lo 0).
CUX> DUMP ( Visualizza il buffer di comunicazione ) ......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `DUMPOLD', disponibile solo per ambiente MsDos, permette di visualizzare sullo schermo il contenuto del buffer di comunicazione già scaricato nell'identico formato del comando `DUMP'.
CUX> DUMPOLD ( Visualizza il buffer di comunicazione ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specifica le dimensioni in byte del buffer di input di comunicazione, e
può essere un qualsiasi valore compreso tra 128 e 65535. Deve però
essere almeno il doppio della lunghezza del record del protocollo scelto
(cfr. comando `LENREK').
I seguenti protocolli forzano la lunghezza del record a 1024 byte, e
di conseguenza occorre impostare `MAXBUF' ad almeno 2048 byte (che
corrisponde al default):
XMODEM1K
YMODEM1K
XMODEM1KC
YMODEM1KC
CUX> LENREK 512 ( Specifica la lunghezza del record ) CUX> PROTOC XMODEM1K ( Definisce il tipo di protocollo ) CUX> MAXBUF 127 ( Definisce le dimensioni del buffer ) Buffer sottodimensionato rispetto al record Lunghezza buffer non accettabile CUX> MAXBUF 1024 ( Definisce le dimensioni del buffer ) Buffer sottodimensionato rispetto al record CUX> MAXBUF 2048 ( Definisce le dimensioni del buffer ) CUX> SEND ( Spedisce un file ) ......... |
Nel caso di linee Tcp/Ip imposta il buffer associato alla socket aperta.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Specifica la parità. Valori validi sono:
CUX> BIT 8 CUX> PARITY NONE ( Definisce il tipo di parità ) .......... CUX> PARITY MARK ( Definisce il tipo di parità ) Errore di Ioctl CUX> BIT 7 ( Specifica le dimensioni della word ) CUX> PARITY MARK ( Definisce il tipo di parità ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Seleziona la porta di comunicazione indicata come parametro fra quelle elencate ed abilitate nel file `sercap'.
CUX> PORT COM1 ( Seleziona la porta da utilizzare ) ........ |
Le socket sono sostanzialmente un'interfaccia per i programmi applicativi al livello di trasporto di una rete che utilizza la suite di protocolli Tcp/Ip.
Tramite le socket è quindi possibile realizzare connessioni e comunicazioni non seriali ma di rete. Una delle caratteristiche di tali comunicazioni è l'implementazione di uno schema rigido in cui ogni estremo della connessione può assumere solo uno di due modi operativi prefissati, server o client, ciascuno caratterizzato dall'esecuzione di una ben precisa serie di operazioni. Si parla perciò di processo server o processo client a seconda della modalità operativa della connessione stabilita dal processo in questione. Un processo server opera in ascolto su un canale di comunicazione, accettando richieste quando queste sono rilevate. Un processo client si connette con un processo server su un canale di comunicazione noto a priori.
N.B: occorre precisare una differenza di terminologia che può ingenerare confusione: mentre in questo manuale si usano indifferentemente i termini porta e linea per indicare una linea di comunicazione quale definita nel file `sercap', nel mondo del networking si intende generalmente per port l'indirizzo numerico, ovvero un identificativo, di un servizio di rete.
Per effettuare una connessione di rete via socket occorre dunque:
Nel seguente esempio si vuole effettuare una connessione di rete via socket in modo client collegandosi con l'host il cui indirizzo internet è 172.16.1.1 sul servizio (port) 3005. Si noti l'utilizzo della porta `sercap' `TCP_C'.
CUX> PORT TCP_C 3005 172.16.1.1 ........ |
CUX> PORT TCP_S 3005 ........ |
CUX> PORT TCP_C 23 ........ |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Attende una stringa sulla linea di comunicazione (tipicamente inviata con il comando `STRING') visualizzandola a video. Il comando può essere opzionalmente seguito da uno o due parametri, per indicare un tempo massimo di attesa (espresso in secondi) e/o una stringa specifica da attendere. Al ritorno del comando la variabile predefinita `WORD' conterrà la stringa ricevuta.
Inoltre, la stringa da attendere, se indicata, può essere racchiusa tra una coppia di doppi apici `"'. Se la stringa non viene racchiusa tra una coppia di doppi apici il programma assume implicitamente che la stringa sia terminata dal carattere `CR'. Se invece la stringa da attendere viene racchiusa tra una coppia di doppi apici il programma attende esattamente la stringa specificata, senza il carattere terminatore `CR'. In questo secondo caso se la stringa termina con un `CR', tale carattere deve essere esplicitamente specificato all'interno della stringa stessa. Se sono usati i doppi apici sono infatti ammessi anche dei caratteri speciali, tra i quali appunto il `CR'. Per la sintassi della stringa tra apici vedere il comando `STRING'.
Il comando senza parametri determina l'entrata nello stato di ricezione illimitata di una stringa qualsiasi, purché tuttavia terminata dal carattere `CR'. In tal caso il comando ritorna solo se e quando viene ricevuto il carattere `CR'.
CUX> RSTRING ( Attesa illimitata di una stringa qualsiasi ) |
CUX> RSTRING 10 ( Attesa di 10 secondi di una stringa qualsiasi ) CUX> RSTRING ok ( Attesa illimitata della stringa 'ok\r' ) CUX> RSTRING "10" ( Attesa illimitata della stringa '10' ) |
CUX> RSTRING 10 ok ( Attesa di 10 secondi della stringa 'ok\r' ) CUX> RSTRING 10 "10" ( Attesa di 10 secondi della stringa '10' ) |
CUX> RSTRING esempio,di,ricezione,multivia ricezione CUX> MESG $WHICH 3 CUX> MESG $WORD ricezione |
Se è stato disabilitato l'eco a video dei comandi (cfr. il comando `MUTE'), il comando `RSTRING' non visualizza i dati ricevuti. Tuttavia se viene attivata la modalità di salvataggio tutto ciò che viene ricevuto fino al ritorno del comando viene salvato su file (cfr. il comando `SAVE').
A partire dalla versione 3.8b il comando `RSTRING' risente anche dell'impostazione dell'eco locale (cfr. il comando `ECHO'): se questo è abilitato (`ECHO'=`on'), il comando `RSTRING' scrive sulla linea di comunicazione ogni carattere ricevuto dalla linea stessa.
A partire dalla versione 4.0 di Cux tale comando può terminare con errore, quindi impostando il flag di errore (cfr. i comandi `IFER' e `IFNOER'), anche in caso di caduta di portante.
In ogni caso e qualsiasi sia la forma con cui è usato il comando, è possibile terminare l'attesa in interattivo premendo il tasto <DEL>. In tal caso il comando ritorna con il flag di errore impostato (cfr. i comandi `IFER' e `IFNOER').
Altra possibiltà per l'interruzione dell'attesa è data dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando permette di impostare il numero di bit di stop. I valori accettabili sono 1 (default) o 2.
CUX> STOP 2 ( Imposta i bit di stop ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Con questo comando viene mandata una stringa terminata da un `CR' sulla linea di comunicazione. Se la stringa è racchiusa tra doppi apici (`"') sono ammessi i seguenti caratteri speciali:
\r CR \n LF \b BACKSPACE \g BELL \l FORMFEED \\ \ \" " \OOO caratteri speciali, dove OOO rappresenta qualunque numero ottale. |
CUX> STRING "In questo caso il 'CR' viene inviato \r" CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mette nel buffer di comunicazione il carattere indicato come parametro o un `NUL' se non è indicato alcun parametro. È possibile indicare come parametro anche un carattere speciale, nel qual caso sono seguite le stesse regole del comando `STRING' (cfr.) sui caratteri ammessi. Nel seguente esempio si suppone di ricevere dalla linea come primo carattere una `A':
CUX> RSTRING "A","B","C","D" CUX> GOTONUM L_ERR,L_A,L_B,L_C,L_D .......... CUX> LABEL L_A CUX> UNGET "A" CUX> CALL batch_a .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sblocca l'Xon/Xoff sulla linea in input, ovvero simula l'arrivo dalla linea di comunicazione del carattere di Xon che in genere è il carattere <CTRL><Q>.
.......... CUX> XOFF .......... |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `XRSTRING' è simile al comando `RSTRING' con la differenza fondamentale che invece di attendere la ricezione di una stringa inviata via `STRING' attende la ricezione di un blocco di dati inviato dal comando `XSTRING'.
I parametri accettati da questo comando sono due: il primo indica il tempo massimo (espresso in secondi) entro il quale deve giungere la stringa attesa (superato questo tempo il comando uscirà impostando il flag di timeout); il secondo rappresenta la stringa attesa. Entrambi i parametri sono opzionali; unica attenzione va prestata al timeout che, se presente, deve essere il primo parametro specificato.
Se la stringa attesa viene passata al comando racchiusa tra doppi apici, il comando non si aspetta il carattere `CR' di terminazione. Tale carattere, in questo caso, dovrebbe essere specificato esplicitamente all'interno della stringa (cfr. `STRING').
È possibile terminare l'attesa di ricezione in interattivo tramite il tasto <DEL>.
Mentre la condizione per un'uscita corretta del comando `RSTRING' è la ricezione di una qualunque sottostringa non vuota della stringa indicata come parametro, la condizione per un'uscita corretta del comando `XRSTRING' è la ricezione di una sottostringa iniziale non vuota della stringa specificata. Ad esempio, la seguente ricezione via `RSTRING' riesce:
Sistema remoto CUX> STRING "A-UNO-B" Sistema locale CUX> RSTRING "UNO" |
Sistema remoto CUX> XSTRING "A-UNO-B" Sistema locale CUX> XRSTRING "UNO" |
Sistema remoto CUX> XSTRING "UNO-B" Sistema locale CUX> XRSTRING "UNO" |
Il comando `XRSTRING' risulta utile qualora si voglia costruire un meccanismo di identificazione equivalente al login in ambienti Unix/Xenix. Quello che segue è un tipico esempio di utilizzo di tale comando.
...... CUX> FILE xrstring.txt ( Inizializzazione file ) CUX> SAVE ON ( Inizio memorizzazione su file ) CUX> XRSTRING 60 ( Attende una stringa ) CUX> SAVE OFF ( Termine salvataggio su file ) CUX> IFOUT BATCH TERMINE.CUX ( Per timeout esegue un batch ) ...... |
Attenzione: lo stato di uscita del comando `XRSTRING' influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') se viene interrotto tramite il tasto <DEL>, e influisce sul valore del flag di timeout (cfr. i comandi `IFOUT' e `IFNOOUT') se esce per timeout.
È anche possibile che l'attesa venga interrotta dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
Analogamente al comando `RSTRING', a partire dalla release 3.8 di Cux è stata introdotta la ricezione multivia anche per il comando `XRSTRING', con sintassi e modalità del tutto analoghe a quelle descritte nel caso del comando `RSTRING'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Con questo comando viene mandata una stringa terminata da un `CR' sulla linea di comunicazione. A differenza del comando `STRING' non viene trasmessa come stringa ma come blocco controllato di dati. Questo significa che mentre il comando `STRING' si cura di inviare una stringa, il comando `XSTRING' si cura che la stringa inviata venga ricevuta. In altri termini, il comando `STRING' ritorna dopo aver inviato la stringa sulla linea di comunicazione, mentre il comando `XSTRING' ritorna solo dopo che la stringa è stata ricevuta.
I parametri accettati da questo comando sono due: il primo indica il tempo massimo (specificato in secondi) entro il quale si dovrà riuscire ad inviare la stringa (superato questo tempo il comando uscirà con errore); il secondo rappresenta la stringa da inviare. Entrambi i parametri sono opzionali; unica attenzione va prestata al timeout che, se presente, deve essere il primo parametro specificato. Inoltre vi è una limitazione sulla lunghezza della stringa che non può superare i 128 caratteri.
Se la stringa da inviare viene passata al comando racchiusa tra doppi apici, non sarà terminata automaticamente dal carattere `CR'. Tale carattere, in questo caso, dovrebbe essere specificato esplicitamente all'interno della stringa (cfr. `STRING').
...... CUX> XSTRING 60 "START" ( Invia la stringa 'START'. ) ( Il comando deve avere ) ( successo entro 60 secondi. ) CUX> IFER GOTO ERRORE ( Su errore salta alla label. ) CUX> CONV ( Entra in conversazionale. ) ...... |
Attenzione: lo stato di uscita del comando `XSTRING' influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') se viene interrotto tramite il tasto <DEL>, e influisce sul valore del flag di timeout (cfr. i comandi `IFOUT' e `IFNOOUT') se esce per timeout.
Come nel caso del comando `XRSTRING', anche nel caso del comando `XSTRING' è possibile che l'attesa venga interrotta dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Connette la linea in risposta (answer) senza attendere gli squilli: in pratica esce dalla modalità comandi per entrare in modalità dati e attende che si connetta un modem.
CUX> BAUD 9600 ( Definisce il baud rate ) CUX> PORT ttya2 ( Definisce la porta da utilizzare ) CUX> HANGUP ON ( Aggancia la linea telefonica ) CUX> MESG ABBASSARE RICEVITORE ( Messaggio ) CUX> ALINE ( Si connette con la linea ) .......... CUX> REC pippo ( Riceve il file 'pippo' ) .......... CUX> ASK ALZARE RICEVITORE E BATTERE ENTER ( Richiesta input ) CUX> COMMAND ( Ritorna in modalità comandi ) CUX> HANGUP OFF ( Sgancia la linea telefonica ) .......... |
Se il comando è preceduto dal comando `RESETFAX' può agganciare anche un fax.
Se il comando è preceduto dal comando `RESETVOICE' alza la linea.
Se viene riconosciuta una delle stringhe previste assegna alla variabile predefinita `WHICH' il numero corrispondente e ne lascia copia nella variabile predefinita `WORD'. Per l'elenco delle stringhe previste e dei numeri corrispondenti vedere il comando `DIAL'.
Vedere anche l'opzione `-ma' nel capitolo Opzioni sulla linea di comando.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER'), del flag di riconoscimento di connessione fax (cfr. il comando `IFFAX') e del flag di riconoscimento di connessione voice (cfr. il comando `IFVOICE').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Attende una chiamata da parte di un altro modem. La risposta automatica avverrà dopo `n' squilli, dove `n' è il valore associato al comando `RING'.
CUX> RING 4 ( Specifica il numero di squilli ) CUX> ANSWER ( Attende una chiamata ) ......... CUX> COMMAND ( Ritorna in modalità comandi ) CUX> NOANSWER ( Termina l'autoanswer ) .......... |
......... CUX> ANSWER 120 ( Attende una chiamata entro 120 secondi ) ......... |
Se il comando è preceduto dall'istruzione `RESETVOICE' alza la linea.
Se è riconosciuta una delle stringhe previste viene assegnata alla variabile predefinita `WHICH' il numero corrispondente e alla variabile predefinita `WORD' la stringa corrispondente. Per l'elenco delle stringhe previste e dei numeri corrispondenti si veda il comando `DIAL'.
Vedere anche l'opzione `-aa' nel capitolo Opzioni sulla linea di comando.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER'), del flag di timeout (cfr. i comandi `IFOUT' e `IFNOOUT'), del flag di riconoscimento di connessione fax (cfr. il comando `IFFAX') e del flag di riconoscimento di connessione voice (cfr. il comando `IFVOICE').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' abilita la produzione di un file di log per il salvataggio dei comandi inviati per la negoziazione TELNET (dalla versione 4.0) o al modem e relative risposte, mentre se impostato a `OFF' la produzione di tale file di log è disabilitata. L'abilitazione si ottiene facendo seguire a `CMDSAVE' il parametro `ON', mentre la disabilitazione si ottiene facendo seguire il parametro `OFF'.
Attenzione che l'abilitazione è accettata solo se è abilitato anche il file di log generale (cfr. opzione `-lo' e comando `LOG'). Il file di log cos`ì prodotto ha estensione `.SAV' e nome uguale al nome del file di log generale che ha estensione `RTX'.
.......... CUX> CMDSAVE ON ( Abilita il log del colloquio col modem ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `COMMAND' permette di passare dalla modalità dati alla modalità comandi.
CUX> DIAL 1234567 ( Chiama il numero specificato ) .......... CUX> COMMAND ( Ritorna in modalità comandi ) CUX> IFER COMMAND ( In caso di errore riprova ) CUX> HANGUP OFF ( Sgancia la linea telefonica ) CUX> IFER HANGUP OFF ( In caso di errore riprova ) CUX> EXIT ( Termina il programma ) |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Chiama il numero passato come parametro o, se non è specificato alcun parametro, chiama il numero impostato precedentemente tramite il comando `NUMBER'. Se però il comando è usato senza parametri e se non è stato precedentemente impostato alcun numero per mezzo del comando `NUMBER', il comando `DIAL' ritorna con errore.
CUX> NUMBER 5555555 ( Specifica il numero telefonico ) CUX> DIAL ( Chiama il numero di NUMBER ) .......... CUX> DIAL 55555666 ( Chiama il numero scelto ) .......... |
Se preceduto dal comando `RESETFAX' può chiamare anche un fax.
Se preceduto dal comando `RESETVOICE' chiama a voce ed esce per cornetta alzata dal capo opposto della linea.
A partire dalla versione 4.0 è stata introdotta la possibilità di effettuare chiamate multinumero, ovvero di specifire più numeri da chiamare in successione fino a quando uno di questi risulti libero. Per maggiori dettagli si veda il comando `NUMBER'.
Se la linea è occupata esce subito, altrimenti tenta di chiamare per il numero di volte previsto (cfr. capability `Nm' nel file `modmcap').
Il file `modmcap' permette di assegnare le stringhe di risposta prodotte dal modem a specifiche capability. Tali stringhe possono riguardare sia il tipo di connessione effettuata sia un eventuale errore riscontrato dal modem. In entrambi i casi il comando `DIAL' assegna alla variabile predefinita `WORD' la stringa corrispondente all'evento occorso. Solo invece nel caso di connessione effettuata correttamente assegna alla variabile predefinita `WHICH' il numero corrispondente alla stringa riconosciuta (nei casi di errore la variabile `WHICH' non viene modificata). Le stringhe di connessione, infatti, sono numerate progressivamente da 0 a 28 ed ognuna è associata ad una particolare capability. Per un elenco completo di tali capability si rimanda alla sezione Guida di riferimento dell'appendice Il file modmcap.
Nel caso ad esempio di linea occupata, il comando `DIAL' esce subito assegnando alla variabile predefinita `WORD' la stringa associata alla capability `Bu' definita nel file `modmcap', tipicamente la stringa `BUSY'. O ancora, nel caso di un modem configurato per linee americane, in cui il modem attende il cosiddetto dial tone, il comando `DIAL' esce assegnando alla variabile predefinita `WORD' la stringa associata alla capability `Li' definita nel file `modmcap', tipicamente la stringa `NO DIAL TONE'.
Nel caso invece di una connessione effettuata correttamente a 9600 baud, il comando `DIAL' assegna alla variabile `WORD' la stringa `CONNECT 9600' e alla variabile `WHICH' il valore `7'.
Di seguito è riportata la definizione delle stringhe di connessione nel caso di modem di tipo HAYES. È importante sottolineare che il numero di riferimento è costante, ovvero indica l'n-esima risposta, mentre la stringa corrispondente è relativa al modem caricato e può quindi variare con esso.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') e del flag di riconoscimento di connessione fax (cfr. il comando `IFFAX').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Permette di connettere la linea in originate senza dover comporre il numero, presupponendo che vi sia già la linea attiva (cfr. il comando `ALINE').
CUX> HANGUP ON ( Aggancia la linea ) CUX> MESG ABBASSARE RICEVITORE ( Messaggio ) CUX> DLINE ( Si connette in originate ) CUX> SEND prova.tex ( Spedisce il file specificato ) .......... CUX> ASK ALZARE IL RICEVITORE E BATTERE ENTER ( Richiesta input ) CUX> COMMAND ( Ritorna in modalità comandi ) CUX> HANGUP OFF ( Sgancia la linea telefonica ) |
Se il comando è preceduto dal comando `RESETFAX' può agganciare anche un fax.
Se il comando è preceduto dal comando `RESETVOICE' alza la linea.
Se viene riconosciuta una delle stringhe previste assegna alla variabile predefinita `WHICH' il numero corrispondente e ne lascia copia nella variabile predefinita `WORD'. Per l'elenco delle stringhe previste e dei numeri corrispondenti vedere il comando `DIAL'.
Vedere anche l'opzione `-md' nel capitolo Opzioni sulla linea di comando.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') e del flag di riconoscimento di connessione fax (cfr. il comando `IFFAX').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `HANGUP' permette di agganciare o sganciare la linea telefonica.
A partire dalla versione 4.0 di Cux, il comportamento di tale comando è stato leggermente modificato: se era stato dato in precedenza uno tra i comando `RESETFAX' o `RESETVOICE', il comando `HANGUP' non riporta il modem allo stato normale: per fare ciò bisogna usare il comando `RESETDATA' (cfr).
CUX> HANGUP ON ( Aggancia la linea telefonica ) CUX> ALINE ( Si connette in risposta ) .......... CUX> COMMAND ( Ritorna in modalità comandi ) CUX> HANGUP OFF ( Sgancia la linea telefonica ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `INIT' viene utilizzato per caricare i parametri del modem. Se specificato senza nessun parametro considererà come modem utilizzato quello definito dalla variabile di environment `MODM', se tale variabile è definita, altrimenti è possibile definire il tipo di modem da utilizzare specificandolo come parametro. Naturalmente il tipo di modem deve essere tra quelli compresi nel file `modmcap'.
CUX> INIT ( Carica i parametri del modem di default ) Caricato: HAYES CUX> INIT 1200CT ( Carica i parametri del modem scelto ) Caricato: 1200CT CUX> RESET ( Inizializza il modem ) |
Se nella descrizione del modem caricato è presente la capability booleana `Nu' tutti i comandi di gestione del modem vengono ignorati, nel senso che escono (ritornano) immediatamente con il flag di errore azzerato come se fossero stati accettati dal modem, anche se in tal caso al modem non viene inviato nessun comando (cfr. Il file Modmcap).
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Chiama il numero specificato dal comando `NUMBER' o passato come parametro per connettersi in fonia (non trasmette dati).
CUX> NUMBER 123456789 ( Specifica il numero telefonico ) CUX> MDIAL ( Si connette in fonia ) CUX> ASK ALZARE RICEVITORE E BATTERE ENTER ( Richiesta input ) CUX> HANGUP OFF ( Sgancia la linea ) |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Abilita controllo della portante durante l'esecuzione dei comandi `CONV', `REMOTE' e `SPAWN'. Ammette come parametro uno dei due valori (`ON') e (`OFF').
Se il controllo della portante è abilitato (`MODEMCTL ON'), in ambiente Unix/Xenix la caduta della portante durante l'esecuzione di una delle suddette istruzioni determina l'uscita dell'istruzione in questione con il flag di errore impostato (cfr. i comandi `IFER' e `IFNOER').
Attenzione: dopo l'esecuzione dei comandi `CONV', `REMOTE' e `SPAWN' e/o dopo esser caduta di portante, il comando viene riportato nello stato di default `OFF'.
In ambiente MsDos il comando `MODEMCTL' assume significato solo in coppia con i comandi `CONV' e `REMOTE', nel senso che con controllo di portante abilitato (`MODEMCTL ON') la caduta della portante durante l'esecuzione del comando `CONV' determina l'uscita dal conversazionale con il flag di errore impostato (cfr. i comandi `IFER' e `IFNOER'), mentre la caduta della portante durante l'esecuzione del comando `REMOTE' provoca un boot della macchina. In entrambi i casi viene anche modificato il valore di tale comando, il quale è automaticamente riportato a `OFF'.
Se invece il controllo della portante è disabilitato (`MODEMCTL OFF'), la caduta della portante non ha alcun effetto su tali istruzioni.
CUX> MODEMCTL ON ( Abilita il controllo della portante ) CUX> CONV ( Entra in conversazionale ) CUX> IFER GOTO RICHIAMA ( Se cade la portante richiama ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Impedisce le operazioni di autoanswer che generalmente iniziano con il comando `ANSWER'. È obbligatorio, per poter utilizzare questo comando, essere in modalità comandi. Se si è invece in modalità dati occorre prima specificare l'istruzione `COMMAND'. Il comando `ANSWER' può essere utilizzato indipendentemente dal comando `ANSWER' se il modem soddisfa almeno una delle seguenti condizioni:
CUX> RING 4 ( Specifica il numero di squilli ) CUX> ANSWER ( Attende una chiamata ) ......... CUX> COMMAND ( Ritorna in modalità comandi ) CUX> NOANSWER ( Impedisce l'autoanswer ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Seleziona il numero telefonico da chiamare (cfr. anche i comandi `DIAL' e `MDIAL'). Nel numero è possibile introdurre dei caratteri di ritardo a patto che facciano parte dei seguenti:
/ , ( ) - . |
CUX> NUMBER 1234567 ( Specifica il numero da chiamare ) CUX> NUMBER 1,2,3,4,5,6,7 ( Specifica il numero da chiamare ) CUX> NUMBER 1/2,3(4)5-6.7 ( Specifica il numero da chiamare ) CUX> DIAL ( Chiama il numero scelto ) .......... |
CUX> NUMBER 1234567|7654321 ( Specifica i numeri da chiamare ) CUX> DIAL ( Chiama uno tra i numeri indicati ) .......... |
P T W R N @ ! |
.......... CUX> NUMBER T13/P1234567 ( Specifica il numero da chiamare ) CUX> DIAL ( Chiama il numero scelto ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta il numero di registri del modem. Per default il numero di registri è 12 (che è anche il minimo per i modem Hayes e compatibili), mentre il massimo è 255 e dipende dal tipo di modem utilizzato.
CUX> NUMREG 256 ( Specifica il numero di registri ) Numero di registri non accettabile CUX> NUMREG 255 ( Specifica il numero di registri ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `REG' permette di visualizzare su video il contenuto dei registri del modem utilizzato.
CUX> REG ( Mostra il contenuto dei registri ) Registro 0 = 0. Registro 1 = 0. Registro 2 = 43. Registro 3 = 13. Registro 4 = 10. Registro 5 = 8. Registro 6 = 3. Registro 7 = 50. Registro 8 = 2. Registro 9 = 0. Registro 10 = 50. Registro 11 = 70. CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Inizializza il modem utilizzato; questo comando vi segnalerà l'errore se il tipo di modem che voi utilizzate è diverso da quello inizializzato con il comando `INIT' o da quello contenuto dalla variabile di environment `MODM' (a tale proposito si veda anche la capability modmcap `Re').
CUX> INIT HAYES ( Carica i parametri del modem scelto ) CUX> RESET ( Inizializza il modem ) Comando non accettato dal modem. CUX> INIT HAYES_COMP ( Carica i parametri del modem scelto ) CUX> RESET ( Inizializza il modem scelto ) Modem inizializzato. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Inizializza il modem utilizzato in modalità dati (a tale proposito si veda anche la capability modmcap `Td'.
CUX> INIT HAYES_VOICE ( Carica i parametri del modem scelto ) CUX> RESETDATA ( Inizializza il modem scelto ) Modem inizializzato. |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Definisce il numero di squilli (minimo uno) da attendere prima di rispondere ad una chiamata.
CUX> RING 0 ( Definisce il numero di squilli ) Numero di squilli non accettabile. CUX> RING 1 ( Definisce il numero di squilli ) CUX> ANSWER ( Entra in autoanswer ) .......... CUX> COMMAND ( Ritorna in modalità comandi ) CUX> NOANSWER ( Esce dall'autoanswer ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Attiva o disattiva il linefeed automatico. Questo comando è utile quando l'host o il programma a cui si è collegati in interattivo ad ogni pressione del tasto <ENTER> rimanda l'eco di un carriage return riportando il cursore sempre all'inizio della riga. Specificando il comando `AUTOLF ON' il cursore sarà posizionato all'inizio della riga successiva. È possibile specificare il linefeed automatico sulla linea comando, utilizzando l'opzione `-lf' (Vedere il capitolo Opzioni sulla linea di comando).
CUX> AUTOLF OFF ( Disabilita il linefeed automatico ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Abilita (ON) o disabilita (OFF) la visibilità dei bottoni di default abilitata.
Comando disponibile solo per le versioni per ambienti grafici.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Entra in modalità conversazionale. Questo significa che, a seconda delle inizializzazioni operate prima di questo comando, ci si potrà collegare, via modem o via seriale diretta, con un altro programma o con un host. Se ci si collega con un host il programma si comporterà come un terminale remoto; mentre se ci si collega con un altro programma si potrà comunicare con un altro utente. In questo caso, in generale, vedrete apparire sul video ciò che l'altro utente sta scrivendo e non quello che scriverete voi. Questo comando richiama le funzionalità delle opzioni `-cd' e `-ca' descritte nel capitolo Opzioni sulla linea di comando. Durante la modalità conversazionale è possibile utilizzare i seguenti tasti con il seguente significato:
F1 Uscita dal conversazionale. F9 Disattivazione autosave. F10 Attivazione autosave. CTRL-L Refresh video (solo per `REMOTE' in MsDos). |
È anche possibile salvare tutto ciò che voi eseguite mentre operate in conversazionale utilizzando i comandi `FILE' e `SAVE'.
Il comando `CONV' può essere opzionalmente seguito da una stringa di caratteri (per la sintassi cfr. il comando `STRING'), ed in tal caso la ricezione di tale stringa dalla linea di comunicazione determina l'uscita automatica dal conversazionale.
CUX> PARITY NONE ( Specifica il tipo di parità ) CUX> BIT 8 ( Definisce il numero di bit ) CUX> BAUD 9600 ( Definisce il baud-rate ) CUX> PORT tty1a ( Specifica la porta utilizzabile ) CUX> FILE conver.txt ( Specifica il file di default ) CUX> SAVE ON ( Entra in autosave ) CUX> MODEMCTL ON ( Abilita il controllo della portante ) CUX> CONV "fine" ( Entra in conversazionale, dal quale ) .......... ( esce alla ricezione della stringa ) .......... ( 'fine' ) .......... |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore solo se il comando `MODEMCTL' viene posto a `ON', indicando in tal caso la caduta della portante (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando viene usato da tutti i protocolli ad eccezione di Cuxbin e Cuxenc ed è utile per il trasferimento di file tra ambienti diversi. Il comando `CRLF' ha un comportamento differente a seconda del sistema operativo utilizzato. In MsDos attiva o disattiva (default) la conversione `CR-LF' in `LF' in trasmissione e `LF' in `CR-LF' in ricezione; mentre in Unix/Xenix esegue il procedimento inverso.
.......... CUX> CRLF ON ( Attiva la conversione CR-LF ) CUX> SEND ( Spedisce il file di default ) .......... CUX> CRLF OFF ( Disattiva la conversione CR-LF ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando, disponibile solo in ambiente MsDos, permette di chiamare l'emulatore di terminale Dynaterm in modo automatico. È possibile specificare dei parametri, i quali devono essere dati nella sintassi prevista dal programma Dynaterm. In ogni caso vengono passati per default all'emulatore i seguenti parametri: -m -q5 -l -b -d -s -p -z [-u] [-x] [-C] [-E] [-L] [-N] [-P] [-U] -k -g [-j] -o. Alla fine dell'esecuzione dell'emulatore la variabile predefinita `RETURN' conterrà il codice di uscita.
CUX> DYNATERM ( Invoca l'emulatore ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Attiva l'half o il full duplex e ammette come parametro una delle due stringhe `HALF' o `FULL'. Se si specifica il comando `DUPLEX HALF' si abilita automaticamente l'eco locale (cfr. comando `ECHO') mentre non è vero il viceversa.
CUX> DUPLEX HALF ( Attiva l'half-duplex ) .......... CUX> DUPLEX FULL ( Attiva il full-duplex ) CUX> ECHO OFF ( Disattiva l'eco locale ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' attiva l'eco dei caratteri digitati a video, mentre se impostato a `OFF' l'eco dei caratteri digitati è disattivato. L'attivazione di questo comando è utile quando l'host o il programma a cui si è collegati non effettua l'eco dei caratteri battuti in interattivo, e normalmente questo avviene quando si è in half-duplex.
CUX> ECHO ON ( Attiva l'eco dei caratteri ) .......... CUX> ECHO OFF ( Disattiva l'eco dei caratteri ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Carica nuovi bottoni indicando, come unico parametro, il file di descrizione, per esempio:
CUX> LOADBTN modem ( carica un ste di bottoni ) |
Il comando cercherà il file indicato nella directory corrente e nella directory ETC
Comando disponibile solo per le versioni per ambienti grafici.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Se attivato questo comando stampa tutte le operazioni eseguite durante il conversazionale. In ambiente MsDos questa stampa viene eseguita in tempo reale, mentre in ambiente Unix/Xenix viene eseguita solo dopo aver digitato il comando `PRINT OFF' inviando i dati allo spooler di sistema. Nel caso in cui si esca da Cux ciò verrà eseguito automaticamente.
CUX> PARITY NONE ( Specifica il tipo di parità ) CUX> BIT 8 ( Definisce le dimensioni del dato ) CUX> BAUD 9600 ( Specifica il baud-rate ) CUX> PORT tty1a ( Definisce la porta da utilizzare ) CUX> PRINT ON ( Attiva la stampa delle operazioni ) CUX> CONV ( Entra in conversazionale ) .......... CUX> PRINT OFF ( Disattiva la stampa ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ridimensiona la finestra e necessita come parametri obbligatori il numero di colonne e il numero di righe.
.......... CUX> RESIZE 40 25 ( Dimezza la larghezza della finestra ) .......... CUX> RESIZE 80 25 ( Finestra di dimensioni standard ) |
Comando disponibile solo per le versioni per ambienti grafici.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Permette, se attivato, di salvare tutte le operazioni eseguite durante il conversazionale e tutti i dati ricevuti dalla linea di comunicazione tramite i comandi `RSTRING' e `XRSTRING'.
.......... CUX> FILE prova.txt ( Definisce il file di default ) CUX> SAVE ON ( Attiva l'autosave ) CUX> CONV ( Entra in conversazionale ) .......... CUX> SAVE OFF ( Disattiva l'autosave ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Se attivato, questo comando permette di ottenere un output trasparente su standard output. Questo significa che eventuali sequenze di escape vengono interpretate dal terminale e non da Cux come avviene quando questa opzione viene disattivata (`STDOUT OFF').
.......... CUX> STDOUT ON ( Attiva l'output trasparente ) CUX> CONV ( Entra in conversazionale ) .......... CUX> STDOUT OFF ( Disattiva l'output trasparente ) |
F1 <ESC>[M S_F1 <ESC>[Y BS <BACKSPACE> F2 <ESC>[N S_F2 <ESC>[: LEFT <ESC>[D F3 <ESC>[O S_F3 <ESC>[a RIGHT <ESC>[C F4 <ESC>[P S_F4 <ESC>[b INS <ESC>[L F5 <ESC>[Q S_F5 <ESC>[c DEL <RUBOUT> F6 <ESC>[R S_F6 <ESC>[d HOME <ESC>[H F7 <ESC>[S S_F7 <ESC>[e END <ESC>[F F8 <ESC>[T S_F8 <ESC>[f PGUP <ESC>[I F9 <ESC>[U S_F9 <ESC>[g PGDN <ESC>[G F10 <ESC>[V S_F10 <ESC>[h UP <ESC>[A F11 <ESC>[W S_F11 <ESC>[i DOWN <ESC>[B F12 <ESC>[X S_F12 <ESC>[j C_LEFT <ESC>[W C_F1 <ESC>[k A_F1 <ESC>[` C_RIGHT <ESC>[X C_F2 <ESC>[l A_F2 <ESC>[~ C_HOME <ESC>[u C_F3 <ESC>[m A_F3 <ESC>[% C_END <ESC>[v C_F4 <ESC>[n A_F4 <ESC>[( C_PGUP <ESC>[i C_F5 <ESC>[o A_F5 <ESC>[# C_PGDN <ESC>[j C_F6 <ESC>[p A_F6 <ESC>[$ A_1 <ESC>[x C_F7 <ESC>[q A_F7 <ESC>[; A_2 <ESC>[y C_F8 <ESC>[r A_F8 <ESC>[. A_3 <ESC>[z C_F9 <ESC>[s A_F9 <ESC>[+ A_4 <ESC>[@ C_F10 <ESC>[t A_F10 <ESC>[* A_5 <ESC>[[ C_F11 <ESC>[u A_F11 <ESC>[) A_6 <ESC>[\ C_F12 <ESC>[v A_F12 <ESC>[} A_7 <ESC>[] S_TAB <ESC>[Z A_8 <ESC>[^ A_MINUS <ESC>[` A_9 <ESC>[_ A_PLUS <ESC>[{ A_0 <ESC>[w |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per settare di quanti spazzi a destra deve spostarsi il cursore alla ricezione del carattere `TAB' che di default sono 8.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per ricezione e trasmissione ordini e mancanti con protocollo proprietario. Ha come parametri obbligatori il file da inviare e il file da ricevere e come opzionali:
NCDATA
NCEND
NCOFF
NCHEAD
NCRIS
NCCODE
NCSEQ
NCUUU
Se si vuole ricevere le AAAAA in testa conviene usera un `RSTRING' con opportuno timeout prima del comando `CPJ'.
Il comando da la possibilità di effettuare un controllo sulla riuscita della trasmissione modificando il valore della variabile `WHICH':
0 non è stato spedito l'ordine; 1 non è arrivato il mancante; 2 le transazioni sono andate a buon fine; 3 la richiesta di disponibilità non è stata terminata, ma il file è stato ricevuto. |
Col comando `DELTRANS' si stabilisce il delay tra un record e l'altro nella fase di invio dell'ordine.
Abbinandolo al comando `CMDSAVE' si può salvare l'intero transito della linea nell'usuale file .SAV se il log è abilitato è consigliato disabilitare protocollo xon/xoff.
Attenzione: setta il flag di errore (cfr. i comandi `IFER' e `IFNOER').
N.B.: il comando è disponibile solo su specifica richiesta.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per la ricezione ordini con protocollo proprietario. Ha come parametro obbligatorio il file da ricevere e come opzionali gli stessi del comando `CPJ' con in più:
NCACK
NCCLEAN
NCDUP
Se si vuole inviare le AAAAA in testa conviene usare un `STRING'.
Nella variabile `WORD' è presente il record di testa dal quale è possibile ricavarne i dati del chiamante.
Attenzione: setta il flag di errore (cfr. i comandi `IFER' e `IFNOER').
N.B.: il comando è disponibile solo su specifica richiesta.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per l'invio mancanti con protocollo proprietario. Ha come parametro obbligatorio il file da inviare e come opzionali gli stessi del comando `CPJ' con in più:
NCSKIP
PDELAY=nn
Il comando modifica il valore della variabile `WHICH' che se vale:
1 richiesta di disponibilità affermativa. |
Nella variabile `WORD' deve essere messa la stringa da inviare per esempio `900'.
Attenzione: setta il flag di errore (cfr. i comandi `IFER' e `IFNOER').
N.B.: il comando è disponibile solo su specifica richiesta.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Nel caso di file-transfer con uno tra i protocolli Xmodem o Ymodem tale comando permette di definire il numero di <CTRL><X> necessari per interrompere il protocollo; questo valore è usato internamente in quanto nell'uso di Cux il carattere di `ABORT' è comunque il <DEL>, che per default produrrà un numero di 3 <CTRL><X> inviati sulla linea.
CUX> CTRLX 3 ( Specifica il numero di ctrl-x ) ......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `DELTRANS' permette di specificare il ritardo in tick di sistema tra un carattere e l'altro trasmessi sulla linea dal comando `TRANSMIT' nello stato di `TRANSPARENT ON'. Valori accettabili vanno da 0 a 255 (Vedere la variabile `HZ' nell'appendice L'environment); l'unità di misura è il diciottesimo di secondo. Nello stato di `TRANSPARENT OFF' il valore specificato viene invece utilizzato come ritardo interlinea.
CUX> DELTRANS 2 ( Specifica il ritardo ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `LENREK' permette di definire la lunghezza del record durante le fasi di trasmissione dei file. La lunghezza in questione corrisponde al numero di byte da trasferire in ogni blocco e per default è definito a 128, mentre i valori selezionabili variano da 32 a 8192. Nel caso di utilizzo di pseudo-tty si consiglia di impostare le dimensioni del record a 128 byte, mentre nel caso di utilizzo di socket le dimensioni consigliate sono di 8192 byte.
Attenzione: il protocollo Kermit non può utilizzare record di lunghezza superiore a 91 byte. Qualunque valore maggiore di 91 assegnato al record viene riportato comunque al valore massimo accettabile.
Attenzione: i seguenti protocolli forzano la lunghezza del record a 1024 byte:
XMODEM1K
YMODEM1K
XMODEM1KC
YMODEM1KC
CUX> PROTOC CUXENC ( Specifica il tipo di protocollo ) CUX> LENREK 512 ( Definisce lunghezza record ) CUX> MAXBUF 1024 ( Definisce dimensioni del buffer ) CUX> DIAL 555,5555 ( Chiama il numero scelto ) CUX> SEND prova.bin ( Spedisce il file scelto ) CUX> MAXBUF 2048 ( Definisce dimensioni del buffer ) CUX> PROTOC XMODEM1KC ( Specifica il tipo di protocollo ) .......... CUX> COMMAND ( Ritorna in modalità comandi ) |
Attenzione: sino alla versione 3.8b la lunghezza massima del record era di 1024 byte.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando permette di minuscolizzare i path dei nomi di file in fase di ricezione.
CUX> LOWERNAME ( Minuscolizza i pathname ) CUX> XREC /usr/tmp/ ( Riceve i file ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta il massimo valore in Kbyte di file trasmissibili per ogni singolo comando `XSEND' o ricevibili per ogni singolo comando `XREC' ma solo su protocolli Cux. Per default vale 0, ad indicare che non esistono limiti.
CUX> PROTOC CUXENC ( Imposta il protocollo per file transfer ) CUX> MAX_K 50 ( Imposta il massimo valore in 50 Kbyte ) CUX> XSEND /usr/tmp/ ( Trasmette i file ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' e `OFF'. Se impostato a `OFF' forza Cux ad usare protocolli compatibili con le versioni precedenti alla 3.8, mentre se impostato a `ON' permette di utilizzare il nuovo metodo di codifica dei dati.
A partire dalla versione 3.8, infatti, Cux garantisce che in caso di file transfer il valore di ogni byte di controllo di un pacchetto abbia un valore diverso da ogni possibile valore assunto dai byte delimitatori del pacchetto stesso. Questa caratteristica elimina la possibilità, per quanto remota, di conflitti a livello di trasporto dovuti alla impredicibilità intrinseca dei valori che assumeranno alcuni particolari byte di controllo.
Di conseguenza, per garantire la compatibilità con le versioni precedenti di Cux è indispensabile impostare a `OFF' tale opzione la quale indica di non utilizzare questa nuova feature.
CUX> NEWCUX OFF ( Forza la compatibilità sui file ) ( transfer con le versioni precedenti ) .......... |
Attenzione però che tale comando assume significato solamente in relazione ai protocolli Cux.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Abilita o disabilita (default) la trasmissione di file binari con protocolli Xmodem e Ymodem spezzando ogni byte in due parti (che vengono chiamate appunto nibble); l'uso di questo meccanismo implica il raddoppio del tempo di trasmissione.
CUX> PROTOC XMODEM ( Specifica il tipo di protocollo ) CUX> NIBBLE ON ( Abilita trasmissione binari ) CUX> SEND pippo.exe ( Trasmette il file scelto ) .......... CUX> NIBBLE OFF ( Disabilita trasmissione binari ) CUX> SEND pippo.txt ( Trasmette il file scelto ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando assume significato solo su linee Tcp/Ip e permette di inviare il carattere indicato come parametro come dato out-of-band. Valori accettabili per il carattere vanno da 0 a 255.
CUX> OOB 32 ( Invia come out-of-band uno spazio ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta il carattere di padding e può essere un qualunque valore della tavola ASCII compreso tra 0 e 127 inclusi. Per default assume valore 0. L'uso di un carattere di padding e la possibilità di definire tale carattere in modo parametrico è impiegata dal protocollo Kermit nella fase iniziale di contrattazione (cfr. la sezione Controllo delle operazioni relativa al protocollo Kermit nell'appendice Protocolli).
CUX> PADCHAR 32 ( Imposta come carattere di padding lo spazio ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta il numero di caratteri di padding e può essere un qualsiasi numero compreso tra 0 e 999 inclusi. Per default assume valore 0. Anche tale comando, come già il comando `PADCHAR' (cfr.), trova impiego con il protocollo Kermit, il quale prevede la possibilità di definire parametricamente nella fase di contrattazione iniziale il numero dei caratteri di padding (cfr. la sezione Controllo delle operazioni relativa al protocollo Kermit nell'appendice Protocolli).
CUX> PADNUM 16 ( Imposta il numero di caratteri di padding ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Abilita o disabilita la trasmissione del path completo dei file trasferiti con uno tra i protocolli Ymodem, Zmodem e Kermit; se abilitata sulla macchina ricevente verrano create le directory opportune. Per default la trasmissione del path è disabilitata.
CUX> PROTOC YMODEM ( Specifica il tipo di protocollo ) CUX> PATH ON ( Abilita trasmissione del path ) CUX> SEND /u/utente/pippo.txt ( Trasmette il file scelto ) CUX> PATH OFF ( Disabilita trasmissione del path ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Aggiunge un ritardo espresso in millisecondi al termine della trasmissione di un singolo pacchetto di una window al fine di evitare una collisione tra pacchetti quando si utilizzano protocolli finestrati (cfr. il comando `WINDOW'). Il ritardo desiderato deve essere indicato come parametro e può essere un qualsiasi valore numerico compreso tra 0 (default) e 128 inclusi.
CUX> WINDOW 128 ( Numero di pacchetti per window ) CUX> PKDELAY 1 ( Imposta il ritardo tra pacchetti ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Definisce il tipo di protocollo. Valori accettabili sono i seguenti:
CUXTXT
CUXBIN
CUXENC
XMODEM
XMODEMC
XMODEM1K
XMODEM1KC
YMODEM
YMODEM1K
YMODEMC
YMODEM1KC
ZMODEM
KERMIT
XON
XOFF
CUX> PROTOC XON ( Specifica il tipo di protocollo ) CUX> CONV ( Entra in conversazionale ) .......... CUX> PROTOC XOFF ( Disabilita il protocollo Xon ) .......... |
Se viene abilitato il protocollo di handshake Xon/Xoff per mezzo del comando
CUX> PROTOC XON |
Se invece il protocollo di handshake Xon/Xoff viene disabilitato per mezzo del comando
CUX> PROTOC XOFF |
L'utilizzo del protocollo di handshake Xon/Xoff è raccomandato qualora si voglia utilizzare Cux come emulatore di terminale, poiché la selezione di altri tipi di protocolli quasi sicuramente produrrebbe perdita di caratteri sulla linea di comunicazione.
Se nella trasmissione di file viene utilizzato uno dei protocolli Cux (Cuxtxt, Cuxbin o Cuxenc) è del tutto indifferente per il ricevitore quale protocollo utilizzare, purché faccia parte di uno dei tre protocolli appena citati.
Inoltre il protocollo Zmodem riconosce e si adegua ai protocolli Ymodem e Xmodem, mentre il protocollo Ymodem riconosce e si adegua al protocollo Xmodem. È quindi possibile per il trasmettitore specificare ad esempio il protocollo Xmodem e per il ricevitore specificare uno tra i protocolli Zmodem o Ymodem: in tal caso il ricevitore si adeguerà automaticamente al protocollo Xmodem scelto dal trasmettitore. Un discorso del tutto analogo vale nel caso in cui il trasmettitore specifichi il protocollo Ymodem e il ricevitore il protocollo Zmodem: in tal caso il ricevitore si adeguerà automaticamente al protocollo Ymodem scelto dal trasmettitore.
Infine, se si utilizzano altre combinazioni di protocolli deve esserci invece una completa concordanza tra il protocollo utilizzato dal trasmettitore e quello utilizzato dal ricevitore (Vedere i comandi `REC', `XREC', `SEND' e `XSEND').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando permette di ricevere un file; è possibile specificare il nome del file da assegnare al file ricevuto definendolo come parametro oppure utilizzando il nome specificato dal comando `FILE'. È anche possibile assegnare come nome un path completo, purché tutte le directory specificate esistano.
CUX> PROTOC XMODEM ( Specifica il tipo di protocollo ) CUX> REC /usr/pippo.txt ( Riceve il file scelto ) |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `REPEAT' permette di definire il numero di ripetizioni, in caso di errore, del trasferimento di un blocco di dati. Nel caso in cui l'errore persista per tutte le ripetizioni definite, la trasmissione viene interrotta e viene segnalato l'errore.
CUX> REPEAT 3 ( Definisce il numero ripetizioni ) CUX> PROTOC CUXENC ( Specifica il tipo di protocollo ) CUX> SEND pippo.txt ( Trasmette il file scelto ) Errore di trasmissione CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando permette di trasmettere un file scelto. È possibile specificare il nome del file da trasmettere definendolo come parametro oppure utilizzando il nome specificato dal comando `FILE'. È anche possibile assegnare come nome un path completo purché tutte le directory (e il file) esistano.
CUX> PORT COM1 ( Imposta la porta ) CUX> BAUD 19200 ( Specifica il baud rate ) CUX> BIT 8 ( Dimensioni della word ) CUX> PARITY NONE ( Definisce il tipo di parità ) CUX> PROTOC CUXENC ( Specifica il tipo di protocollo ) CUX> SEND prova.exe ( Trasmette il file ) .......... |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Seguito da un'arbitraria stringa di caratteri, permette di selezionare il messaggio da visualizzare in caso di file transfer. Normalmente Cux visualizza durante un file transfer una serie di caratteri `*' proporzionale al numero di pacchetti di dati inviati o ricevuti. La visualizzazione di tali asterischi è comunque disattivata se l'eco dei comandi a video è stato inibito (cfr. comando `MUTE'). La stringa selezionata tramite il comando `STAR' verrà invece visualizzata anche se l'eco dei comandi a video è stato disabilitato e sostituisce gli usuali `*'. Il comando senza alcun parametro riporta alla situazione di default con la visualizzazione degli asterischi.
CUX> MUTE ON ( Disabilita l'eco dei comandi ) CUX> STAR File-transfer... ( Seleziona la stringa ) CUX> XREC . ( Riceve i file ) File-transfer... CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `TRANSMIT' permette di inviare un file ASCII sulla linea di comunicazione; si presuppone che a ricevere il file vi sia un programma in attesa del file trasmesso (se sulla linea di comunicazione vi è un Cux in conversazionale vedrete scorrere il file sullo schermo). È possibile specificare il nome del file da trasmettere definendolo come parametro oppure utilizzando il nome specificato dal comando `FILE'. Il funzionamento di tale comando dipende anche dai comandi `TRANSPARENT' e `DELTRANS'.
A partire dalla versione 4.0 tale comando è stato modificato in modo da visualizzare una stringa di caratteri che permetta di tracciare l'avanzamento del trasferimento dei dati (cfr. comando `STAR').
CUX> PARITY NONE ( Specifica il tipo di parità ) CUX> BIT 8 ( Definisce le dimensioni del dato ) CUX> PROTOC XON ( Specifica il tipo di protocollo ) CUX> FILE prova.txt ( Specifica il file di default ) CUX> TRANSMIT ( Trasferisce il file ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `TRANSPARENT' permette di definire la modalità di trasmissione utilizzata dal comando `TRANSMIT'. Le modalità disponibili sono le seguenti:
Trasmissione a caratteri
Trasmissione a righe
CUX> BIT 8 ( Definisce le dimensioni del dato ) CUX> PROTOC XON ( Specifica il tipo di protocollo ) CUX> FILE prova.txt ( Specifica il file di default ) CUX> TRANSPARENT ON ( Attiva trasmissione a caratteri ) CUX> DELTRANS 3 ( Introduce un ritardo ) CUX> TRANSMIT ( Trasferisce il file ) ........... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' forza Cux a cancellare in progressione i file spediti correttamente, mentre se impostato a `OFF' i file spediti correttamente non vengono rimossi. L'attivazione della rimozione automatica si ottiene facendo seguire a `UNLINK' il parametro `ON', mentre la disabilitazione della rimozione automatica si ottiene facendo seguire il parametro `OFF'.
CUX> UNLINK ON ( Forza Cux a rimuovere i file ) CUX> XSEND . ( spediti correttamente ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando permette di maiuscolizzare i path dei nomi di file in fase di ricezione.
CUX> UPPERNAME ( Maiuscolizza i pathname ) CUX> XREC /usr/tmp/ ( Riceve i file ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Solitamente i protocolli Cux spediscono un singolo pacchetto di una lunghezza prefissata dal comando `LENREK', e per ognuno di essi attendono la risposta in relazione all'esito del trasferimento del pacchetto. Purtroppo questo meccanismo, su modem half-duplex molto veloci o su reti a commutazione di pacchetto, provoca delle attese che vanno ad influire sul tempo di trasmissione, mentre l'ideale sarebbe trasferire molti pacchetti ed avere una singola risposta sull'esito del trasferimento. È stato cos`ì introdotto il comando `WINDOW' che permette di specificare il numero di pacchetti (finestra) che si vogliono trasferire prima di ricevere la risposta. Il comando ha la sintassi:
window finestra |
Ciò che rende maggiormente interessante il comando `WINDOW' è la sua interazione con il comando `LENREK': grazie infatti ad una corretta inizializzazione dei parametri associati ai due comandi è possibile ottenere transfer-rate decisamente migliori. Occorre tuttavia cercare, in maniera del tutto sperimentale, le giuste dimensioni della finestra con pacchetti più lunghi possibile.
Un altro comando che interagisce con il comando `WINDOW' è il comando `PKDELAY', il quale viene utilizzato per ridurre al minimo i rischi di collisione tra pacchetti, tipici quando si imposta una lunghezza di pacchetto troppo ampia rispetto ai limiti del sistema.
Nell'esempio che segue abbiamo voluto indicare dei valori tipici qualora si utilizzino dei modem con velocità superiori a 9600 baud:
CUX> WINDOW 32 ( Numero di pacchetti per window ) CUX> LENREK 256 ( Lunghezza di un singolo pacchetto ) CUX> PKDELAY 0 ( Ritardo in ms tra pacchetti ) ........... |
Con il comando:
CUX> WINDOW 0 ( Numero di pacchetti per window ) |
Occorre tuttavia sottolineare che non ogni protocollo permette la finestratura nel trasferimento dei pacchetti. Tra i protocolli implementati in Cux, oltre a quelli proprietari Cuxtxt, Cuxbin e Cuxenc, solamente il protocollo Zmodem offre questa possibilità (cfr. la sezione dedicata ai protocolli Cux e al protocollo Zmodem nell'appendice Protocolli). Di conseguenza solo per questi protocolli ha senso specificare una finestra diversa da zero.
Attenzione: questo comando è stato introdotto con la versione 3.7 di Cux e il suo utilizzo con versioni precedenti del programma provoca degli errori di trasmissione.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Riceve più file trasmessi tramite l'istruzione `XSEND'. Il comando `XREC' può essere opzionalemnte seguito da un parametro che indica la directory in cui porre i file ricevuti. Se non è specificato alcun parametro i file ricevuti verranno posti nella stessa directory dalla quale sono stati trasmessi. Eventuali directory inesistenti verranno opportunamente create.
.......... CUX> PROTOC YMODEM ( Specifica il tipo di protocollo ) CUX> XREC /usr/tmp ( Riceve i file nella directory /usr/tmp ) .......... |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Permette di inviare più file; la selezione dei file può essere effettuata utilizzando uno o più pattern in cui sono ammessi anche i metacaratteri asterisco (`*') e punto interrogativo (`?').
CUX> PROTOC CUXENC ( Specifica il tipo di protocollo ) CUX> XSEND \usr\bin\*.exe ( Spedisce i file scelti ) |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando, attivo solo in ambiente MsDos, permette di effettuare un boot a freddo della macchina.
CUX> BOOT ( Effettua un boot ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Visualizza il file specificato come parametro. È possibile interrompere la visualizzazione del file per mezzo del tasto <DEL>.
CUX> CAT pippo.txt ( Visualizza il file pippo.txt ) .......... |
Dalla versione 4.0 il comando può essere interrotto per mezzo del tasto <DEL> o dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cambia la directory corrente a quella indicata come parametro. Se la directory non esiste oppure (in ambiente Unix/Xenix) esiste ma non si hanno i permessi opportuni per permetterne l'accesso viene impostato il flag di errore.
CUX> CD .. ( Cambia la directory corrente ) CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando, attivo solo in ambiente Unix/Xenix, permette di cambiare la directory root. Se non si hanno i permessi opportuni per permettere l'operazione viene impostato il flag di errore.
CUX> CHROOT /tmp ( Imposta la nuova root directory a /tmp ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Pulisce lo schermo.
CUX> CLS ( Pulisce lo schermo ) CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Confronta due file, specificati come parametri, per determinare se sono uguali. Se i due file sono diversi viene impostato il flag di errore, altrimenti il flag di errore viene azzerato. Tramite questo comando possono essere confrontati sia file di testo sia file binari.
CUX> CMP pippo.txt pluto.txt ( Confronta il file pippo.txt ) .......... ( con il file pluto.txt. ) CUX> IFER GOTO DIFFERENTI ( Se sono diversi salta alla ) .......... ( etichetta DIFFERENTI. ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Copia di file. Tale comando permette di copiare un file su un altro file o di copiare più file in una directory.
CUX> COPY file1 file2 ( Copia il file file1 in file2 ) .......... CUX> COPY f* /tmp ( Copia tutti i file che iniziano ) .......... ( con f nella directory /tmp) |
Dalla versione 4.0 il comando può essere interrotto per mezzo del tasto <DEL> o dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Elenca i file indicati come parametro. Se non è specificato alcun parametro elenca il contenuto della directory corrente.
CUX> DIR /etc ( Elenca la directory /etc ) .......... CUX> DIR /etc/h* ( Elenca i file che iniziano con h ) .......... ( nella directory /etc ) CUX> DIR ( Elenca la directory corrente ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando, disponibile solo in ambiente MsDos, permette di abilitare o disabilitare il display locale con il comando `REMOTE'. Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' sulla macchina locale non viene visualizzato lo svolgimento della sessione remota, mentre se impostato a `OFF' lo svolgimento della sessione remota viene visualizzato.
Se impostato a `ON' viene forzato ad `ON' anche il comando `KEYBOARD'
CUX> DISPLAY ON ( Abilita il video remoto ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando, attivo solo in ambiente MsDos, permette di cambiare il drive corrente. Il nuovo drive da impostare deve essere passato come parametro e può essere opzionalmente seguito dal carattere `:'.
.......... CUX> DRIVE A: ( Imposta come drive corrente il drive A: ) CUX> PWD ( Visualizza la directory corrente ) A:\ CUX> DRIVE C ( Imposta come drive corrente il drive C: ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cancella il file indicato come parametro o, se nessun file viene specificato, cancella il file di default (cfr. comando `FILE'). È possibile utilizzare, nel nome del file, i metacaratteri asterisco (`*') e punto interrogativo (`?'), specificando in tal modo un pattern che può indicare un insieme di file.
CUX> SYSTEM ls ( Esegue il comando Unix 'ls' ) pluto.doc pippo.txt cux.txt CUX> ERASE ( Cancella il file di default ) CUX> SYSTEM ls ( Esegue il comando Unix 'ls' ) pluto.doc pippo.txt CUX> ERASE *.txt ( Cancella i file con estensione 'txt' ) CUX> SYSTEM ls ( Esegue il comando Unix 'ls' ) pluto.doc .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il seguente comando effettua un test sull'esistenza del file specificato come parametro.
È possibile utilizzare, nel nome del file, i metacaratteri asterisco (`*') e punto interrogativo (`?'), specificando in tal modo un pattern che può indicare un insieme di file.
È possibile inoltre specificare come parametro anche `.' o `..', col significato di controllare l'esistenza di almeno un file nella directory corrente o nella directory padre rispettivamente.
Se il file o i file indicati esistono il flag di errore viene azzerato, mentre se il file o i file indicati non esistono il flag di errore viene impostato.
CUX> EXIST pippo.txt ( Testa l'esistenza del file pippo.txt ) CUX> IFER GOTO NOFILE ( Se il file non esiste salta alla ) .......... ( etichetta NOFILE ) |
CUX> EXIST pippo.* ( Testa l'esistenza di un file di nome ) ( pippo con qualsiasi estensione. ) CUX> IFER GOTO NOFILE ( Se non esiste alcun file con tale nome ) .......... ( salta alla etichetta NOFILE. ) |
CUX> EXIST . ( Testa l'esistenza di almeno un file. ) CUX> IFER GOTO NOFILE ( Se non esiste nessun file salta alla ) .......... ( etichetta NOFILE. ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Elenca i file indicati come secondo parametro e mette l'output del comando nel file indicato come primo parametro. Se non è specificato alcun parametro elenca il contenuto della directory corrente.
CUX> FDIR /tmp/outfile /etc ( Elenca la directory /etc e mette ) .......... ( l'output nel file /tmp/outfile ) CUX> FDIR /tmp/outfile ( Elenca la directory corrente e ) .......... ( mette l'output in /tmp/outfile ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando, disponibile solo in ambiente MsDos, permette di abilitare o disabilitare la tastiera della macchina locale con il comando `REMOTE'. Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' la tastiera della macchina locale viene disabilitata, mentre se impostato a `OFF' la tastiera della macchina locale rimane abilitata.
Tale comando viene forzato ad `ON' se il comando `DISPLAY' è impostato ad `ON'.
CUX> KEYBOARD ON ( Abilita la tastiera rmeota ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il seguente comando, disponibile solo in ambienti grafici, permette di iconificare e deiconificare la finestra in cui è in esecuzione il programma. Se il programma è iconificato il comando lo deiconifica, altrimenti lo iconifica.
CUX> ICONIFY ( Iconifica il programma ) CUX> CALL FILE ( Esegue il batch indicato ) CUX> ICONIFY ( Deiconifica il programma ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Invia kill (segnali) ad un processo. Ha come primo parametro il tipo di kill che si vuole inviare (cfr. `TRAP') e come secondo il pid del processo (cfr. i comandi `PS' e `SETPGRP'). Comando non disponibile solo per l'ambiente MsDos.
I tipi di kill vanno distinti per sistemi operativi. Per gli ambienti Unix/Xenix sono disponibili:
ZERO (verifica l'esistenza del processo) KILL (termina il processo) ILL TRAP ABRT (o IOT) EMT BUS SEGV SYS PIPE TERM USR1 USR2 |
ZERO (verifica l'esistenza del processo) KILL (termina il processo) |
Per esempio:
CUX> KILL KILL 100 ( Uccide il processo con pid 100 ) CUX> KILL ZERO 100 ( Test di esistenza sel processo 100 ) CUX> KILL TERM 100 ( Invia un TERM al processo 100 ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Crea la directory passata come parametro. Se la directory esiste già oppure (in ambiente Unix/Xenix) non esiste ma non si hanno i permessi opportuni per permetterne la creazione, viene impostato il flag di errore.
CUX> MKDIR /usr/tmp/ ( Crea la directory /usr/tmp ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sposta e/o ridenomina file.
CUX> MOVE file1 file2 ( Ridenomina il file file1 in file2 ) .......... CUX> MOVE f* /tmp ( Sposta tutti i file che iniziano ) .......... ( con f nella directory /tmp) |
Dalla versione 4.0 il comando può essere interrotto per mezzo del tasto <DEL> o dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Visualizza file di testo a schermate di 20 righe seguite da una pausa. Per visualizzare la schermata successiva occorre battere il tasto <ENTER>. È possibile interrompere la visualizzazione del file per mezzo del tasto <DEL> seguito da <ENTER>.
CUX> PAGE help.txt ( Visualizza il file help.txt ) |
Dalla versione 4.0 il comando può essere interrotto per mezzo del tasto <DEL> o dalla ricezione di un segnale debitamente intercettato (cfr. comando `TRAP').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando richiede due parametri, che rappresentano nell'ordine utente e password, e verifica la correttezza di tale coppia di stringhe con riferimento al file `cuxpwd', il quale ha lo stesso formato del file `/etc/passwd' di sistema. Il comando imposta la variabile `WORD' alla password crittografata, la quale viene generata anche se non esistente, e la variabile `FROM' a tutta la riga letta dal file `cuxpwd'.
Il file `cuxpwd' viene cercato nella directory indicata dalla variabile di environment `ETC'.
CUX> PASSWD demo demo123 ( Verifica che l'utente demo abbia ) .......... ( come passord la stringa demo123 ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Elenca i processi correntemente attivi. Se è specificato un paramentro questo viene preso come il nome di un file in cui scrivere l'output del comando. Comando non disponibile solo per l'ambiente MsDos.
CUX> PS /usr/tmp/proc ( Scrive l'elenco dei processi sul file ) .......... ( /usr/tmp/proc ) CUX> PS ( Scrive l'elenco dei processi a video ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Visualizza il path della directory corrente.
CUX> PWD ( Visualizza la directory corrente ) /usr/utente CUX> CD prove ( Cambia directory ) CUX> PWD ( Visualizza la directory corrente ) /usr/utente/prove |
CUX> DRIVE A: ( Imposta il drive corrente ad A: ) CUX> PWD ( Visualizza la directory corrente ) A:/ CUX> CD prove ( Cambia directory ) CUX> PWD ( Visualizza la directory corrente ) A:/prove |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per l'esecuzione remota di programmi interattivi. In sostanza, questo comando permette ad un utente che lavora su un'altra macchina di lavorare sulla vostra. È possibile eseguire un applicativo oppure concedere l'utilizzo in interattivo della vostra macchina e l'esecuzione continua finché non termina il processo oppure (ma solo in ambiente Unix/Xenix) finché non la interrompete premendo il tasto <DEL>. In questo modo chi è in ricezione si vedrà apparire il prompt della shell della vostra macchina.
Se il comando `REMOTE' non è seguito da alcun parametro viene eseguita la shell di default (`command.com' in MsDos o la shell indicata dalla variabile di environment `SHELL' in Unix/Xenix). Se invece è seguito da un parametro verrà eseguito il programma indicato dal parametro specificato.
In ambiente Unix/Xenix il comando da lanciare può essere opzionalmente preceduto dalla durata massima, espressa in minuti, dell'esecuzione del comando stesso.
CUX> BAUD 19200 ( Definisce il baud-rate ) CUX> PORT tty2g ( Specifica la porta ) CUX> REMOTE 20 sh ( Esegue una shell per 20 minuti ) .......... ( per l'utente remoto ) |
A differenza di altri prodotti, che permettono l'esecuzione remota solo tra due PC MsDos, Cux permette di operare in situazioni eterogenee in cui i sistemi comunicanti possono essere indifferenemente due PC MsDos, due host Unix/Xenix o un PC MsDos e un host Unix/Xenix. In tale situazione si è reso necessario ricorrere ad un trattamento uniforme del video e della tastiera, in modo da rendere trasparenti le differenze tra un PC e un terminale ai programmi che devono utilizzare l'esecuzione remota offerta da Cux. Da qui la decisione di trattare anche un PC come un terminale.
In ambiente MsDos, quindi, il comando da lanciare può essere opzionalmente preceduto dal tipo di terminale da emulare, purché racchiuso tra una coppia di apici semplici (`''). Se tale parametro viene omesso verrà impostata per default l'emulazione `ansico' (per l'elenco delle emulazioni possibili si veda il file `dynacap.xen' fornito col dischetto di installazione. Per maggiori spiegazioni consultare la parte Unix/Xenix dell'appendice Il file dynacap). Non è invece possibile specificare un tempo massimo per l'esecuzione remota.
CUX> REMOTE 'dynaco' command ( Esegue il command.com ) .......... ( con emulazione dynaco ) |
Nel caso occorra utilizzare tasti non disponibili (si pensi ad esempio ad un terminale Hazeltine non dotato dei tasti funzione) sarà necessario comporre manualmente le sequenze di caratteri corrispondenti. Ad esempio nel caso di un'emulazione ansi, al tasto di funzione `F1' corrisponde la sequenza <ESC><O><P>. Saranno quindi da digitare in successione i tre caratteri visti, avendo l'accortezza di rispettare i tempi definiti dalla variabile di environment `DYNAESC' nel caso tale variabile sia definita (cfr. l'appendice L'environment).
Sempre in ambiente MsDos, l'esecuzione di tale comando determina la creazione nella directory indicata dalla variabile di environment `ETC' del file `cuxrem.adr' contenente gli indirizzi degli interrupt di tastiera, video e seriale, nonchè il nome della porta utilizzata. Tale file è indispensabile nel caso si voglia lanciare un Cux con l'opzione `-MY', tipicamente per effettuare del file-transfer utilizzando la stessa linea di comunicazione usata per stabilire la connessione tra due macchine (per maggiori spiegazioni sull'uso di tale opzione si veda il capitolo Il Cux come server remoto). Attenzione a non rimuovere e/o manomettere tale file, dal momento che una sua eventuale modifica, anche casuale, può compromettere l'uso corretto del programma, con conseguenze impredicibili.
Se il programma eseguito termina con un codice di errore diverso da zero l'istruzione `REMOTE' ritorna con il flag di errore impostato. Inoltre, al termine dell'esecuzione remota la variabile predefinita `RETURN' contiene il codice di uscita del comando remoto eseguito.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER'). Inoltre, ma solo in ambiente Unix/Xenix, lo stato di uscita del comando influisce anche sul valore del flag di timeout (cfr. i comandi `IFOUT' e `IFNOOUT').
Attenzione: in ambiente MsDos la caduta di portante durante l'esecuzione di tale comando e con il controllo di portante abilitato (cfr. comando `MODEMCTL') determina un reboot della macchina su cui è in esecuzione il comando `REMOTE'.
A partire dalla versione 4.0 è possibile utilizzare tale comando anche su linee Tcp/Ip.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ridenomina il file passato come primo parametro con il nome passato come secondo parametro. In ambiente Unix/Xenix se non si hanno i permessi opportuni per permettere l'operazione viene impostato il flag di errore.
CUX> RENAME file.txt pluto.txt ( Rinomina file.txt in pluto.txt ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Rimuove la directory passata come parametro. Se la directory non esiste oppure (in ambiente Unix/Xenix) esiste ma non si hanno i permessi opportuni per permetterne la rimozione viene impostato il flag di errore.
CUX> RMDIR /usr/tmp ( Rimuove la directory /usr/tmp ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando è del tutto equivalente al comando `SYSTEM' (cfr.) ad eccezione del fatto che su sistemi grafici ridirige l'input e l'output del programma nella finestra del programma stesso.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando, non disponibile solo in ambiente MsDos, permette di eseguire un processo in modo asincrono (background) rispetto al Cux in esecuzione, ovvero senza che il Cux ne attenda la terminazione. Il processo lanciato viene posto in un suo proprio gruppo di processi e la variabile predefinita `PIDCHILD' contiene il pid (cfr. comando `PS') dell'ultimo processo eseguito per mezzo del comando `SETPGRP'.
Attenzione che non è possibile utilizzare metacaratteri o simboli di ridirezione dell'I/O o di pipe che non verrebbero interpretati ma passati direttamente al programma specificato !
CUX> SETPGRP script1 ( Esegue il comando indicato ) CUX> LET pid1 $PIDCHILE ( Ne salva il pid ) CUX> SETPGRP script2 ( Esegue il comando indicato ) CUX> LET pid2 $PIDCHILE ( Ne salva il pid ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Esce momentaneamente dal programma e ritorna al sistema operativo. Per rientrare nel programma occorre digitare `exit'. È anche possibile digitare `!!' al posto di `SHELL'.
.......... CUX> SHELL ( Esce dal programma ) Battere 'exit' per rientrare nel programma. C:> dir .......... C:> exit 2 CUX> !! ( Esce dal programma ) Battere 'exit' per rientrare nel programma. .......... |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando è simile al comando `REMOTE' con la differenza che il suo utilizzo è rivolto a programmi che non necessitano di un controllo interattivo. Un suo tipico uso è rappresentato dalla trasmissione di file con protocolli esterni. Richiede un parametro, ovvero il nome del comando da eseguire. In ambiente Unix/Xenix il nome del comando può essere opzionalmente preceduto da un timeout espresso in minuti, timeout oltre il quale il processo lanciato viene terminato forzatamente.
A partire dalla release 3.8 il comando `SPAWN' assume significato anche in ambiente MsDos, dove rende disponibile a programmi esterni la gestione della linea di comunicazione effettuata dal Cux. A tale scopo serve ricordare che sono supportate esclusivamente le chiamate standard dell'interrupt 14 del BIOS (initialize, write, read, getstatus). Per maggiori spiegazioni si rimanda ai manuali e al Technical reference dell'MsDos.
Qui di seguito viene riportato un esempio d'uso del comando `SPAWN' in ambiente Unix/Xenix. Tale esempio descrive l'utilizzo del protocollo Zmodem come protocollo esterno.
CUX> CONV ( Entra in conversazionale ) sz pippo.txt CUX> SPAWN 20 rz ( Esegue il comando rz ) ( con un timeout di 20 minuti ) rz ready. To begin transfer, type "sz file" to your modem program Incoming: pippo.txt 8704 4767120520 100644 Receveing pippo.txt BIN w CUX> |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER'). Inoltre, ma solo in ambiente Unix/Xenix, lo stato di uscita del comando influisce anche sul valore del flag di timeout (cfr. i comandi `IFOUT' e `IFNOOUT').
A partire dalla versione 4.0 è possibile utilizzare tale comando anche su linee Tcp/Ip.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Gestione spooler di stampa. Nella versione per Windows95/98/NT, se non indicati parametri, fornisce l'elenco delle stampanti. Il primo parametro è il file da stampare, mentre il secondo la stampante. Se omesso questo parametro il file fiene dirottato sulla stampante di default.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Permette di eseguire un comando del sistema operativo utilizzato. Se non è seguito da alcun parametro si comporta come il comando `SHELL' (cfr.) lanciando la shell del sistema operativo utilizzato. Altrimenti il primo parametro indica il comando di sistema da eseguire e ogni altro parametro presente oltre al nome del comando viene passato come argomento al comando di sistema in questione. Al termine dell'esecuzione del comando indicato il controllo ritorna al Cux e la variabile predefinita `RETURN' contiene il codice di ritorno (errorlevel) del comando di sistema eseguito. È anche possibile digitare `!' al posto di `SYSTEM'.
CUX> SYSTEM ls ( Elenco directory ) pippo.txt CUX> SYSTEM echo Prima prova > prova.txt ( Crea un file ) CUX> CAT prova.txt ( Lo visualizza ) Prima prova CUX> ! ls ( Elenco directory ) prova.txt pippo.txt CUX> ! exit 2 CUX> MESG $RETURN 2 CUX> |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Crea il file vuoto passato come parametro. Attenzione che se il file esiste già il contenuto originario viene perso. Inoltre, in ambiente Unix/Xenix, se non si hanno i permessi opportuni per permetterne la creazione viene impostato il flag di errore.
CUX> TOUCH prova.txt ( Crea il file prova.txt vuoto ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando, attivo solo in ambiente Unix/Xenix, permette di cambiare utente, passando a quello del parametro specificato, il quale deve essere una stringa alfanumerica corrispondente ad un utente conosciuto dal sistema. Per eseguire il comando occorre tuttavia essere root o comunque avere privilegi equivalenti.
CUX> USER demo ( Imposta lo user-id ) |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Visualizza la stringa data come parametro e attende una stringa come risposta (terminata da un <ENTER> o da un `\n'). La stringa digitata come risposta viene assegnata alla variabile `WORD'. Inoltre, se la stringa è un numero il suo valore verrà posto nel contatore interno, il quale altrimenti viene azzerato.
La stringa da visualizzare può essere opzionalmente preceduta da un timeout, espresso in secondi. In tal caso se l'istruzione esce per timeout, ovvero se non viene digitata nessuna stringa entro il tempo specificato come timeout, viene impostato il flag di errore (cfr. i comandi `IFER' e `IFNOER') e il flag di timeout (cfr. i comandi `IFOUT' e `IFNOOUT').
Se non viene specificato alcun timeout, l'attesa della stringa di risposta si intende infinita.
Se la stringa data è racchiusa tra doppi apici (`"') sono ammessi i soliti caratteri speciali (cfr. comando `STRING').
CUX> ASK 5 <Enter> per continuare ( Attende una risposta ) <Enter> per continuare ( per non più di 5 secondi ) ........... CUX> IFOUT GOTO ERRTIMEOUT ( In caso di timeout salta ) ( alla routine opportuna ) |
Attenzione: nel caso CUX lavori in modalità HALF DUPLEX il comando `ASK' visualizzerà a video `*' in sostituzione dei caratteri digitati.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando, speculare all'opzione `-fc', permette di eseguire una serie di istruzioni del Cux contenute in un file, detto appunto batch, il quale deve essere specificato come parametro. Il file indicato viene cercato inizialmente nella directory corrente e, se tale ricerca non ha successo, viene cercato nella directory specificata dalla variabile di environment `CUXPATH', se tale variabile è definita. Se il file specificato non esiste viene tentata la ricerca del file con lo stesso nome ma con estensione `.cux', e ancora prima nella directory corrente e successivamente nella eventuale directory indicata dalla variabile `CUXPATH'.
Il comando ritorna con il flag di errore impostato se tutti questi tentativi di ricerca non hanno successo, oppure se il file esiste e viene trovato ma contiene errori sintattici che ne precludono l'esecuzione, oppure ancora se è attiva la lettura di file di comandi crittografati e il file che si vuole eseguire non è crittografato.
Al termine delle istruzioni contenute nel file si può ritornare al Cux o al sistema operativo: questa differenza è dovuta alla possibilità di terminare un file di comandi con l'istruzione `END' o con una tra le istruzionii `BYE', `EXIT' o `QUIT'. È anche possibile digitare `@' al posto di `BATCH'.
CUX> BATCH prova.cux ( Esegue il file batch scelto ) .......... |
CUX> #MUTE ON ( Disabilita l'eco dei comandi a video ) |
Per ulteriori informazioni sull'uso dei file batch si rimanda alla spiegazione relativa alla variabile di environment `CUXPATH' contenuta nell'appendice L'environment.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Trasferisce l'elaborazione al sottoprogramma Cux indicato come parametro. Il ritorno al chiamante si ottiene col comando `RETURN'. La ricerca del file da eseguire avviene secondo le stesse regole riportate a proposito del comando `BATCH'.
Come per il comando `BATCH', il comando ritorna con il flag di errore impostato se i tentativi di ricerca del file da eseguire non hanno successo, oppure se il file esiste e viene trovato ma contiene errori sintattici che ne precludono l'esecuzione, oppure ancora se è attiva la lettura di file di comandi crittografati e il file che si vuole eseguire non è crittografato.
Inoltre, al ritorno dal sottoprogramma la variabile predefinita `RETURN' conterrà il codice di ritorno del sottoprogramma eseguito.
Da sottolineare che tale comando preserva lo stato del contatore interno.
CUX> CALL prova.cux ( Esegue il file batch scelto ) CUX> IFER GOTO errore ............ CUX> LABEL errore ............ |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Dopo aver specificato questo comando è possibile digitare una serie di informazioni di commento che non verrano interpretate dal Cux. Questo comando è utile nei file batch per inserire delle annotazioni sulle operazioni che verranno eseguite.
CUX> COM Esempio di commento ........... |
CUX> COM Esempio di commento CUX> COM suddiviso in due righe ........... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Confronta lessicograficamente due stringhe e assegna alla variabile predefinita `WHICH' il valore codificato dell'esito del confronto, ovvero uno tra i valori 0, 1 e 2, a seconda che la prima stringa risulti lessicograficamente uguale, maggiore o minore della seconda. Da sottolineare che una o entrambe le stringhe possono essere variabili. In tal caso il confronto sarà effettuato con il contenuto della variabile o delle variabili.
CUX> LET A bello CUX> COMPARE $A ballo CUX> MESG $WHICH 1 CUX> COMPARE $A bullo CUX> MESG $WHICH 2 CUX> COMPARE $A bello CUX> MESG $WHICH 0 .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Confronta algebricamente due stringhe numeriche e assegna alla variabile predefinita `WHICH' il valore codificato dell'esito del confronto, ovvero uno tra i valori 0, 1 e 2, a seconda che la prima stringa risulti algebricamente uguale, maggiore o minore della seconda. Ogni stringa non numerica assume il valore numerico 0 (zero). Da sottolineare che una o entrambe le stringhe possono essere variabili. In tal caso il confronto sarà effettuato con il contenuto della variabile o delle variabili.
CUX> LET A 10 CUX> COMPAREN $A 20 CUX> MESG $WHICH 2 CUX> COMPAREN -10 pippo CUX> MESG $WHICH 1 .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Calcola un'espressione algebrica assegnando il valore alla variabile specificata, secondo la sintassi:
compute var expr |
CUX> LET A 10 CUX> COMPUTE VAR ( $A + 5 ) * 2 CUX> MESG $VAR 30 CUX> LET VAR X CUX> COMPUTE $VAR ( $A + 5 ) * 2 CUX> MESG $X 30 |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' e `OFF' (default). Se impostato a `ON' abilita l'esecuzione esclusivamente di batch crittografati, mentre se impostato a `OFF' possono essere eseguiti solamente batch non crittografati. Se è impostato a `ON' il programma segnala come errore ogni tentativo di eseguire un batch non crittografato. Se invece il comando è impostato a `OFF' il risultato di un tentativo di eseguire un batch crittografato non è predicibile, dal momento che il programma tenterà comunque di eseguire il batch riga per riga; il risultato più probabile è la visualizzazione del messaggio di errore `Comando sconosciuto!' alla lettura di ogni riga del batch in questione, anche se non è da escludere la probabilità (per quanto remota) che il risultato della crittografazione venga a corrispondere ad un comando o ad una macro dotata di senso, nel qual caso la riga del batch verrà eseguita!
CUX> CRYPT ON ( Abilita la crittografazione ) |
cuxcrypt sorgente destinazione |
Attenzione: possono essere crittografati solo sorgenti di dimensioni non superiori ai 64 Kbyte.
Il programma `cuxcrypt' deve essere usato in congiunzione con l'opzione `-CR' al lancio del Cux, oppure, in alternativa, con il comando `CRYPT'.
Se si vuole impiegare un file di comandi crittografato occorre procedere quindi secondo i seguenti passi:
cuxcrypt < prova.cux > prova.cry |
cux -CR -fc prova.cry |
CUX> CRYPT ON CUX> CALL prova.cry |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Introduce un ritardo in secondi tra l'esecuzione dei comandi; in questo modo è possibile controllare l'esecuzione di ogni singolo comando di un file batch per trovare eventuali errori in fase di debugging.
CUX> DEBUG 5 ( Introduce un ritardo di 5 secondi ) ............ CUX> DIAL connect (2400) CUX> CONV ........... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Decrementa il contatore interno; se dopo questa operazione il contatore è uguale a zero viene cambiato il valore del flag di errore.
.......... CUX> SETCOUNT 5 ( Inizializza il contatore ) CUX> LABEL TENTATIVO ( Definisce la label TENTATIVO ) CUX> DIAL ( Effettua una chiama ) CUX> IFNOER BATCH conv.cux ( In caso di successo esegue ) ( il batch conv.cux ) CUX> DECCOUNT ( Decrementa il contatore ) CUX> IFNOER GOTO TENTATIVO ( Se contatore diverso da zero ) ( torna a TENTATIVO ) CUX> COMMAND ( Torna in modalità comandi ) CUX> HANGUP OFF ( Sgancia la linea ) CUX> EXIT ( Esce da Cux ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando `DELAY' permette di introdurre un ritardo del numero di secondi indicato come parametro. Il massimo ritardo specificabile è 100000000.
CUX> PROTOC CUXENC ( Specifica il tipo di protocollo ) CUX> SEND pippo.exe ( Trasmette il file ) CUX> DELAY 15 ( Introduce un ritardo di 15 secondi ) CUX> SEND pippo.com ( Trasmette il file ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Converte tutti i caratteri `/' (slash) occorrenti nella variabile indicata come parametro in caratteri `\' (backslash).
CUX> LET VAR /usr/varie/tmp ( Imposta la variabile ) CUX> DOSPATH VAR ( La converte ) CUX> MESG $VAR ( La visualizza convertita ) \usr\varie\tmp .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Termina il file batch e ritorna al prompt del Cux.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Legge dal file indicato come primo parametro e assegna alla variabile indicata come secondo parametro la riga indicata come terzo parametro. La numerazione delle righe inizia da 1. Il file deve essere di tipo sequenziale a righe di caratteri terminate da newline. Il comando imposta il flag di errore se il file o la riga non esistono. Se ad esempio il file `pippo' contiene le righe
prima riga di prova seconda riga di prova prima terza di prova |
CUX> GET pippo VAR 2 ( Legge la riga indicata ) CUX> MESG $VAR ( La visualizza ) seconda riga di prova |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Istruzione di salto ad una label (cfr. comando `LABEL'). Il comando deve essere seguito dal nome dell'etichetta a partire dalla quale dovrà continuare l'esecuzione del batch. Se l'etichetta specificata non esiste il programma termina con errorlevel 5.
CUX> GOTO ETICHETTA ........... CUX> LABEL ETICHETTA CUX> MESG "Sono alla label ETICHETTA" Sono alla label ETICHETTA .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando di salto condizionato ad una label, a seconda del valore della variabile predefinita `WHICH'. Il comando deve essere seguito dai nomi delle etichette, separati solo dalla virgola: il flusso dei comandi salterà alla prima etichetta se `WHICH' vale 0, alla seconda etichetta se `WHICH' vale 1, e cos`ì di seguito.
Dalla versione 4.0 se `WHICH' ha un valore superiore al numero delle etichette specificate salterà alla etichetta `GOTOERROR'. Se l'etichetta puntata da `GOTONUM' non esiste il programma termina con errorlevel 5.
CUX> LET WHICH 1 ( Imposta la variabile WHICH ) CUX> GOTONUM OK,NONE ( Istruzione di salto condizionale ) .......... CUX> LABEL NONE ( In tal caso salta alla label NONE ) .......... |
.......... CUX> RSTRING "a","b","c","d","e" CUX> GOTONUM L_ERR,L_A,L_B,L_C,L_D,L_E .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando assume un significato solo in relazione alle istruzioni che hanno la possibilità di modificare il valore del flag di errore. Deve essere seguito da uno o più parametri che rappresentano il comando da eseguire nel caso il flag di errore sia impostato. L'istruzione `IFER' è utile per verificare lo stato di uscita di un comando, ma occorre fare attenzione che tra l'esecuzione del comando da controllare e l'esecuzione dell'istruzione `IFER' non vengano eseguiti altri comandi che possano modificare il valore del flag di errore.
.......... CUX> SEND pippo.txt ( Trasmette il file specificato ) CUX> IFER BATCH pluto.cux ( Se vi è errore esegue il batch ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando assume un significato solo in relazione alle istruzioni che hanno la possibilità di modificare il valore del flag di errore. Deve essere seguito da uno o più parametri che rappresentano il comando da eseguire nel caso il flag di errore sia azzerato. Anche tale istruzione, come già l'istruzione `IFER', è utile per verificare lo stato di uscita di un comando, e anche in tal caso occorre fare attenzione che tra l'esecuzione del comando da controllare e l'esecuzione dell'istruzione `IFNOER' non vengano eseguiti altri comandi che possano modificare il valore del flag di errore.
.......... CUX> SEND pippo.txt ( Trasmette il file specificato ) CUX> IFNOER BATCH pluto.cux ( Se non vi è errore esegue il batch ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando assume un significato solo in relazione alle istruzioni che hanno la possibilità di modificare il valore del flag di timeout. Deve essere seguito da uno o più parametri che rappresentano il comando da eseguire nel caso il flag di timeout sia azzerato. L'istruzione `IFNOOUT' è utile per verificare lo stato di uscita di un comando, ma occorre fare attenzione che tra l'esecuzione del comando da controllare e l'esecuzione dell'istruzione `IFNOOUT' non vengano eseguiti altri comandi che possano modificare il valore del flag di timeout.
.......... CUX> RSTRING 10 OK ( Attende per 10 secondi la stringa ) CUX> IFNOOUT BATCH pluto.cux ( Se la riceve esegue il batch ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Questo comando assume un significato solo in relazione alle istruzioni che hanno la possibilità di modificare il valore del flag di timeout. Deve essere seguito da uno o più parametri che rappresentano il comando da eseguire nel caso il flag di timeout sia impostato. Anche tale istruzione, come già l'istruzione `IFNOOUT', è utile per verificare lo stato di uscita di un comando, e anche in tal caso occorre fare attenzione che tra l'esecuzione del comando da controllare e l'esecuzione dell'istruzione `IFOUT' non vengano eseguiti altri comandi che possano modificare il valore del flag di timeout.
.......... CUX> RSTRING 10 OK ( Attende per 10 secondi la stringa ) CUX> IFOUT BATCH pluto.cux ( Se non la riceve esegue il batch ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Incrementa il contatore interno; se dopo questa operazione il contatore è uguale a zero viene impostato il flag di errore.
CUX> PROTOC CUXTXT ( Definisce il tipo di protocollo ) CUX> SETCOUNT -3 ( Inizializza il contatore interno ) CUX> LABEL START ( Imposta l'etichetta di riferimento ) CUX> REC file.txt ( Riceve un file di testo ) CUX> IFNOER GOTO OK ( Se corretto salta alla label OK ) CUX> INCCOUNT ( Incrementa il contatore ) CUX> IFNOER GOTO START ( Se il contatore non vale 0 riprova ) CUX> GOTO ERR ( Se invece vale 0 salta alla label ERR ) ............. |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ammette come parametro uno dei due valori `ON' (default) e `OFF'. Se impostato a `ON' abilita l'interruzione dei comandi in esecuzione per mezzo del tasto <DEL>, mentre se impostato a `OFF' l'interruzione dei comandi è disabilitata.
CUX> INTERRUPT OFF ( Disabilita l'interrompibilità ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Istruzione di salto ad una label (cfr. comandi `GOTO' e `LABEL'). A differenza del comando `GOTO' ritorna al primo batch chiamato abbandonando tutte le `CALL'. Come il comando `GOTO' se l'etichetta specificata non esiste il programma termina con errorlevel 5.
CUX> JUMP etichetta ........... CUX> LABEL etichetta CUX> MESG "Sono alla label etichetta" Sono alla label etichetta .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Permette di definire un'etichetta di riferimento per i comandi di salto `GOTO', `GOTONUM' e `JUMP'.
CUX> LABEL inizio .......... CUX> ANSWER 300 CUX> IFNOER GOTO ricevi CUX> GOTO inizio CUX> LABEL ricevi CUX> REC file .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per la gestione di variabili. A partire dalla versione 3.8, il linguaggio di Cux è stato ampliato con l'introduzione delle variabili: oltre alla visibilità da programma delle variabili di environment, sono state introdotte delle variabili predefinite, alcune delle quali a sola lettura, e la possibilità per l'utente di definire nuove variabili.
Per quanto riguarda le variabili definite dall'utente, a seconda della sintassi con la quale è impiegato, il comando `LET' permette di (ri)definire una nuova variabile, oppure di annullare la definizione di una variabile definita dall'utente, oppure ancora di elencare tutte le variabili definite dall'utente durante un'esecuzione del programma.
Per definire una nuova variabile, o per ridefinirla, occorre usare il comando con la seguente sintassi:
let name value |
Possono essere definite al massimo 128 variabili, ognuna delle quali può contenere nella propria definizione al massimo 128 caratteri.
Le variabili definite sono globali ed esistono fino al termine dell'esecuzione del programma, a meno che non vengano esplicitamente rimosse per mezzo di una nuova assegnazione che non faccia seguire alcuna stringa al nome stesso della variabile, come nel seguente esempio:
let name |
let |
Per richiamare una variabile occorre far precedere al nome della variabile il simbolo del dollaro ($):
CUX> LET NOME Marco CUX> MESG Ciao, $NOME Ciao, Marco |
CUX> MESG $TERM ansi CUX> LET TERM uno CUX> MESG $TERM $term uno uno CUX> LET term altro CUX> MESG $TERM $term altro altro |
Esistono inoltre delle variabili predefinite, di cui viene fornito l'elenco di seguito. Quelle marcate con R sono a sola lettura e pertanto non possono essere modificate.
CONNECT
COUNTER
CUXPID (R)
DAY (R)
ENGLISH (R)
ERROR
FAX
FILE
FROM (R)
HOST (R)
HOUR (R)
LINE (R)
LOCALTIME
MINUTE (R)
MODMTYPE (R)
MONTH (R)
NUMBER
OPSYS (R)
PIDCHILD (R)
PWD (R)
RELEASE (R)
RETURN
SECOND (R)
SERIAL (R)
SUMMERTIME
TIMEOUT
VOICE
WHICH
WORD
YEAR (R)
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per la gestione di macro. A partire dalla versione 3.8, il linguaggio di Cux è stato ampliato con l'introduzione delle macro. A seconda della sintassi con la quale è impiegato, il comando permette di definire una macro, oppure di annullare la definizione di una macro, oppure ancora di elencare tutte le macro definite durante un'esecuzione del programma.
Per definire una macro occorre usare il comando con la seguente sintassi:
macro name value |
Possono essere definite al massimo 128 macro, ognuna delle quali può contenere nella propria definizione al massimo 128 caratteri.
Le macro definite sono globali ed esistono fino al termine dell'esecuzione del programma, a meno che non vengano esplicitamente rimosse per mezzo di una nuova assegnazione che non faccia seguire alcuna stringa al nome stesso della macro, come nel seguente esempio:
macro name |
macro |
Una macro può contenere nella propria definizione anche una o più variabili, le quali verranno espanse al momento dell'esecuzione della macro in questione:
CUX> MACRO CHIAMA DIAL $NUMERO |
CUX> CHIAMA |
CUX> DIAL 12345678 |
CUX> MACRO N1 MESG $N CUX> MACRO N2 MESG \$N CUX> MACRO N1 = MESG N2 = MESG $N CUX> LET N numero CUX> N1 CUX> N2 numero |
Inoltre, una macro può essere richiamata con uno o più parametri. Se ad esempio è stata definita la macro
CUX> MACRO CHIAMA DIAL |
CUX> DIAL 12345678 |
È inoltre possibile ricoprire un comando interno del Cux come nel seguente esempio:
CUX> MACRO CONV MESG Comando momentaneamente disabilitato |
CUX> MACRO CONV |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Visualizza una stringa a video. Se la stringa è racchiusa tra doppi apici (`"') sono ammessi i soliti caratteri speciali (cfr. comando `STRING').
CUX> MUTE ON CUX> MESG "\311\315\315\315\315\315\315\315\315\315\315" CUX> MESG "\315\315\315\315\315\315\315\315\315\315\315" CUX> MESG "\315\315\315\273\n" CUX> MESG "\272 Questo è un messaggio \272\n" CUX> MESG "\310\315\315\315\315\315\315\315\315\315\315" CUX> MESG "\315\315\315\315\315\315\315\315\315\315\315" CUX> MESG "\315\315\315\274\n" |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Scrive in append al file indicato come primo parametro la stringa specificata. Valgono le regole del comando `STRING' (cfr.) sui caratteri ammessi. Il comando imposta il flag di errore se il file non si può scrivere.
CUX> PUT pippo prima riga di prova ( Scrive la stringa sul file ) CUX> PUT pippo seconda riga di prova ( Scrive la stringa sul file ) CUX> CAT pippo ( Visualizza il file ) prima riga di prova seconda riga di prova .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tramite questo comando viene assegnato al flag di errore il valore di comando terminato correttamente (cfr. `IFER' e `IFNOER').
CUX> RESERR ( Azzera il flag di errore ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ritorna per mezzo della variabile `RETURN' il codice di errore specificato come parametro alla procedura chiamante con il comando `CALL'. Ritorna `0' (zero) se non è specificato alcun parametro.
Attenzione: se la chiamata è stata effettuata con il comando `BATCH' tutti `RETURN' presenti nello script saranno ignorati.
In combinazione con i comandi `CALL', `IFER' e `IFNOER' permette di realizzare dei controlli sul ritorno da procedure batch, come nel seguente esempio.
CUX> CALL batch.cux CUX> IFER RETURN 1 CUX> RETURN 0 |
CUX> CALL batch.cux CUX> RETURN $RETURN |
Attenzione: se la chiamata è stata effettuata con il comando `CALL', per le release precedenti alla 3.8 Cux il comando `RETURN' è equivalente al comando `EXIT'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Legge la stringa indicata come primo parametro e la separa in campi in base al separatore specificato come secondo parametro. Tali campi vengono quindi assegnati, nell'ordine, alle variabili `$0', `$1', ... La variabile predefinita `WHICH' contiene il numero di campi in cui è stata separata la stringa data. Con il successivo comando `SET' vengono eliminate tutte le variabili numeriche del precedente comando e generate quelle nuove. Se la stringa da spezzare contiene degli spazi allora deve essere racchiusa tra una coppia di doppi apici `"'.
CUX> ERASE pippo ( Rimuove il file ) CUX> PUT pippo prima riga di prova ( Scrive la stringa sul file ) CUX> GET pippo var 1 ( Legge la riga indicata ) CUX> MESG $var ( La visualizza ) prima riga di prova CUX> SET "$var" " " ( Imposta le variabili ) CUX> LET VAR = prima riga di prova 0 = prima 1 = riga 2 = di 3 = prova .......... |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta il contatore interno al valore indicato come parametro o lo riporta al default (che è zero) se non è indicato alcun valore. Il valore passato come parametro può essere un qualsiasi numero intero incluso tra -2147483648 e +2147483647.
CUX> SETCOUNT 1 ( Imposta il contatore a 1 ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Dando questo comando viene assegnato al flag di errore il valore di comando terminato in maniera errata (cfr. i comandi `IFER' e `IFNOER').
CUX> SETERR ( Imposta il flag di errore ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ricerca, a partire da sinistra, la prima occorrenza di un carattere specificato in una stringa data e ne memorizza la posizione nella variabile predefinita `WHICH', secondo la sintassi:
strchr c string |
CUX> STRCHR a alfabeto CUX> MESG $WHICH 1 .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Calcola la lunghezza, ovvero il numero di caratteri di una stringa data e la memorizza nella variabile predefinita `WHICH'. Da sottolineare che la stringa può essere una variabile. In tal caso il calcolo sarà effettuato sul contenuto della variabile.
CUX> STRLEN ciao CUX> MESG $WHICH 4 .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Ricerca, a partire da destra, la prima occorrenza di un carattere specificato in una stringa data e ne memorizza la posizione nella variabile predefinita `WHICH', secondo la sintassi:
strrchr c string |
CUX> STRRCHR a alfabeto CUX> MESG $WHICH 4 .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Estrae una sottostringa da una stringa data e la memorizza nella variabile specificata, secondo la sintassi:
strsub substring p n string |
CUX> STRSUB VAR1 1 4 alfabeto CUX> STRSUB VAR2 5 4 alfabeto CUX> MESG $VAR1 alfa CUX> MESG $VAR2 beto .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il comando permette di intercettare (trap) un determinato segnale (cfr. `KILL'), identificato da un nome, e di eseguire una specifica istruzione alla ricezione del segnale intercettato. Il comando deve essere seguito dal nome del segnale che si vuole intercettare e, opzionalmente, dall'istruzione che si vuole eseguire alla ricezione del segnale. Se non è specificato alcun comando dopo il nome del segnale, il segnale in questione viene ignorato. Non disponibile solo per ambienti MsDos.
CUX> TRAP USR2 ( Ignora il segnale USR2 ) CUX> TRAP TERM BATCH sig.cux ( Alla ricezione del segnale TERM ) ( esegue il batch `sig.cux' ) |
Possono essere intercettati solamente i segnali identificati dai seguenti nomi:
ILL TRAP IOT ABRT EMT BUS SEGV SYS PIPE TERM USR1 USR2 |
Inoltre, occorre sottolineare che i due nomi `IOT' e `ABRT' si riferiscono allo stesso segnale: esiste infatti una differenza nelle varie versioni dei sistemi Unix, a causa della quale lo stesso segnale viene identificato da nomi distinti. In particolare negli Unix System V R4 il segnale in questione è identificato dal nome `ABRT' mentre nelle altre versioni di Unix lo stesso segnale è identificato dal nome `IOT'. Si è quindi voluta offrire la possibilità di riferirsi al segnale con lo stesso nome con il quale il segnale è noto al sistema.
Attenzione però che i segnali `TERM', `USR1' e `USR2' sono utilizzati durante la modalità operativa conversazionale (cfr. comando `CONV') assumendo rispettivamente lo speciale significato di `termine conversazionale', `disattivazione autosave' e `attivazione autosave'. Fuori da tale modalità operativa si consiglia comunque di usare preferibilmente proprio i segnali `TERM', `USR1' e `USR2'.
CUX> TRAP TERM GOTO TRAPPED ( Alla ricezione del segnale TERM ) ( salta all'etichetta TRAPPED ) CUX> LET VAR 0 ( Imposta la variabile VAR a 0 ) CUX> MESG $VAR ( Ne visualizza il contenuto ) 0 CUX> COMPUTE VAR $VAR + 1 ( Incrementa la variabile VAR ) CUX> MESG $VAR ( Ne visualizza il contenuto ) 1 |
CUX> TRAP TERM GOTO TRAPPED ( Alla ricezione del segnale TERM ) ( salta all'etichetta TRAPPED ) CUX> LET VAR 0 ( Imposta la variabile VAR a 0 ) CUX> MESG $VAR ( Ne visualizza il contenuto ) 0 CUX> TRAP TERM ( Ignora il segnale TERM ) CUX> COMPUTE VAR $VAR + 1 ( Incrementa la variabile VAR ) CUX> TRAP TERM GOTO TRAPPED ( Intercetta il segnale TERM ) CUX> MESG $VAR ( Ne visualizza il contenuto ) 1 |
A partire dalla versione 4.0, è disponibile lo pseudosegnale `CD' in ambiente Windows/95/98/NT e MsDos, generato internamente in seguito alla caduta della portante. È cos`ì possibile eseguire determinate istruzioni in caso di caduta di linea:
CUX> TRAP CD GOTO NOCARRIER ( Alla ricezione dello pseudosegnale ) ( CD salta all'etichetta NOCARRIER ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Converte tutti i caratteri `\' (backslash) occorrenti nella variabile indicata come parametro in caratteri `/' (slash).
CUX> LET VAR \usr\varie\tmp ( Imposta la variabile ) CUX> UNIXPATH VAR ( La converte ) CUX> MESG $VAR ( La visualizza convertita ) /usr/varie/tmp .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Imposta la stringa di identificazione del modemfax, la quale deve essere racchiusa tra una coppia di doppi apici `"'. Vedere la capability `F8' nel file `modmcap'.
CUX> IDENFAX "02/12345678" ........... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Esegue l'istruzione passata come parametro al comando se l'ultima connessione è stata con un modemfax.
CUX> IFFAX GOTO SPEDISCI ( Se la connessione è con un modemfax ) ........... ( salta all'etichetta SPEDISCI ) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Riceve un fax in formato G3 salvandolo nel file indicato come parametro o nella variabile `FILE' se non è specificato alcun parametro. Il fax ricevuto viene salvato in file di una pagina fax ciascuno, ovvero ciascun file contiene una pagina del fax ricevuto. Mentre il nome del file può essere scelto, l'estensione del file viene impostata automaticamente in un numero a 3 cifre in modo da indicare, partendo da 0, il numero progressivo di pagina: sarà quindi `.NNN' dove `NNN' è il numero progressivo delle pagine.
Il comando imposta automaticamente la variabile predefinita `WORD' all'identificativo del fax remoto, se questo esiste, la variabile predefinita `WHICH' al tipo di risoluzione negoziata, valendo 0 o 1 a seconda che la risoluzione sia rispettivamente bassa o alta, e la variabile predefinita `RETURN' al numero di pagine ricevute correttamente.
Se nel file `modmcap' è presente la capability booleana `Rv' le pagine da spedire sono in modalità reverse.
CUX> ANSWER ( Attende una chiamata ) CUX> IFFAX GOTO RICEVI ( Se è chiamato da un fax salta ) ( all'etichetta RICEVI ) ........... CUX> LABEL RICEVI CUX> RECFAX ./pagfax ( Riceve il fax nel file ./pagfax ) ........... |
./pagfax.000 ./pagfax.001 ./pagfax.002 |
Per informazioni sulla risoluzione del fax ricevuto si veda l'appendice Il file di log.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Inizializza il modem in modalità fax forzando la linea a 8 bit, con parità none e 1 bit di stop. Si consiglia inoltre di impostare una velocità di 19200 baud (cfr. comando `BAUD') e un blocco dati di 1024 byte (cfr. comando `LENREK').
Nell'impiego di tale comando vengono utilizzate le capability `Rf', `F8', `G0' e `G1' del file `modmcap'.
Attenzione: per utilizzare tale funzione il modem deve supportare la `CLASSE 2'.
CUX> INIT MODEMFAX ( Carica il modem opportuno ) CUX> RESETFAX ( Lo inizializza ) CUX> IFER GOTO ERRFAX ( In caso di errore salta ) ( all'etichetta ERRFAX ) CUX> SENDFAX ./pagfax ( Spedisce il fax ./pagfax ) ........... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Invia un fax. Le pagine di cui è formato il fax devono essere elencate, una per riga, nel file indicato come parametro o nel file indicato nella variabile `FILE' se non è specificato alcun parametro. In sostanza, il file deve rappresentare l'elenco delle pagine da spedire. Se il file contiene metacaratteri (ad esempio `*.fax') verranno spediti come un unico fax tutte le pagine elencate in tutti i file che corrispondono al pattern specificato.
Il comando imposta automaticamente la variabile predefinita `RETURN' al numero di pagine trasmesse correttamente.
Per ottimizzare la velocità di trasmissione si consiglia di impostare la lunghezza del record (cfr. comando `LENREK') a 1024 byte.
Le pagine da spedire devono essere in formato G3 e tutte alla medesima risoluzione: alta se la capability `G0' nel file `modmcap' ha il primo valore uguale a 1, bassa se uguale a 0.
Se nel file `modmcap' è presente la capability booleana `Rv' le pagine in ingresso al Cux sono in modalità reverse.
Nel seguente esempio, dopo aver opportunamente inizializzato il modem, si procede alla trasmissione del fax scelto.
CUX> INIT MODEMFAX ( Carica il modem MODEMFAX ) CUX> RESETFAX ( Lo inizializza ) CUX> IFER GOTO ERRFAX ( In caso di errore salta ) ( all'etichetta ERRFAX ) CUX> SENDFAX ./pagfax ( Spedisce il fax ./pagfax ) ........... |
./pagina.000 ./pagina.001 ./pagina.002 |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Esegue il comando indicato come parametro se l'ultima connessione era a voce.
CUX> IFVOICE BATCH bat.cux ( Se connessione voice esegue il batch ) .......... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Riceve un file-voice salvandolo nel file indicato come parametro o nel file indicato dalla variabile `FILE' se non è indicato alcun parametro. Se il comando è seguito da un parametro numerico questo indica il numero massimo di secondi di durata del trasferimento (per default 60).
Poi può seguire un parametro che rappresenta un elenco di azioni che possono far terminare il trasferimento; in tal caso viene salvata nella variabile `WHICH' il codice dell'azione che ha determinato l'interruzione. Nel seguito viene riportato l'elenco delle possibili azioni, unitamente al codice e al valore impostato nella variabile `WHICH' (le azioni i cui codici sono `l', `L', `b', `s' e `q' sono sempre controllate):
Which Codice Descrizione 0 Nessuna azione 1 1 DTMF 1 2 2 DTMF 2 3 3 DTMF 3 4 4 DTMF 4 5 5 DTMF 5 6 6 DTMF 6 7 7 DTMF 7 8 8 DTMF 8 9 9 DTMF 9 10 0 DTMF 0 11 A Extended DTMF A 12 B Extended DTMF B 13 C Extended DTMF C 14 D Extended DTMF D 15 * Extended DTMF * 16 # Extended DTMF # 17 o Rx overrun 18 c Fax call 19 e Data call 20 h Local on-hook 21 H Local off-hook 22 s Silence 23 q Quiet 24 $ Bong tone 25 l Remote hangup 26 L Remote hangup or other 27 r Ringback 28 b Busy 29 d Dial tone 30 u Tx underrun 31 a Data answer tone 32 R Ring |
CUX> RECVOICE file.rmd 60 l1 ( Salva in file.rmd per 60 secondi ) ........... ( Interrompre in caso di hangup remoto o ) ........... ( se riceve DTMF 1. ) |
rmdtopvf -8 file.rmd file.pvf ( Conversione di transito in pvf ) pvftowav file.pvf file.wav ( Conversione da pvf a wav ) pvftowav file.pvf file.au ( Conversione da pvf a au ) pvftowav file.pvf file.voc ( Conversione da pvf a voc ) |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Inizializza il modem in modalità voice forzando la linea a 8 bit, con parità none e 1 bit di stop. Si consiglia inoltre di impostare una velocità di almeno 19200 baud (cfr. comando `BAUD').
Nell'impiego di tale comando viene utilizzata la capability `Vc' (cfr.) del file `modmcap'.
Attenzione: per utilizzare tale funzione il modem deve supportare la `CLASSE 8'.
CUX> INIT MODEMVOICE ( Carica il modem opportuno ) CUX> RESETVOICE ( Lo inizializza ) CUX> IFER GOTO ERRVOICE ( In caso di errore salta ) ( all'etichetta ERRVOICE ) CUX> SENDVOICE ./file ( Spedisce il file ./file ) ........... |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Invia il file-voice indicato come parametro o il file specificato dalla variabile `FILE' se non è indicato alcun parametro. Poi può seguire un parametro che rappresenta un elenco di azioni che possono far terminare il trasferimento; in tal caso viene salvata nella variabile `WHICH' il codice dell'azione che ha determinato l'interruzione.
Per le azioni ammesse, i codici corrispondenti e i valore assegnati alla variabile `WHICH' si rimanda al comando `RECVOICE' (cfr). I comandi lLbsq sono sempre controllati.
Ogni `>' visualizzato corrisponde a 1024 bytes spediti.
CUX> SENDVOICE file ( Invia il file e interrompre in caso di ) ........... ( hangup remoto o se riceve DTMF 1. ) |
Per ottenere, per sermpio, un file di tipo rmd con compressione 2,9600 da file @cite(wav), @cite(au) o @cite(voc) con:
wavtopvf -8 file.wav file.pvf pvftormd ZyXEL_2864 2 file.pvf file.rmd |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
I comandi di questo gruppo, introdotto con la versione 4.0 di Cux, permettono di interagire con i server di specifici servizi Tcp/Ip. Ovviamente la porta utilizzata deve essere di tipo Tcp/Ip e deve essere configurata in modalità client.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per la sincronizzazione dell'ora di sistema avvelendosi di servizi TCP/IP o via modem.
La precisione del settaggio su linea modem è circa di un secondo, mentre su rete dipende dalla distanza della macchina che fornisce il servizio daytime e dai tempi ti propagazione su rete (WWW).
NB: questo comando può essere eseguito solo dall'amministratore di sistema (Administrator per WindowsNT o root per UNIX) quando il sistema operativo lo prevede.
Il formato standard dell'ora è: `yyyy-mm-dd hh:mm:ss stringa *CRLF'.
I parametri per i comando `CUXSYNC' per motificare il formato della data e dell'ora sono:
TCP
UTC
USA
TZ
........... CUX> log tempo CUX> port TCP_C 13 time.ien.it ( Connessione al Public NTP Time ) ( Server del Istituto Galileo ) ( Ferraris di Torino 193.204.114.1 ) CUX> cuxsync TCP CUX> close ........... |
........... CUX> log tempo CUX> port COM2 CUX> dial 166114615 ( Istituto Galileo Ferraris di ) ( Torino, servizio a pagamento ) CUX> cuxsync TZ CUX> command CUX> hangup CUX> close ........... |
........... CUX> log tempo CUX> port COM2 CUX> dial 001/3034944774 ( Segnale orario statunitense ) CUX> cuxsync USA CUX> command CUX> hangup CUX> close ........... |
Alcuni sistemi operativi per far si che la data e l'ora vengano salvate nell'orologio CMOS hanno bisogno dell'esecuzione di programmi specifici. Ciò è possibile renderlo automatico valorizzando la variabile di environment DYNACLOCK con la stringa di chiamata dell'esegiobile coi relativi parametri. Per esempio su Linux si può settare l'orologio CMOS col programma `clock -u -w' o `hwclock -u -w'.
Nel caso standard via modem e di quello USA, il comando si comporta come i protocolli di file transfer ed è possibile utilizzare il comando `RETRY' in caso di errori di trasmissione.
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER')
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando per usufruire del servizio FTP tramite un insieme di sottocomandi che vengono indicati come primo parametro.
I comandi disponibili sono:
FTP INTERN TIMEOUT nn
FTP INTERN COMMOUT nn
FTP INTERN INTERACT SsYy|Nn
FTP READHE
FTP SYST
FTP USER nomeuser
FTP PASS passwd
FTP TYPE I|A|..
FTP GET rem_nome [local_nome]
FTP PUT local_nome [rem_nome]
FTP PWD
FTP CD nome_dir
FTP DIR [nome_dir]
FTP LIST [nome_dir]
FTP MKDIR nome_dir
FTP RMDIR nome_dir
FTP RCMD comm
FTP NOOP
FTP DEL nome_file
FTP RENA nome_old nome_new
FTP HELP
FTP SIZE nome_file
FTP SITE comm [param ...]
FTP STAT [nome_file o meta]
FTP ACCT account
FTP FREE comm [param ...]
FTP QUIT
Il comando modifica il valore della variabile `WHICH' e la variabile `CONNECT'. Se il valore della variabile `WHICH' è:
minore di 300 per operazione riuscita a buon fine, compreso tra 300 e 400 l'operazione è riuscita ma non terminata (per esempio USER che richiede la password), compreso tra 400 e 600 errore ordinario FTP, uguale a 800 operazione iterrotta dall'operatore, uguale a 850 timeout interno raggiunto, uguale a 900 chiusura connessione dal server per timeout. |
N.B.: genera log nel file .SAV (cfr. `CMDSAVE')
CUX> port FTP 21 ftp.dynamica.it ( Apre la connessione con il server FTP ) ( ftp.dynamica.it sul servizio 80 ) CUX> ftp USER anonymous ( Invia nome utente ) A>331 Guest login ok, send your complete e-mail address as password. CUX> ftp PASS mymail@mydom.it A>230-Welcome, archive user at dynalx ! 230-Max user: 10 230-Actual user: 1 230 Guest login ok, access restrictions apply. .......... .......... .......... CUX> ftp dir A>200 PORT command successful. C>150 Opening ASCII mode data connection for /bin/ls. 226 Transfer complete. total 6 drwxr-xr-x 15 root root 1024 Apr 19 03:07 . drwxr-xr-x 15 root root 1024 Apr 19 03:07 .. d--x--x--x 2 root root 1024 Apr 2 1998 bin drwxr-xr-x 2 root root 1024 Mar 30 1998 docs d--x--x--x 2 root root 1024 Jan 15 1997 etc .......... .......... .......... CUX> ftp QUIT A>221 Goodbye. CUX> close |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER').
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando permette di interagire con il server HTTP scelto. Necessita del comando `PORT' per aprire la connessione TCP con il server prescelto. Il comando ha le seguenti sintassi:
http GET path fileout [SEC:n] [OVER] [INFO] http HEAD path fileout [SEC:n] [INFO] http POST path fileout stringa_parametri|filein [SEC:n] [INFO] |
Il primo parametro è il l'azione da compiere:
Comando Descrizione `GET' Preleva un file `HEAD' Preleva la testata HTTP `POST' Invia query al server HTTP |
Il secondo parametro path è il nome del file da scaricare, completo di percorso del server HTTP (URL), per esempio: /download/cux/example.htm
Il terzo fileout è il nome del file in cui salvare il file ricevuto.
Per l'azione `POST' il quarto parametro è obbligatorio e deve essere o una stringa o un file che la contenga (filein).
Cux interpreta tale parametro come una stringa o come il nome di un file a seconda della presenza o meno dei doppi apici.
La stringa deve essere al massimo di 128 caratteri, rachiusa tra doppi apici `"') e deve indicare la query che si vuol inviare al server HTTP.
I rimanenti parametri opzionali sono:
SEC:n
INFO
OVER
In caso di errore il comando `HTTP' ritorna uno tra i seguenti codici:
Codice Descrizione 2 Errore inerente la linea di comunicazione. 3 Errore inerente il file di input. 4 Errore inerente il file di output. 5 Errore inerente al sottocomando HTTP. 6 Errore relativo all'header. 7 Errore relativo al corpo del file. 8 Errore ricezione codice. Pagina non ricevuta dal server. 9 Errore segnalato dal server. |
Per esempio:
CUX> port TCP_C 80 www.dynamica.it ( Apre la connessione con il server HTTP ) ( www.dynamica.it sul servizio 80 ) CUX> http GET /index.htm index.htm SEC:180 OVER INFO ( Scarica in modo forzato, il file ) ( index.htm con la testata aspettando ) ( massimo 3 minuti ) CUX> close ( Chiude la connessione ) CUX> port TCP_C 80 www.dynamica.it ( Riapre la connessione ) .......... .......... .......... CUX> close ( Richiude la connessione ) |
Dopo ogni comando HTTP si DEVE chidere la connessione TCP con il server.
Se abilitato produce un file di log (cfr. comando `LOG').
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') e modifica il valore della variabile `WHICH'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Attiva il CUX per fare da server LPD (server di stampa) con la seguente sintassi:
LPD [S<nnn>][|N] [rootdir]
S<nnn>
Nota per chi ha anche lo scansore delle directory: tale spazio sul disco/filesystem non è garantito nel caso in cui i driver delle stampanti preprocessino i file da stampare generando a loro volta dei file intermedi sullo stesso disco/filesystem.
N
rootdir
Attenzione: se specificata la directory deve già esistere. Il comando LPD genera soltanto le directory per le code di stampa.
Genera informazioni nel file di log standard CUX (cfr. comando `LOG').
Nota utenti Unix: Sotto unix per lanciare questo spooler sulla porta TCP 515 (porta ufficiale dell'LPD che è ad esso riservata) occorre che non sia già attivo uno server LPD di sistema ed essere root o avere il cux suiddato come tale.
Esempio d'uso, attiva la coda di stampa generando le directory delle
code di stampa in /usr/local/myspool
e dando un limite minimo di
spazio da lasciare disponibile di 10Mb:
CUX> PORT LPD 515 CUX> LPD S10240 /usr/local/myspool ...... ...... ...... [DEL] <Per uscire dallo stato di server> CUX> CLOSE |
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') e modifica il valore della variabile `WHICH'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando che permette di fare delle richieste ad un server LPD compresa quella di stampare uno o più file.
LPR [[-]opt1[|...[|[-]optn]..]] [<file> <file2> <file3> .. ]
DESCRIZIONE DI TUTTE LE OPZIONI:
H<nome_host|IP address>
P<user_name|user_id>
J<job>
C[classe]
L<user_name>
M<e-mail_address>
I<n>
T<title>
W<n>
1<nome_file>
2<nome_file>
3<nome_file>
4<nome_file>
S<nome_stampante>
X<n>
Y<type>
`c'
`d'
`f'
`g'
`l'
`n'
`o'
`p'
`r'
`t'
`v'
Z<n>
`1' Restart
Descrizione: Sollecita la scansione di una coda di stampa da parte del server LPD.
Paramentri: L'unico parametro "S
`2' Send a printer-job
Descrizione: Manda verso un server LPD un printer-job composto da uno o piu' file da stampare.
Parametri: Gestisce tutte le opzioni tranne `F' e `B'.
`3' Status short
Descrizione: Richiede una breve descrizione dello stato di una coda; se specificati utente o job-number la descrizione si limita ai job appartenenti all'utente indicato o con il tale job-number. L'output di tale comando può essere salvato su file (opt `F'), mandato a video in modo interattivo (opt `B') oppure in modo non interattivo (default).
Parametri: Il nome della stampante è mandatorio, <lista> è un elenco di utenti e/o job-number; le opzioni facoltative sono la `A' , la `F' e la `B' (la `F' ha priorita' sulla `B').
4 Status long
Descrizione: Come sopra soltanto che descrive in modo più dettagliato ogni printer-job.
Parametri: Come "Status short".
5 Remove jobs
Descrizione: Come sopra soltanto che descrive in modo più dettagliato ogni printer-job.
Parametri: Come "Status short" con in più l'opzione P per forzare l'utente richiedente la rimozione (sarà necessario nel caso si debbano cancellare file non propri).
A<n>
Q
F<file_name>
B
-[x]
Attenzione: le opzioni vengono processate da sinistra a destra; se la stessa opzione compare più volte sulla riga di comando il suo stato sarà quello impostato più a destra sulla linea di comando. Le varie opzioni vengono separate con un carattere `|'.
Attenzione: esiste una riga di opzioni di default che viene sempre anteposta a quella eventualmente specificata su riga di comando; tale default è: "Z2|A10|Yf|L|"
ESEMPI:
stampa di uno o più file:
CUX> PORT LPR 515 <host> CUX> LPR S<nome_stampante> <file> [<file2> <file3> .. ] ...... ...... ...... CUX> CLOSE |
visione dello stato di una coda:
CUX> PORT LPR 515 <host> CUX> LPR Z3|S<nome_stampante> ...... ...... ...... CUX> CLOSE |
visione dello stato particolareggiato dei printer-job dell'utente pippo
CUX> PORT LPR 515 <host> CUX> LPR Z4|S<nome_stampante> pippo ...... ...... ...... CUX> CLOSE |
rimozione dei job dell'utente pluto da parte dell'utente pippo
CUX> PORT LPR 515 <host> CUX> LPR Z5|Ppippo|S<nome_stampante> pluto ...... ...... ...... CUX> CLOSE |
Genera informazioni nel file di log standard CUX (cfr. comando `LOG').
Attenzione: lo stato di uscita di questo comando influisce sul valore del flag di errore (cfr. i comandi `IFER' e `IFNOER') e modifica il valore della variabile `WHICH'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando permette di scaricare una mailbox dal server POP3 scelto. Il comando ha la seguente sintassi:
pop3 user password directory [del] [secX] |
In caso di errore il comando `POP3' ritorna uno tra i seguenti codici:
Codice Descrizione 2 Errore inerente la linea di comunicazione. 2 Errore durante l'apertura della linea di comunicazione 3 Directory non accessibile 4 Errore sulla transazione iniziale 5 Errore sulla transazione USER 6 Errore sulla transazione PASS 7 Errore sulla transazione STAT 8 Errore durante la ricezione della mail 9 Errore sulla transazione DELE 10 Errore sulla transazione QUIT |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Tale comando permette di inviare una mail al server SMTP scelto. Il comando ha la seguente sintassi:
smtp file |
Il formato della mail è il seguente: l'header della mail (ovvero le righe iniziali del file che precedono la prima riga vuota) deve contenere:
mailbox1[, mailbox2[, mailbox3[...]]] |
local-part@domain |
frase <local-part@domain> |
addr1[,addr2[,addr3[...]]] |
frase :[mailbox1[,mailbox2[,mailbox3[...]]]]; |
Per `campo' si intende una riga dell'header della mail ed eventualmente le righe ad essa seguenti se incominciano con uno spazio o un `TAB'. In caso di errore il comando `SMTP' ritorna uno tra i seguenti codici:
Codice Descrizione 2 Errore durante l'apertura della linea di comunicazione 3 File non accessibile 4 Errore nella ricerca del mittente 5 Errore sulla transazione iniziale 6 Errore sulla transazione HELO 7 Errore sulla transazione MAIL 8 Errore sulla transazione RCPT 9 Errore sulla transazione DATA 10 Errore durante la trasmissione della mail 11 Errore sulla transazione QUIT |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Cux è un programma concepito per la massima facilità d'uso, sia in modalità interattiva, sia utilizzando il suo macro-linguaggio per lo sviluppo di file batch. In questo capitolo saranno presentati alcuni esempi di file di comandi uniti ad alcuni consigli pratici per la realizzazione di questi.
Un file di comandi per Cux è composto da righe in cui sono riportati comandi Cux (cfr. il capitolo Comandi). Chiamiamo un tale file programma.
Cux non richiede alcun particolare schema di denominazione dei file di programma. Per comodità dell'utente vengono riconosciuti come programmi tutti i file con estensione `.cux'; l'uso di questa estensione ne consente l'omissione durante il richiamo sia dalla linea di comando `-fc', sia dal prompt (o da una riga di programma) attraverso i comandi `BATCH' e `CALL'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Un programma Cux è composto da una o più righe e ogni riga riporta un comando. Un programma Cux può trasferire il controllo ad un altro programma Cux (sottoprogramma) con la possibilità di scegliere se tornare al programma chiamante dopo l'esecuzione del sottoprogramma oppure no. Tale differenza è dovuta alla possibilità di scegliere tra l'uso dell'istruzione `BATCH' o dell'istruzione `CALL' per invocare il sottoprogramma.
batch prog.cux |
a.cux: batch b.cux b.cux: batch a.cux |
Molti comandi per la gestione delle operazioni possono terminare con uno stato di successo o con uno stato di fallimento. L'ultimo stato viene conservato fino a quando non viene eseguito un nuovo comando che lo modifica o fino a quando non viene data una tra le istruzioni `RESERR' o `SETERR'. Lo stato di terminazione di un comando può essere verificato con i comandi `IFER' e `IFNOER'. L'uso di questi ultimi due in combinazione con il comando `BATCH' consente la realizzazione di routines di programma strutturate:
prog.cux: dial 154698 ifnoer batch connect.cux batch prog.cux connect.cux: com una serie di operazioni batch prog.cux |
Quello che segue è un altro esempio d'uso dei controlli di stato sui comandi:
ricevi.cux: protoc cuxtxt rec file ifnoer batch ricevi.cux protoc xmodem rec file batch ricevi.cux |
Un caso particolare di trasferimento di controllo si ha con il comando `SYSTEM'; con questo comando si trasferisce il controllo sul flusso di esecuzione al processore di comandi disponibile. Al termine il controllo ritornerà al Cux e lo stato di ritorno del comando rispecchierà la condizione di uscita dal comando specifico (errorlevel). Il concetto è ben esemplificato nel frammento riportato qui di seguito:
port COM1 rec file ifnoer batch sendto.cux end sendto.cux: system cux -cc -prCOM2 -ftfile ifer batch errore.cux system echo Successo end errore.cux: system echo Fallimento end |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
In questa sezione vengono presentati alcuni esempi di programmi completi per Cux. Gli esempi sono spesso volutamente complicati per ragioni più didattiche che funzionali, in quanto hanno lo scopo di illustrare al lettore capacità intrinseche al programma. Esempio di autologin su un sistema Unix/Xenix con `csh'.
call.cux: mute on stdout on protoc xon init T1000DXONP reset number 157890 dial ifnoer call logon command hangup off quit logon.cux: rstring 5 "ogin:" string utente delay 1 rstring 5 "word:" string password delay 1 string setenv TERM ansi rstring string setenv DYNA ansibw rstring string clear rstring mute off conv return |
L'esempio che segue mostra invece come realizzare un'operazione ripetuta per un numero predefinito di volte. Si noti come il programma che segue dipenda, per la maggior parte, dalla disponibilità di componenti software quali quelli disponibili in Unix/Xenix.
inizio.cux: system echo 0 > .cicli batch routine.cux routine.cux: system test `cat .cicli` -lt 3 ifer batch fine.cux send file rec file system expr `cat .cicli` + 1 > .cicli batch routine.cux fine.cux: end |
L'esempio sopra proposto è molto banale ed è possibile trasformarlo nel seguente script solo con comandi per cux:
program.cux: settcount 3 label trasmetti send file rec file deccount ifnoer goto trasmetti end |
menu.cux: mute on stdout on bit 8 parity none stop 1 baud 38400 label menu_modem mesg mesg 1) Linea 19200 PEP mesg mesg 2) Linea 2400 mnp mesg mesg 3) uscita mesg ask "=====> " deccount ifer goto primo deccount ifer goto secondo deccount ifer exit goto menu_modem label primo init T3000PEPX number 111111 goto dopo label secondo init T3000V22B number 222222 goto dopo label dopo reset ifnoer goto doporeset mesg Errore di reset ! exit 1 label doporeset dial ifnoer goto login mesg Errore di dial ! exit 1 label login conv mute off command hangup off end |
Nella label `menu_modem' vengono visualizzate le opzioni per scegliere il tipo di configurazione modem da utilizzare. Il comando `ASK' riceve la risposta che equivale ad un `SETCOUNT n' dove `n' è il numero dato come risposta. Scegliendo la terza opzione si provoca l'uscita dal programma, mentre qualunque altra risposta ha l'effetto di tornare a visualizzare il menu.
Le label `primo' e `secondo' caricano i parametri relativi al modem scelto e chiamano il batch che caricherà il numero di telefono da utilizzare per le chiamate; l'utilizzo del comando `CALL' ha l'effetto di continuare l'esecuzione del batch corrente dal punto che era stato interrotto per chiamare l'altro batch. Le label `dopo' e `doporeset' inizializzano il tipo di modem scelto e chiamano il numero scelto. Se tutte le operazioni sono corrette, grazie alla label `login' si entra in conversazionale e se il ricevente ha una `getty' attiva si ottiene un login entrante. Le ultime operazioni riguardano lo sgancio della linea.
Lo stesso esempio può essere realizzato più semplicemente sfruttando le caratteristiche del linguaggio presenti nel Cux a partire dalla release 3.8. Sostanzialmente la differenza riguarda la creazione del menu e il ricorso all'istruzione `GOTONUM'.
label menu_modem mesg mesg 1) Linea 19200 PEP mesg mesg 2) Linea 2400 mnp mesg mesg 3) uscita mesg ask "=====> " let which $counter gotonum exit,primo,secondo,exit |
Nel seguente esempio si può vedere come realizzare una routine per controllare la definizione di una variabile:
testdef.cux: compare $var gotonum nulla,nonnulla,nonnulla label nulla return 1 label nonnulla return 0 |
.......... let var $PROVA call testdef ifer goto undefined .......... |
.......... let ritorno qui goto label_gosub label qui .......... label label_gosub com una serie di operazioni goto $ritorno |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mediante l'uso di `script' (o `bat' per MsDos o `cmd' per Os/2) si possono realizzare nuovi comandi di sistema basati sul richiamo di Cux e di suoi programmi. Per comodità nell'organizzazione delle memorie di massa Cux consente la definizione di un `path' di ricerca dei file richiamati con il comando `BATCH' per mezzo della variabile di sistema `CUXPATH'. Qualora questa variabile sia stata assegnata si avrà che il file specificato come argomento al comando `BATCH' verrà cercato prima nella directory corrente e in seguito, se non trovato, nella directory assegnata a `CUXPATH'.
Nell'esempio che segue si esemplifica un semplice programma che chiama un numero telefonico specificato dalla linea di comando e invia un file verso un programma remoto di comunicazione che si suppone essere in attesa al numero chiamato.
Per MsDos: invia.bat cux -ad%1 -ft%2 -cc Per Unix/Xenix: invia cux -ad$1 -ft$2 -cc |
invia numero file |
Per MsDos: invia.bat cux -ad%1 -ft%2 -ptymodem Per Unix/Xenix: invia cux -ad$1 -ft$2 -ptymodem |
Spesso però il macro linguaggio di Cux non basta. Soprattutto nella realizzazione di applicazioni destinate all'utente finale. In tal caso Cux potrà essere richiamato come modulo di comunicazione da un programma che gestisca l'interfaccia utente. Grazie alla sua flessibilità d'uso Cux consente in genere un semplice adattamento a tutti quei programmi che prevedono l'uso di un servizio di comunicazione ausiliario.
Dynamica, dal canto suo, rende disponibili soluzioni e prodotti che forniscono soluzioni a problemi di automazione nelle comunicazioni. Un esempio è dato dal programma CuxTMT concepito allo scopo di consentire la realizzazione di concentratori di comunicazione per la ricezione/trasmissione di dati a gruppi di utenti.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
L'uso di Cux come server per la trasmissione o la ricezione di file è una tipica situazione che capita a tutti coloro che usano il programma per connettersi ad una macchina remota in qualità di terminale per interagire con il suo prompt di comando e ricevere e trasmettere file senza dover sospendere la connessione.
Per ottenere questo servizio occorre che l'attività di terminale venga sostituita temporaneamente dall'attività di trasmissione file (da un punto di vista tecnico la cosa comporta un passaggio dalla gestione canonica della linea di comando ad una in cui non viene eseguito nessun controllo). A questa operazione provvede per intero Cux se eseguito con l'opzione `-MY' sulla macchina remota.
Per poter adempiere questo compito occorre la presenza di un host remoto con installato un gestore di protocollo di trasmissione conforme ad uno di quelli previsti per Cux o, ancora meglio, che sia installato il Cux stesso ma con una diversa licenza d'uso. Il chiamante locale deve naturalmente aver installato un Cux consono al sistema operativo.
Nel caso la macchina remota sia un sistema Unix/Xenix si assume inoltre che la connessione tra la macchina locale (d'utente) e la macchina remota sia già stata stabilita e che l'utente si trovi nello stato conversazionale del Cux locale e abbia già eseguito il login.
Infine, si assume il punto di vista locale, nel senso che i termini ricezione e trasmissione si intendono riferiti al Cux locale.
Per maggiori delucidazioni sull'uso di Cux si vedano comunque i capitoli Comandi e Opzioni.
N.B: per file di testo si intende un file contenente caratteri superiori al codice 32 ASCII ed inferiori al codice 127 ASCII e al più i caratteri `CR', `LF', `BELL' e `TAB'; qualunque file che contenga altri caratteri sarà considerato binario.
Per ricevere o trasmettere file dalla o alla macchina remota la prassi è sempre la stessa: in primo luogo occorre dare il comando sulla macchina remota e successivamente operare con la sequenza opportuna di comandi dal prompt del Cux operante sul sistema locale.
Per potere trasmettere più file occorre che il loro nome sia descrivibile con un pattern che includa i metacaratteri `*' e `?'. In ambiente Unix/Xenix occorre che tali metacaratteri siano posti tra apici semplici (`'') o doppi (`"') in modo che non vengano interpretati dalla shell correntemente in uso. È infatti Cux a prendersi cura di effettuare l'espansione del pattern, ma ciò non è obbligatorio. Al contrario, in ambiente MsDos l'interprete dei comandi non effettua l'espansione dei metacaratteri né la rimozione automatica degli apici, semplici o doppi. È quindi necessario che non vengano aggiunti apici che impedirebbero la corretta espansione da parte di Cux.
Per poter invece ricevere più file occorre specificare un path di destinazione, che se non esistente verrà opportunamente creato. Se non viene specificato alcun path si assume la directory corrente del Cux locale.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Per trasferire uno o più file, al prompt della shell della macchina remota dare uno fra i comandi:
1) cux -MY -cc -ftfile -ptprotocollo 2) cux -MY -cc -xtpattern -ptprotocollo 3) cux -MY -cc -frfile -ptprotocollo 4) cux -MY -cc -xrpath -ptprotocollo |
protocollo dovrà valere cuxtxt o cuxenc a seconda che il file o i file da trasferire siano di testo o binari. Per compatibilità con versioni di Cux precedenti alla 3.6 usare il protocollo cuxbin al posto del protocollo cuxenc.
Uscire quindi dal conversazionale battendo <F1> (o l'equivalente ridefinito nel file `modmcap') e accedere al prompt di comando del Cux locale. Impostare lo stesso protocollo e dare il comando corrispondente:
CUX> protoc protocollo CUX> rec file ********* |
CUX> protoc protocollo CUX> xrec path File: path/file1 ********* File: path/file2 ************ CUX> |
CUX> protoc protocollo CUX> send file ********* |
CUX> protoc protocollo CUX> xsend pattern File: file1 ********* File: file2 ************ CUX> |
Al termine della trasmissione è possibile ritornare in modo conversazionale tramite il comando `CONV'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Come sempre si consiglia all'utente di effettuare una serie di prove che gli consentano di raggiungere l'adeguata stabilità operativa, in seguito potrà essere utile creare degli script file che consentano l'automatizzazione delle operazioni che dovranno essere usate in condizioni critiche (es: sulla linea telefonica dove un minor tempo di connessione porta ad un risparmio economico).
Nell'esempio che segue viene riportato un tipico script che invoca il Cux per un invio in Ymodem accettando sulla propria riga di comando file indicati con i metacaratteri `*' e `?'.
In primo luogo vediamo il file di comandi per il Cux. Lo scopo di questo file è quello di configurare automaticamente il programma; nell'esempio in questione dapprima viene selezionato il protocollo da utilizzare, e in seguito viene spedito il file precedentemente specificato.
File sb.cux (file di comandi per Cux): protoc ymodem send |
File `cuxsb' per Unix/Xenix: cux -MY -ft$1 -fcsb File `cuxsb' per MsDos: cux -MY -ft%1 -fcsb |
cuxsb '*.cux' |
cuxsb *.cux |
Verranno cos`ì inviati tutti i file che hanno estensione `.cux'.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Il seguente capitolo presenta un elenco completo delle opzioni e dei comandi di Cux.
Nelle descrizioni seguenti la notazione `(n)' nella colonna Opzioni rappresenta un numero decimale richiesto come parametro dell'opzione in questione, la notazione `(a)' sempre nella colonna Opzioni rappresenta dei caratteri ASCII richiesti come parametro dell'opzione in questione (in entrambi i casi le parentesi non devono essere digitate) e la notazione `auto' nella colonna Default indica l'impostazione automatica di un valore di defualt per quella opzione.
Se un comando viene digitato senza un valore che è atteso, il programma assumerà che gli è stato assegnato un valore nullo.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Opz. Parametro Descrizione Default -aa Answer automatico -aa Answer automatico -ad(n) [0-9][/,()-.] Dial automatico del numero specificato -b(n) 5,6,7,8 Specifica il numero di bit per la word 8 -bd(n) Baud rate Specifica il baud rate 9600 -ca Answer conversazionale -cc Connessione diretta per file transfer -cd(n) [0-9][/,()-.] Dial conversazionale del numero specificato -di(a) Nome scheda video Definisce il tipo di scheda video auto -ec(n) 0,1 Abilita/disabilita l'eco locale 0 -fc(a) File Command mode batch -fr(a) File Nome del file da ricevere -fs(a) File Nome del file per autosave cux.txt -ft(a) File Nome del file da trasmettere -lf(n) 0,1 Abilita/disabilita l'autolf 0 -lo(n) Attivazione produzione logfile cuxlog -lu(n) 128-10000 Imposta dimensioni buffer di input 2048 -l2(n) 0-10000 Imposta dimensioni buffer di output 2048 -ma Answer manuale -md Dial manuale del numero -mo(a) Modem Definisce il tipo di modem HAYES -mu Programma muto off -nu(n) [0-9][/,()-.] Numero di telefono -p(a) e,o,m,s,n Specifica il tipo di parità n -pr(a) Line Specifica la linea di comunicazione auto -pt(a) Protocollo Specifica il protocollo cuxtxt -rm Cancellati i file spediti correttamente off -st(n) 1,2 Specifica il bit di stop 1 -un Disabilita cancellazione file errati off -xr(a) Path Path di ricezione per Xrec -xt(a) Pattern Insieme di file da trasmettere per Xsend -Bl Open bloccante della linea off -Bz Elimina i null provenienti dalla linea off -CK Disabilita i test sui numeri telefonici off -CR Uso file batch crittografati off -DT Usa come seriale stdin e stdout off -EC Compatibilità con versioni precedenti a 3.8 off -EX Uscita per terminazione batch off -II Abilitazione swap su SYSTEM off -KC(n) Imposta i caratteri per Kermit -KK Normalizza i nomi dei file per Kermit off -LE(n) 32-1024 Imposta la lunghezza del record 128 -LN Non rispetta i link in ricezione off -MY Usa come linea stdin e stdout off -NL Abilitazione nomi lunghi off -NT Non usa file temporanei in ricezione off -PK(n) 0-999 Imposta l'intervallo interpacchetto 0 -SA Abilita il salvataggio dei comandi modem off -SD Visualizza data e ora con SHOW off -TI(n) 9-180 Imposta i tick per REMOTE sotto MsDos 18 -TS(a) Imposta la stringa per i file transfer -WI(n) 0-128 Imposta la finestratura 0 -WO Riporta la finestratura al default off -XX Disabilita Xon/Xoff on -ZZ Abilita la messaggistica in lingua inglese off |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Comando Parametro Descrizione Default Aline Connette la linea in answer Answer Time Attende una chiamata Ask Time, String Mostra una stringa e attende una risposta Autolf on, off Attiva/disattiva il linefeed automatico off Batch File Esegue un file batch Baud 50-115200 Specifica il baud rate 9600 Bit 5, 6, 7, 8 Definisce dimensioni word 8 Boot Effettua un boot a freddo Botton on, off Attiva/disattiva la visibilità dei bottoni on Break Invia un 'break' sulla linea di comunicazione Bye Errorlevel Termina le operazioni 0 Bypass Line Realizza un passante Call File Esegue un file batch e ritorna Cat File Visualizza un file Cd Path Cambia la directory corrente Chroot Path Imposta la directory root Clear Ripulisce il buffer di comunicazione Close Chiude la linea corrente Cls Pulisce lo scremo Cmdsave on, off Abilita il log dei comandi modem off Cmp File, File Confronta due file Com String Informazioni di commento Command Ritorna in modalità comandi Compare String, String Confronta le stringhe indicate Comparen Num, Num Confronta i numeri indicati Compute Expr Calcola l'espressione indicata Conv String Entra in modalità conversazionale Copy File, File Copia di un file Cpj File, File Trasmette e riceve ordini e mancanti Cpjrec File Ricezione degli ordini Cpjsend File Invia i mancanti Crlf on, off Conversione automatica dei cr-lf off Crypt on, off Abilita crittografazione batch off Ctrlx 1-1000 Ctrl-x per interrompere un protocollo 3 Cts on, off Abilita/disabilita il protocollo Cts/Rts off Cuxsync TCP, UTC, Modifica l'orologio di sistema USA USA, TZ Debug 0-9 Rallenta l'esecuzione dei comandi 0 Deccount Decrementa contatore interno Delay 0-2147483647 Introduce un ritardo Deltrans 0-255 Specifica il ritardo di trasmissione 0 Dial [0-9][/,()-.] Chiama il numero specificato Dir Path Elenca i file e le directory del path indicato . Display on, off Abilita il display remoto off Dline Connessione in originate Dospath String Converte slash in backslash Drive Drive Imposta il drive corrente Dump Visualizza il buffer di comunicazione Dumpold Visualizza il buffer di comunicazione Duplex half, full Attiva l'half o il fullduplex full Dynaterm Args Attiva l'emulatore Echo on, off Attiva/disattiva l'eco dei caratteri off End Termina il batch Erase File Cancella il file indicato cux.txt Exist Pattern Controlla l'esistenza di uno o più file Exit Errorlevel Termina le operazioni 0 Fdir FIle, Path Salva su file indicado l'elenco dei file e dir File File Seleziona il file di default cux.txt Ftp Comando Suite di comandi per il servizio Tcp/Ip Ftp Get File, Var, Line Legge da file la riga indicata Goto Label Salta alla label indicata Gotonum Label,...,Label Istruzione di salto condizionato Hangup on, off Aggangia/sgancia la linea telefonica Help Elenco comandi disponibili Http Comando Suite di comandi per il servizio Tcp/Ip Http Iconify Iconifica e deiconifica Idenfax String Imposta l'identificativo del fax Ifer Command Esegue il comando in caso di errore Iffax Command Esegue il comando in caso di connessione fax Ifnoer Command Esegue il comando se non vi è stato errore Ifnoout Command Esegue il comando se non vi è stato timeout Ifout Command Esegue il comando in caso di timeout Ifvoice Command Esegue il comando nel caso 'voice' Inccount Incrementa il contatore interno Init Modem Reinizializza i parametri del modem auto Interrupt on, off Interrompibilità batch on Jump Label Salta alla label indicata Keyboard on, off Abilita la tastiera remota off Kill Segnale, PID Invia segnali (KILL) ad un processo Label String Identificativo sezione batch Lenrek 32-1024 Definisce la lunghezza del record 128 Let String, String Definisce una variabile Loadbtn File Carica nuovi bottoni Log File, on, off Attiva la generazione dei file di log off Lowername Minuscolizza i path in ricezione Lpd Comando Server Lpd Lpr Comando Invia richieste di stampa ad un server Lpd Macro String, String Definisce una macro Max_k 0-100000 Imposta il massimo file-transfer in kbyte 0 Maxbuf 128-65535 Specifica le dimensioni del buffer 2048 Mdial [0-9][/,()-.] Chiama il numero specificato Mesg String Visualizza la stringa sul video Mkdir Path Crea la directory indicata Modemctl on, off Abilita/disabilita il controllo della off portante Move File, File Sposta e/o rinomina un file Mute on, off Attiva l'eco dei comandi su video off Newcux on, off Compatibilità con versioni precedenti on alla 3.8 Nibble on, off Abilita/disabilita trasmissione binari off Noanswer Termina l'autoanswer Number [0-9][/,()-.] Seleziona il numero telefonico Numreg 0-255 Definisce il numero dei registri 12 Padchar 0-127 Definisce il carattere di padding 0 Padnum 0-999 Definisce il numero dei caratteri di padding 0 Page File Visualizza un file a pagine Parity Parity Definisce il tipo di parità none Passwd User, Password Verifica la validitá della password Path on, off Attiva la trasmissione del path off Pkdelay 0-999 Ritardo interpacchetto in millisecondi 0 Pop3 usr,passwd,dir Scarica mailbox via il servizio Tcp/Ip Pop3 Port Line Apre la linea corrente auto Print on, off Stampa delle operazioni eseguite off Prompt String Imposta il prompt CUX> Protoc Protocol Specifica il tipo di protocollo cuxtxt Ps File Elenca o scrive si file l'elenco dei processi Put File, String Scrive su file la riga indicata Pwd Visualizza la directory corrente Quit Errorlevel Termina le operazioni 0 Rec File Riceve un file Recfax File Riceve un fax Recvoice File Salva il file 'voice' ricevuto Reg Mostra il contenuto dei registri del modem Remote Command Esegue comandi in remoto shell Rename File Ridenomina il file indicato Repeat 0-255 Definisce il numero di ripetizioni 3 Reserr Azzera il flag di errore Reset Inizializza il modem Resetdata Inizializza il modem in modalitá 'dati' Resetfax Inizializza il modem in modalitá 'fax' Resetvoice Inizializza il modem in modalitá 'voice' Resize x, y Cambia le dimensioni della finestra Return Errorlevel Ritorna al batch precedente 0 Ring 1-254 Definisce il numero di squilli 1 Rmdir Path Rimuove la directory indicata Rstring Time, String Riceve una stringa dalla linea Rsystem Command In grafica, segue un comando di sistema shell redirige tutto nella stessa finestra Save on, off Salva le operazioni eseguite off Send File Trasmette un file Sendfax File Trasmette un fax Sendvoice File Invia il file 'voice' al modem Set String, Sep. Spezza in campi la stringa indicata Setcount +/- 2147483647 Inizializza il contatore al valore indicato Seterr Imposta il flag di errore Setpgrp Command Esegue un comando in modo asincrono Shell Esce momentaneamente sul sistema Show on, off Visualizza le istruzioni decodificate off Smtp File Invia mail al server Smtp Spawn Command File-transfer con protocolli esterni Spooler Printer, File Invia il file allo spooler di stampa Star String Definisce la stringa per file transfer Stat Stato del programma Stdout on, off Output trasparente su stdout off Stop 1, 2 Imposta il numero di bit di stop 1 Strchr Char, String Cerca (inizio) un carattere in una stringa String String Invia una stringa sulla linea Strlen String Calcola la lunghezza di una stringa Strrchr Char, String Cerca (fondo) un carattere in una stringa Strsub Var, Pos, Num, Estrae una sottostringa String System Command Esegue un comando di sistema shell Tab Spaces Setta lo spostamento del cursore ad ogni 'tab' 8 Touch File Crea vuoto il file indicato Transmit File Invia un file ASCII sulla linea Transparent on,off Seleziona trasmissione trasparente off Trap Signal, Command Intercetta un segnale Unget Char Rimette un carattere nel buffer di linea Unixpath String Converte backslash in slash Unlink on, off Rimuove i file spediti correttamente off Uppername Maiuscolizza il nomr dei file in ricezione User Username Cambia utente Window 0-128 Imposta dimensioni finestra 0 Word Mostra le risposte ammesse dal modem Wrlog Stat,Num,String Scrive nel log file corrente Xoff Sblocca l'xon-xoff sulla linea in input Xrec Path Riceve più file Xrstring Time, String Riceve una stringa (blocco) dalla linea Xsend File Trasmette più file Xstring Time, String Invia una stringa (blocco) sulla linea |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Nome Tipo Descrizione CONNECT booleana Viene impostata a da 0 a 1 ogni volta che viene stabilita una connessione. Solo per MsDos: se è stato abilitato il controllo di portante (`MODEMCTL'=`on') viene automaticamente impostata a 0 nel caso di caduta di portante nel corso di una connessione. COUNTER numerico Range: -2147483648 e 2147483647. Viene impostato anche dal comando `ASK', qualora l'input sia numerico. È una variabile locale. CUXPID * numerico Process-id del programma in esecuzione. DAY * numerico Numero a 2 cifre del giorno corrente. ENGLISH * booleana Indica la lingua: italiano (0) o inglese (1). ERROR booleana Flag di errore (0/1). Ogni valore da 0 a 65355 viene portato a 1, ogni valore non incluso nel range o non numerico viene riportato a 0. FAX booleana Vale 1 se l'ultima connessione era con un fax. FILE stringa Ultimo path o file immesso tramite il comando `FILE'. FROM * stringa Contiene l'identificativo dell'ultimo chiamante in caso di connessione Fax, ISDN e Tcp/Ip. HOST * stringa Nome della macchina locale più il suo indirizzo IP separati da `:'. HOUR * numerico Numero a 2 cifre dell'ora corrente. LINE * stringa Nome dell'ultima linea aperta o chiusa. LOCALTIME numerico Indica la differenza con l'ora GMT in secondi. MINUTE * numerico Numero a 2 cifre dei minuti correnti. MODMTYPE * stringa Ultimo modem caricato tramite il comando `INIT'. MONTH * numerico Numero a 2 cifre del mese corrente. NUMBER numerico Ultimo numero assegnato tramite il comando `NUMBER'. OPSYS * stringa Sistema operativo corrente: MSDOS, OS2, UNIX, UNIXR4, UNIXSCO, AIX, HPUX, SUN, LINUX, XENIX. PIDCHILD * numerico pid dell'ultimo processo lanciato tramite il comando `SETPGRP'. PWD * stringa Directory corrente. RELEASE * stringa Release del programma. RETURN stringa Ritorno da una `CALL', `REMOTE', `SHELL' o `SPAWN'. SECOND * numerico Numero a 2 cifre dei secondi correnti. SERIAL * numerico Numero di serie del programma in esecuzione. SUMMERTIME booleana Indica se l'ora legale (1) o solare (0). TIMEOUT booleana Indica il valore del flag di errore per timeout. Ogni valore numerico diverso da 0 e 1 viene riportato a 1, mentre ogni valore non numerico viene riportato a 0. VOICE booleana Vale 1 se l'ultima connessione era di tipo voice. Ogni valore numerico diverso da 0 e 1 viene riportato a 1, mentre ogni valore non numerico viene riportato a 0. WHICH numerico Valore numerico dell'ultima stringa ricevuta tramite: `ALINE', `ANSWER', `DIAL', `DLINE', `RSTRING' e `XRSTRING', nonché valore determinante per il salto condizionato del comando `GOTONUM'. Range: da -32768 a 32767. Ogni valore non numerico o non incluso nel range suddetto viene riportato a 0. WORD stringa Stringa ricevuta tramite: `ALINE', `ANSWER', `ASK', `DIAL', `DLINE', `RSTRING' e `XRSTRING'. YEAR * numerico Numero a 4 cifre dell'anno corrente. |
* Variabile di sola lettura.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
[Top] | [Contents] | [Index] | [ ? ] |
[Top] | [Contents] | [Index] | [ ? ] |
Licenza d'uso
1. Introduzione
2. Uso rapido di Cux
3. Opzioni sulla linea di comando
4. Comandi
5. Uso di Cux in modalità batch
6. Il Cux come server remoto
7. Guida di Riferimento
A. Marchi registrati
Indice analitico
[Top] | [Contents] | [Index] | [ ? ] |
Button | Name | Go to | From 1.2.3 go to |
---|---|---|---|
[ < ] | Back | previous section in reading order | 1.2.2 |
[ > ] | Forward | next section in reading order | 1.2.4 |
[ << ] | FastBack | previous or up-and-previous section | 1.1 |
[ Up ] | Up | up section | 1.2 |
[ >> ] | FastForward | next or up-and-next section | 1.3 |
[Top] | Top | cover (top) of document | |
[Contents] | Contents | table of contents | |
[Index] | Index | concept index | |
[ ? ] | About | this page |