# MX\_SETENV > [HTML Version](mx_setenv.htm) **xcall MIAMEX, MX\_SETENV, envdef \{,status\}** MX\_SETENV (MIAMEX 56) is used to define environment variables for the current process, including the special case of TERM, for which see _Comments_, below. To set environment variables for the remote ATE client, see [Set Environment Variable](ag_setenv.htm.md). This function has both a [subroutine and a print tab implementation](subroutine-print-pairs.htm.md). **Parameters** _envdef _([String](string.htm.md)) \[in\] Contains a definition string of the form "name=value" specifying the name of the environment variable to be set (e.g. defined or modified) and its value. For example, "TERM=AM62CG", or "MYNAME=Jack". To delete an environment variable, set its value to nothing, e.g. "MYNAME=". _status _(Signed [Num](num.htm.md)) \[out\] If specified, will return one of the following: | **Code** | **Meaningt** | |------|------| | 0 | Success | | \-1 | General error | | \-2 | Overflow of memory set aside for environment variables. | **Comments** In general, setting an environment variable doesn't have any immediate side effect. Instead the value is simply stored, for the purposes of retrieving it later, either using [MX\_GETENV](mx_getenv.htm.md), or indirectly by referencing the variable name in some other expression context, as in the examples below: xcall MIAMEX, MX\_SETENV, "MYPATH=c:\\vm\\miame\\jack", status ... open #ch, "%MYPATH%\\myfile.log", output In the example above, we use the %envvar% syntax, which is recognized by Windows as well as by A-Shell, regardless of the platform, in nearly all contexts where a filespec may be used. If specifying an environment variable in a Unix shell context, use the syntax \$env, e.g. \$MYPATH. Environment variable definitions are available only to the current A-Shell prcess, and to those child processes launched by it (e.g. by [HOSTEX](hostex_sbr.htm.md) or [MX\_SHELLEX](mx_shellex.htm.md)). As an example of the former, under Unix: xcall MIAMEX, MX\_SETENV, "MYPATH=/vm/miame/jack", status ... xcall HOSTEX, "ls -l \$MYPATH/a\*", STDOUT\$ A-Shell itself defines and recognizes several environment variables. The TERM environment variable, used by UNIX—and A-Shell—to indicate the type of terminal in use, is a special case. When set from within an A-Shell session connected to a remote terminal (e.g. a Telnet or SSH session), A-Shell also re-initializes its terminal configuration and possibly changes its internal terminal "driver" to match the terminal type. For A-Shell/Unix, the TERM variable is typically established automatically when the Telnet/SSH session is initiated. But you may also set it manually prior to launching A-Shell (from the shell prompt), or you can set it via the -td command line switch. **See Also** • [AG\_SETENV](ag_setenv.htm.md)