上一主题: 保留的变量示例下一主题: 使用 <stop> 标记或 stop 属性停止脚本


<setvar> 示例

可以将 <setvar> 值设置为字符串、算术表达式或命令的输出。 值还可以包括其他变量。

变量

例如,<setvar> 标记可包含其他变量,以便可以使用该标记增加变量或组合变量:

<setvar>var1=%%day%% + 1</setvar>

该标记将产生一个变量 var1,且值随着天数增加每次增加 1。

全局变量

通常情况下,脚本变量的值仅在一次脚本执行中保持不变。 但是,可以指定其值在脚本执行过程中持续存在的全局变量。 脚本启动时,不会清除任何以 GLOBAL 开头的变量名称的值。

程序和超时值

您还可以使用外部程序或脚本向变量分配值。 执行 <setvar> 标记中指定的进程,无论向 stdout 中写入什么内容,均用作此变量的值。 考虑以下示例:

<setvar>var1=exec(cmd.exe /c testext.bat)</setvar>

每次评估 var1 时,都会执行 testext.bat,且生成的 stdout 被重定向到一个文件,CA APM TG 代理读取该文件以便将相应值用于 var1。 文件被写入到 <WTG_Home>/wtgaent_instance 目录,文件名为 scriptname.variablename。

默认情况下,CA APM TG 代理会等待两秒钟以便执行进程。 如果需要更多的时间,则可以在 <setvar> 标记中指定可选超时值(秒):

<setvar>var1=exec(c:\longprogram.exe),timeout=5</setvar>

如果超时期间到期且未找到值,CA APM TG 代理将尝试终止正在运行的进程。