系统命令( System Commands)
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