The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### NAME

> unset - unset values and attributes of variables and functions

#### SYNOPSIS

> ``unset` [`-fv`] name `...``

#### DESCRIPTION

> 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 does not cause the shell to abort.

> The unset special built-in shall support the Base Definitions volume of IEEE Std 1003.1-2001, Section 12.2, Utility Syntax Guidelines.

> 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 Special Parameters).

#### OPTIONS

> See the DESCRIPTION.

#### OPERANDS

> See the DESCRIPTION.

#### STDIN

> Not used.

#### INPUT FILES

> None.

#### ENVIRONMENT VARIABLES

> None.

#### ASYNCHRONOUS EVENTS

> Default.

#### STDOUT

> Not used.

#### STDERR

> The standard error shall be used only for diagnostic messages.

#### OUTPUT FILES

> None.

#### EXTENDED DESCRIPTION

> None.

#### EXIT STATUS

> 0
>   All name operands were successfully unset.
> >0
>   At least one name could not be unset.

#### CONSEQUENCES OF ERRORS

> Default.

The following sections are informative.

#### APPLICATION USAGE

> None.

#### EXAMPLES

> Unset VISUAL variable:

>     unset -v VISUAL

> Unset the functions foo and bar:

>     unset -f foo bar

#### RATIONALE

> Consideration was given to omitting the -f option in favor of an unfunction utility, but the standard developers decided to retain historical 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 application can use unset without an option to unset a variable, but not a function; the -f option must be used.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> Special Built-In Utilities

#### CHANGE HISTORY

#### Issue 6

> IEEE Std 1003.1-2001/Cor 1-2002, item XCU/TC1/D6/5 is applied so that the reference page sections use terms as described in the Utility Description Defaults ( Utility Description Defaults). No change in behavior is intended.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]