set(1F) — FMLI UTILITIES
NAME
set, unset − set and unset local or global environment variables
SYNOPSIS
set [ -l variable[=value ] ] . . .
set [ -e variable[=value ] ] . . .
set [ -ffile variable[=value ] ] . . .
unset -l variable . . .
unset −ffile variable . . .
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 standard input. The unset command removes variable. Note that the FMLI predefined, read-only variables (such as ARG1), may not be set or unset.
FMLI inherits the UNIX environment when invoked:
−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.
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}.
EXAMPLE
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.
When a variable is evaluated that does not specifically reference a file, the local environment and UNIX system environment are searched in that order. (When a set -l and a set -e is done for the same variable, the variable evaluates to the value used in the set -l command.)
SEE ALSO
— Form and Menu Language Interpreter Utilities