变量可以在步骤、项目或永久作用域的执行过程中进行更改。
- 步骤作用域:通过使用显式指定,在步骤中使用命令可以覆盖变量值。这些值只在当前步骤中有效。
- 项目作用域:在步骤中使用 .bset 命令可以更改正在运行的作业的作用域的变量值。可以使用 .bset 创建新变量。它们对作业的其余部分有效。使用 .bset 所作的更改将在使用 .bset 的步骤之后的步骤中生效。
- 永久作用域:在步骤中使用 .set 命令会更改环境变量的定义。变量在服务器环境、项目环境和步骤环境中定义。使用 .set 更改服务器变量或项目变量不会更改当前作业的变量副本。更改过的变量在当前作业之后运行的作业中生效。
但是,如果 .set 命令更改步骤环境变量,更改过的变量在使用该步骤环境的后续步骤中生效。.set 命令无法创建新变量。
例如,如果使用名为 Java 的项目环境启动项目,该环境中包含变量 JavaVersion = 1.4,且您使用 .bset 将其值更改为 1.5,那么所有继承该项目环境的步骤中该变量的值都为 1.5,而所有特别引用 Java 环境的步骤中该变量的值则为 1.4。
请注意:在系统启动作业时,它会将项目环境变量复制到为作业留出的数据库记录中,并在以后获取项目缺省值时引用该作业环境。如果用户在启动作业时修改了任意项目变量的起始值,那么那些值会被记录到作业记录中。