Rexx - Comandos do Sistema

Uma das maiores vantagens do Rexx é a capacidade de criar scripts reutilizáveis. Freqüentemente, nas organizações hoje em dia, ter scripts reutilizáveis ​​é um grande valor agregado para economizar tempo para realizar tarefas repetitivas comuns.

Por exemplo, as equipes de tecnologia em uma organização de TI podem ter a necessidade de scripts que executam tarefas diárias comuns. Essas tarefas podem incluir a interação com os sistemas operacionais. Esses scripts podem então ser programados para lidar com códigos de retorno inválidos ou erros.

Rexx oferece muitos comandos de sistema que podem ser usados ​​para realizar tais tarefas repetitivas. Vejamos alguns dos comandos do sistema disponíveis no Rexx.

dir

Este é o comando normal de listagem de diretórios usado no Windows.

Sintaxe

dir

Parâmetros

Nenhum

Valor de retorno

Este método retorna a listagem do diretório atual no sistema.

Exemplo

/* Main program */ 
dir

A saída depende do diretório no sistema.

O programa a seguir é apenas um exemplo.

Resultado

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

Outro exemplo do dir commandé mostrado no programa a seguir. Só que desta vez estamos fazendo uso dospecial rc variable. Esta variável é especial no Rexx e fornece o status da execução dos comandos do sistema. Se o valor retornado for 0, isso significa que o comando foi executado com sucesso. Caso contrário, o número do erro será fornecido no nome da variável rc.

Exemplo

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

Quando executamos o programa acima, obteremos o seguinte resultado.

Resultado

The command failed, The error code is = 127

Comandos de redirecionamento

Rexx também possui a facilidade de usar comandos de redirecionamento. Os seguintes comandos de redirecionamento estão disponíveis no Rexx.

  • < - Este comando é usado para obter a entrada que vem de um arquivo.

  • >- Este comando é usado para enviar o conteúdo para um arquivo. Se o arquivo existir, ele será sobrescrito.

  • >>- Isso também é usado para enviar o conteúdo para um arquivo. Mas a saída é adicionada ao final do arquivo para preservar o conteúdo existente do arquivo.

Vejamos um exemplo de como podemos usar comandos de redirecionamento. No exemplo a seguir, estamos usando o comando sort para classificar um arquivo chamadosortin.txt. Os dados do arquivo são enviados para o comando sort. A saída do comando sort é então enviada para o arquivo sortout.txt.

Exemplo

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

Suponha que o arquivo sortin.txt tenha os seguintes dados.

Resultado

b 
c 
a

O arquivo sortout.txt terá então os seguintes dados.

a 
b 
c

A função ADDRESS

Este método é usado para descobrir qual é o ambiente padrão usado para os fluxos de entrada, erro e saída.

Sintaxe

ADDRESS(options)

Parâmetros

  • Opções para qual é o endereço de um determinado sistema.

Valor de retorno

Este método retorna o nome do ambiente para os fluxos de entrada, erro e saída.

Exemplo

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

Quando executamos o programa acima, obteremos o seguinte resultado.

Resultado

INPUT NORMAL 
REPLACE NORMAL 
REPLACE NORMAL