Date: Thu, 28 Mar 2024 13:54:13 +0000 (UTC) Message-ID: <1161637736.24529.1711634053014@ae5f4610bf64> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_24528_2122934579.1711634053013" ------=_Part_24528_2122934579.1711634053013 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Server descriptors<=
/a> and IceBox descrip=
tors may specify environment variables that the node will define when s=
tarting a server. An environment variable definition uses the familiar
On a Unix platform, the Bourne shell syntax is required:
LD_LIBRARY_PATH=3D/opt/Ice/lib:$LD_LIBRARY_PATH
On a Windows platform, the syntax uses the conventional style:
PATH=3DC:\Ice\lib;%PATH%
In XML, the env
element supplies a definition for an enviro=
nment variable:
<node name=3D"UnixBox"> <server id=3D"UnixServer" exe=3D"/opt/= app/bin/server" ...> <env>LD_LIBRARY_PATH= =3D/opt/Ice/lib:$LD_LIBRARY_PATH</env> ... </server> </node> <node name=3D"WindowsBox"> <server id=3D"WindowsServer" exe=3D"C:= /app/bin/server.exe" ...> <env>PATH=3DC:\Ice\li= b;%PATH%</env> ... </server> </node>
If a value refers to an environment variable that is not defined, the re= ference is substituted with an empty string.
Environment variable definitions may also refer to descriptor variables and te= mplate parameters:
<node name=3D"UnixBox"> <server id=3D"UnixServer" exe=3D"/opt/= app/bin/server" ...> <env>PATH=3D${server.= distrib}/bin:$PATH</env> ... </server> </node>
On Unix, an environment variable VAR
can be referenced as <=
code>$VAR or ${VAR
}
. You must be careful w=
hen using the latter syntax because IceGrid assumes ${VAR
}
refers to a descriptor variable or parameter and will report an e=
rror if no match is found. If you prefer to use this style to refer to envi=
ronment variables, you must escape these occurrences as shown in the exampl=
e below:
<node name=3D"UnixBox"> <server id=3D"UnixServer" exe=3D"/opt/= app/bin/server" ...> <env>PATH=3D${server.= distrib}/bin:$${PATH}</env> ... </server> </node>
IceGrid does not attempt to perform substitution on $${PATH
}, but rather removes the leading
$
character and then perf=
orms environment variable substitution on $${PATH
}
.