setenv

使用 <setenv> 元素可初始化 <interface> 或 <match> 元素中的环境变量值。 <setenv> 元素不包含其他元素。

可以三种不同的方式使用该变量:

属性:

condition
或者,其形式为 condition="funtion"。funtion 的值是一个表达式,其求值结果为 true 或 false。如果它的求值结果为 true,那么运行命令。如果它的求值结果为 false,那么不运行命令。请参阅条件函数
eval
可选。设置为 True 或 False。如果为 true,适配器将尝试对 value 属性表达式求值并存储结果。
group
可选。它指定其中定义该变量的 Build Forge 环境。如果指定环境名称,必须引用指定环境中的现有变量。

如果将 [ADAPTOR] 指定为值,那么该值在运行时设置。 它设置为调用适配器的步骤或适配器链接的环境。

Build Forge 允许多个环境中具有相同名称的变量。环境继承的优先顺序以及环境包含会影响确定在运行时指定给变量的值的方式。

name
必需。它指定要设置的变量的名称。该值可以是一个变量。在这种情况下,在运行时才会设置变量名称。
type
可选。它指定设置变量的方法。它使用下面的一个值:
  • append text:将指定值放在任何现有值之后。如果指定了可选的 text,该文本将放在两个值之间。
  • once:仅当尚未设置时才应设置该变量。
  • prepend text:将值放在任何现有值之前。
  • temp:仅应在适配器上下文中设置变量。 如果指定了可选的 text,该文本将放在两个值之间。请参阅下面的示例。
value
必需。它是要在变量中设置的值。如果还指定了 eval 属性,那么它可以是要求值的表达式。 求值结果以值的形式存储。

示例:

以下示例对 value 属性中的表达式求值并将结果存储在变量 LAST_VER 中。它将设置为 $LAST_VER 和 $1 变量值之间的较大者。

<setenv group="Adaptor" name="LAST_VER"
   value="$LAST_VER>$1?$LAST_VER:$1" eval="true" />
以下示例在向变量 Changes 追加数据之前插入换行符(\n):
<setenv name="Changes" value="$4 - $1 - $6" type="temp append\n" />

以下示例在向变量 INFOPATH 追加的值之后插入冒号:

<setenv name="INFOPATH" value="/usr/local" type="temp prepend:" />

反馈