set

, unset

Synopsis

set [-lvariable [=value]] ...

set [-evariable [=value]] ...

set [-ffilevariable [=value]]... ...

unset-lvariable...

unset-ffilevariable...

Description

The set command sets variable in the environment, or adds variable=value to
file. If variable is not equated it to a value, set expects
the value to be on stdin. The unset command removes variable. Note
that the FMLI predefined, read-only variables (such as ARG1), may not be
set or unset.

Note that at least one of the above options must be used
for each variable being set or unset. If you set a variable
with the -ffilename option, you must thereafter include filename in references to
that variable. For example, ${(file)VARIABLE}.

FMLI inherits the UNIX environment when invoked.

Options

-l

Sets or unsets the specified variable in the local environment. Variables set with -l will not be inherited by processes invoked from FMLI.

-e

Sets the specified variable in the UNIX environment. Variables set with -e will be inherited by any processes started from FMLI. Note that these variables cannot be unset.

-ffile

Sets or unsets the specified variable in the global environment. The argument file is the name, or pathname, of a file containing lines of the form variable=value. file will be created if it does not already exist. Note that no space intervenes between -f and file.

Examples

Example 1 Using the set Command

Storing a selection made in a menu:

name=Selection 2
action=`set -l SELECTION=2`close

Notes

Variables set to be available to the UNIX environment (those set using
the -e option) can only be set for the current fmli process
and the processes it calls.

When using the -f option, unless file is unique to the process,
other users of FMLI on the same machine will be able to
expand these variables, depending on the read/write permissions on file.

A variable set in one frame may be referenced or unset in
any other frame. This includes local variables.