系统命令( System Commands)

优质
小牛编辑
134浏览
2023-12-01

Rexx的最大优势之一是能够创建可重用的脚本。 现在,在组织中,具有可重复使用的脚本是一个很大的附加值,可以节省执行常见重复性任务的时间。

例如,IT组织中的技术团队可能需要具有执行常见日常任务的脚本。 这些任务可以包括与操作系统交互。 然后可以对这些脚本进行编程以处理错误的返回码或错误。

Rexx提供了许多可用于执行此类重复任务的系统命令。 我们来看看Rexx中可用的一些系统命令。

dir

这是Windows中使用的常规目录列表命令。

语法 (Syntax)

dir

参数 (Parameters)

没有

返回值 (Return Value)

此方法返回系统上的当前目录列表。

例子 (Example)

/* Main program */ 
dir 

输出取决于系统中的目录。

以下程序只是一个例子。

输出 (Output)

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 

dir command另一个示例显示在以下程序中。 只有这次我们正在使用special rc variable 。 此变量在Rexx中是特殊的,它为您提供系统命令执行的状态。 如果返回的值为0,则表示命令执行成功。 否则,错误号将在rc变量名中给出。

例子 (Example)

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

当我们运行上述程序时,我们将得到以下结果。

输出 (Output)

The command failed, The error code is = 127 

Redirection Commands

Rexx还具有使用重定向命令的功能。 Rexx中提供了以下重定向命令。

  • < - 此命令用于接收来自文件的输入。

  • > - 此命令用于将内容输出到文件。 如果文件确实存在,则会覆盖该文件。

  • 》》 - 这也用于将内容输出到文件。 但是输出会添加到文件末尾以保留文件的现有内容。

让我们看一下如何使用重定向命令的示例。 在下面的示例中,我们使用sort命令对名为sortin.txt的文件进行排序。 文件中的数据将发送到sort命令。 然后sort命令的输出发送到sortout.txt文件。

例子 (Example)

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

假设文件sortin.txt具有以下数据。

输出 (Output)

b 
c 
a

然后,文件sortout.txt将具有以下数据。

a 
b 
c 

ADDRESS功能

此方法用于查找用于输入,错误和输出流的默认环境。

语法 (Syntax)

ADDRESS(options) 

参数 (Parameters)

  • 什么是特定系统的地址的选项。

返回值 (Return Value)

此方法返回Input,Error和Output流的环境名称。

例子 (Example)

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

当我们运行上述程序时,我们将得到以下结果。

输出 (Output)

INPUT NORMAL 
REPLACE NORMAL 
REPLACE NORMAL