Rexx - Comandos del sistema

Una de las mayores ventajas de Rexx es la capacidad de crear scripts reutilizables. A menudo, en las organizaciones de hoy en día, tener scripts reutilizables es un gran valor agregado para ahorrar tiempo para realizar tareas repetitivas comunes.

Por ejemplo, los equipos de tecnología en una organización de TI pueden tener la necesidad de tener scripts que realicen tareas cotidianas comunes. Estas tareas pueden incluir interactuar con los sistemas operativos. Estos scripts se pueden programar para manejar códigos de retorno incorrectos o errores.

Rexx ofrece una gran cantidad de comandos del sistema que se pueden utilizar para realizar tareas tan repetitivas. Veamos algunos de los comandos del sistema disponibles en Rexx.

dir

Este es el comando de listado de directorios normal que se usa en Windows.

Sintaxis

dir

Parámetros

Ninguna

Valor devuelto

Este método devuelve la lista de directorios actual en el sistema.

Ejemplo

/* Main program */ 
dir

La salida depende del directorio del sistema.

El siguiente programa es solo un ejemplo.

Salida

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

Otro ejemplo de la dir commandse muestra en el siguiente programa. Solo que esta vez estamos haciendo uso delspecial rc variable. Esta variable es especial en Rexx y le da el estado de ejecución de los comandos del sistema. Si el valor devuelto es 0, significa que el comando se ha ejecutado correctamente. De lo contrario, el número de error se dará en el nombre de la variable rc.

Ejemplo

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

Cuando ejecutamos el programa anterior obtendremos el siguiente resultado.

Salida

The command failed, The error code is = 127

Comandos de redireccionamiento

Rexx también tiene la posibilidad de utilizar comandos de redirección. Los siguientes comandos de redirección están disponibles en Rexx.

  • < - Este comando se usa para tomar la entrada que proviene de un archivo.

  • >- Este comando se utiliza para enviar el contenido a un archivo. Si el archivo existe, se sobrescribirá.

  • >>- Esto también se usa para enviar el contenido a un archivo. Pero la salida se agrega al final del archivo para preservar el contenido existente del archivo.

Veamos un ejemplo de cómo podemos usar los comandos de redirección. En el siguiente ejemplo, usamos el comando sort para ordenar un archivo llamadosortin.txt. Los datos del archivo se envían al comando de clasificación. La salida del comando sort se envía al archivo sortout.txt.

Ejemplo

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

Suponga que el archivo sortin.txt tiene los siguientes datos.

Salida

b 
c 
a

El archivo sortout.txt entonces tendrá los siguientes datos.

a 
b 
c

La función ADDRESS

Este método se utiliza para averiguar cuál es el entorno predeterminado utilizado para los flujos de entrada, error y salida.

Sintaxis

ADDRESS(options)

Parámetros

  • Opciones para cuál es la dirección de un sistema en particular.

Valor devuelto

Este método devuelve el nombre del entorno para los flujos de entrada, error y salida.

Ejemplo

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

Cuando ejecutamos el programa anterior obtendremos el siguiente resultado.

Salida

INPUT NORMAL 
REPLACE NORMAL 
REPLACE NORMAL