setenv

請使用 <setenv> 元素來起始設定 <interface> 或 <match> 元素中的環境變數值。<setenv> 元素不會包含其他元素。

該元素的使用方法有三種:

屬性:

condition
選用,形式如下所示:condition="function"。function 的值是一個會求值為 true 或 false 的表示式。如果求值為 true,指令就會執行。如果求值為 false,就不會執行。請參閱條件函數
eval
選用。設為 True 或 False。若為 true,則配接器會試圖對 value 屬性表示式求值,並儲存結果。
group
選用。指定要在其中定義變數的 Build Forge 環境。當您指定環境名稱時,必須參照指定環境中的現有變數。

如果您指定 [ADAPTOR] 作為值,則會在執行時期設定值。它會設定為呼叫配接器之步驟或配接器鏈結的環境。

Build Forge 容許同名的變數存在於多個環境中。環境繼承與環境併入的優先順序可能影響在執行時期如何決定將值指派給變數。

name
(必要)。指定要設定之變數的名稱。值可以是一個變數。在這種情況下,在執行時期之前並不會設定變數名稱。
type
選用。指定變數的設定方法。其值可為下列之一:
  • append text:將指定的值放在任何現有值之後。如果指定選用的文字,會將該文字放在兩值之間。
  • once:變數必須尚未設定才能設定。
  • prepend 文字:將值放在任何現有值之前。
  • temp:變數只能設定在配接器的環境定義中。如果指定選用的文字,會將該文字放在兩值之間。請參閱下列範例。
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:" />

意見