Rexx - 系统命令

Rexx 的最大优势之一是能够创建可重复使用的脚本。 在当今的组织中,拥有可重用的脚本通常可以节省执行常见重复任务的时间,从而带来巨大的附加值。

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

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

dir

这是 Windows 中使用的普通目录列表命令。

语法

dir

参数

None

返回值

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

示例

/* 主程序 */
dir 

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

以下程序只是一个示例。

输出

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 命令的另一个示例。 只是这一次我们使用了特殊的 rc 变量。 该变量在 Rexx 中很特殊,它为您提供系统命令的执行状态。 如果返回值为0,则表示命令执行成功。 否则,错误号将在 rc 变量名称中给出。

示例

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

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

输出

The command failed, The error code is = 127 

重定向命令

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

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

  • > − 该命令用于将内容输出到文件中。 如果文件确实存在,它将被覆盖。

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

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

示例

/* 主程序 */
'sort <sortin.txt> sortout.txt' 

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

输出

b 
c 
a

文件sortout.txt将包含以下数据。

a 
b 
c 

ADDRESS 函数

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

语法

ADDRESS(options) 

参数

  • 特定系统地址的选项。

返回值

此方法返回输入、错误和输出流的环境名称。

示例

/* 主程序 */
say ADDRESS('I') 
say ADDRESS('O') 
say ADDRESS('E')

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

输出

INPUT NORMAL 
REPLACE NORMAL 
REPLACE NORMAL