Rexx - Comandi di sistema

Uno dei maggiori vantaggi di Rexx è la possibilità di creare script riutilizzabili. Spesso nelle organizzazioni al giorno d'oggi, avere script riutilizzabili è un grande valore aggiunto per risparmiare tempo per svolgere attività ripetitive comuni.

Ad esempio, i team tecnologici in un'organizzazione IT possono avere la necessità di disporre di script che eseguano attività quotidiane comuni. Queste attività possono includere l'interazione con i sistemi operativi. Questi script possono quindi essere programmati per gestire errori o codici di ritorno non validi.

Rexx offre molti comandi di sistema che possono essere utilizzati per eseguire tali attività ripetitive. Diamo un'occhiata ad alcuni dei comandi di sistema disponibili in Rexx.

dir

Questo è il normale comando di elenco delle directory utilizzato in Windows.

Sintassi

dir

Parametri

Nessuna

Valore di ritorno

Questo metodo restituisce l'elenco di directory corrente sul sistema.

Esempio

/* Main program */ 
dir

L'output dipende dalla directory nel sistema.

Il seguente programma è solo un esempio.

Produzione

Volume in drive D is LENOVO 
Volume Serial Number is BAC9-9E3F  
Directory of D:\ 
04/06/2016  12:52 AM           268,205 100008676689.pdf 
10/20/2015  08:51 PM    <DIR>          data 
06/01/2016  10:23 AM                31 Example.txt 
10/28/2014  06:55 PM    <DIR>          Intel 
06/02/2016  11:15 AM                23 main.rexx 
12/22/2014  08:49 AM    <DIR>          PerfLogs  
12/13/2015  11:45 PM    <DIR>          Program Files 
12/24/2015  10:26 AM    <DIR>          Program Files (x86) 
07/17/2015  01:21 AM    <DIR>          Users 
12/23/2015  10:01 AM    <DIR>          Windows 
               3 File(s)        268,259 bytes 
               7 Dir(s)     202,567,680 bytes free

Un altro esempio di dir commandè mostrato nel seguente programma. Solo che questa volta utilizziamo il filespecial rc variable. Questa variabile è speciale in Rexx e fornisce lo stato di esecuzione dei comandi di sistema. Se il valore restituito è 0, significa che il comando è stato eseguito correttamente. Altrimenti il ​​numero di errore verrà fornito nel nome della variabile rc.

Esempio

/* Main program */ 
dir 
if rc = 0 then 
   say 'The command executed successfully' 
else 
   say 'The command failed, The error code is =' rc

Quando eseguiamo il programma sopra, otterremo il seguente risultato.

Produzione

The command failed, The error code is = 127

Comandi di reindirizzamento

Rexx ha anche la possibilità di utilizzare i comandi di reindirizzamento. I seguenti comandi di reindirizzamento sono disponibili in Rexx.

  • < - Questo comando viene utilizzato per ricevere l'input che proviene da un file.

  • >- Questo comando viene utilizzato per produrre il contenuto in un file. Se il file esiste, verrà sovrascritto.

  • >>- Viene anche utilizzato per l'output del contenuto in un file. Ma l'output viene aggiunto alla fine del file per preservare il contenuto esistente del file.

Diamo un'occhiata a un esempio di come possiamo usare i comandi di reindirizzamento. Nell'esempio seguente, stiamo usando il comando sort per ordinare un file chiamatosortin.txt. I dati del file vengono inviati al comando di ordinamento. L'output del comando di ordinamento viene quindi inviato al file sortout.txt.

Esempio

/* Main program */ 
'sort <sortin.txt> sortout.txt'

Supponiamo che il file sortin.txt contenga i seguenti dati.

Produzione

b 
c 
a

Il file sortout.txt avrà quindi i seguenti dati.

a 
b 
c

La funzione ADDRESS

Questo metodo viene utilizzato per scoprire qual è l'ambiente predefinito utilizzato per i flussi di input, errore e output.

Sintassi

ADDRESS(options)

Parametri

  • Opzioni per qual è l'indirizzo di un particolare sistema.

Valore di ritorno

Questo metodo restituisce il nome dell'ambiente per i flussi di input, errore e output.

Esempio

/* Main program */ 
say ADDRESS('I') 
say ADDRESS('O') 
say ADDRESS('E')

Quando eseguiamo il programma sopra, otterremo il seguente risultato.

Produzione

INPUT NORMAL 
REPLACE NORMAL 
REPLACE NORMAL