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