unset - unset 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 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 ).
None.
None.
None.
None.
None.
None.
None.
None.
None.
None.
- 0
- All name operands were successfully unset.
- >0
- At least one name could not be unset.
None.
None.
Unset VISUAL variable:
unset -v VISUALUnset the functions foo and bar:
unset -f foo bar
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.
None.
None.