创建 AE 脚本
您可以查找有关 AE 脚本的信息。
脚本
您可以创建定制模板及其脚本。 这表示如果您创建自己的模板,那么模板包含定制脚本,以执行您已在模板中创建的新规则。 模板设置中的 scriptsDirectory 用来定义脚本的位置。 如果想要将您的部分中必须由 AE 执行的特定部分链接到脚本,那么必须将该脚本放置在 scriptsDirectory 定义的位置。
预期“激活引擎”要执行的所有已创建脚本必须都按照一组特定条件。 重要的要求是创建的脚本必须接受“激活引擎”传递给它们的一组参数,如链接到这些脚本的模板文件 RuleSet 部分中所定义。 例如,模板文件的网络部分包含:
<section name="network" script="ae_network.sh">
<ruleset>
<address>9.3.148.163</address>
<mask>255.255.254.0</mask>
<gateway>9.3.148.0</gateway>
<routes>default:0:9.3.149.1</routes>
</ruleset>
</section>预期脚本 ae_network.sh 接受所包含 RuleSet 中定义的全部三个参数:address、mask 和 gateway。 脚本还必须为“激活引擎”提供适当的返回码。 它必须对 SUCCESS 返回 0,并对 FAILURE 返回 1。
为 SUCCESS_WITH_WARNINGS 保留返回码 2,这会通知 AE 脚本成功,但包含次警告,且 AE 必须将它记录在执行日志中。 还预期脚本不将其输出以管道传递给任何外部文件。 任何详细/错误消息都必须发送给 STDOUT 或 STDERR,其中,AE 将它们以管道传递给适当的目标日志文件,如模板设置部分中所定义。 请参阅 模板设置以获取更多详细信息。
脚本包含您创建的模板的某些特定预期。 首先,任何定制模板文件都必须按照已定义的结构,如“模式”中所定义。 请参阅 创建 AE 模板文件 以获取更多信息。 模板必须包含“设置”部分和“规则”部分。 “设置”部分可以填写,也可以不填写。 如果“设置”部分中有任何或全部规则未按模板填写,那么使用其父规则。 (父模板是 ae_template.xml 模板文件)。 请注意,如果定制模板文件中不存在 scriptsDirectory 设置,那么 AE 不能调用任何未在父模板中定义的脚本。
必须填写 XML 文件的规则部分,且必须严格按照规则的结构:
<rules>
<section name="SECTION_NAME" script="SCRIPT">
<ruleset>
<argument1>value1</argument1>
<argument2>value2</argument2>
</ruleset>
</section>
</rules>在上述示例中,SCRIPT 是命名子脚本的定制字符串的占位符。 SCRIPT 可以是任何系统可执行脚本的文件名,且其位置在 scriptsDirectory 元素中进行定义。 上述脚本将如下所示运行:PATH/SCRIPT argument1=value1 argument2=value2以上述方法处理所有参数和值对,并将它们传递到脚本。 PATH 表示设置部分中定义的 scriptsDirectory 路径。 请参阅 模板设置 以获取更多详细信息。