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