UNSET(1) General Commands Manual UNSET(1)

unsetunset values and attributes of variables and functions

unset [-fv] name ...

Each variable or function specified by name shall be unset. If −v is specified, name refers to a variable name and the shell shall unset it and remove it from the environment. Read-only variables cannot be unset.

If −f is specified, name refers to a function and the shell shall unset the function definition.

If neither −f nor −v is specified, name refers to a variable; if a variable by that name does not exist, it is unspecified whether a function by that name, if any, shall be unset.

Unsetting a variable or function that was not previously set shall not be considered an error and shall not cause the shell to abort.

The unset special built-in shall conform to the utility argument syntax guidelines described in 2.10.2.

All names were successfully unset.

At least one name could not be unset.

Note that VARIABLE =

is not equivalent to an unset of VARIABLE; in the example, VARIABLE is set to "". Also, the ‘‘variables’’ that can be unset should not be misinterpreted to include the special parameters (see 3.5.2). Consideration was given to omitting the −f option in favor of an unfunction utility, but decided to retain existing practice. The −v option was introduced because System V historically used one name space for both variables and functions. When unset is used without options, System V historically unset either a function or a variable and there was no confusion about which one was intended. A portable POSIX. 2 application can use unset without an option to unset a variable, but not a function; the −f option must be used.

Examples: Unset the VISUAL variable: unset -v VISUAL

Unset the functions foo and bar: unset −f foo bar

3.14 Special Built-in Utilities 261

Section 4: Execution Environment Utilities

The Execution Environment Utilities are the utilities that shall be implemented in all conforming POSIX. 2 systems.

September 1991 posix.fail