unset.1p (4052B)
- '\" et
- .TH UNSET "1P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
- .\"
- .SH PROLOG
- This manual page is part of the POSIX Programmer's Manual.
- The Linux implementation of this interface may differ (consult
- the corresponding Linux manual page for details of Linux behavior),
- or the interface may not be implemented on Linux.
- .\"
- .SH NAME
- unset
- \(em unset values and attributes of variables and functions
- .SH SYNOPSIS
- .LP
- .nf
- unset \fB[\fR-fv\fB] \fIname\fR...
- .fi
- .SH DESCRIPTION
- Each variable or function specified by
- .IR name
- shall be unset.
- .P
- If
- .BR \-v
- is specified,
- .IR name
- refers to a variable name and the shell shall unset it and remove it
- from the environment. Read-only variables cannot be unset.
- .P
- If
- .BR \-f
- is specified,
- .IR name
- refers to a function and the shell shall unset the function definition.
- .P
- If neither
- .BR \-f
- nor
- .BR \-v
- is specified,
- .IR 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.
- .P
- Unsetting a variable or function that was not previously set shall not
- be considered an error and does not cause the shell to abort.
- .P
- The
- .IR unset
- special built-in shall support the Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 12.2" ", " "Utility Syntax Guidelines".
- .P
- Note that:
- .sp
- .RS 4
- .nf
- VARIABLE=
- .fi
- .P
- .RE
- .P
- is not equivalent to an
- .IR unset
- of
- .BR VARIABLE ;
- in the example,
- .BR VARIABLE
- is set to
- .BR \(dq\^\(dq .
- Also, the variables that can be
- .IR unset
- should not be misinterpreted to include the special parameters (see
- .IR "Section 2.5.2" ", " "Special Parameters").
- .SH OPTIONS
- See the DESCRIPTION.
- .SH OPERANDS
- See the DESCRIPTION.
- .SH STDIN
- Not used.
- .SH "INPUT FILES"
- None.
- .SH "ENVIRONMENT VARIABLES"
- None.
- .SH "ASYNCHRONOUS EVENTS"
- Default.
- .SH STDOUT
- Not used.
- .SH STDERR
- The standard error shall be used only for diagnostic messages.
- .SH "OUTPUT FILES"
- None.
- .SH "EXTENDED DESCRIPTION"
- None.
- .SH "EXIT STATUS"
- .IP "\00" 6
- All
- .IR name
- operands were successfully unset.
- .IP >0 6
- At least one
- .IR name
- could not be unset.
- .SH "CONSEQUENCES OF ERRORS"
- Default.
- .LP
- .IR "The following sections are informative."
- .SH "APPLICATION USAGE"
- None.
- .SH EXAMPLES
- Unset
- .IR VISUAL
- variable:
- .sp
- .RS 4
- .nf
- unset -v VISUAL
- .fi
- .P
- .RE
- .P
- Unset the functions
- .BR foo
- and
- .BR bar :
- .sp
- .RS 4
- .nf
- unset -f foo bar
- .fi
- .P
- .RE
- .SH "RATIONALE"
- Consideration was given to omitting the
- .BR \-f
- option in favor of an
- .IR unfunction
- utility, but the standard developers decided to retain historical
- practice.
- .P
- The
- .BR \-v
- option was introduced because System V historically used one name space
- for both variables and functions. When
- .IR 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
- .IR unset
- without an option to unset a variable, but not a function; the
- .BR \-f
- option must be used.
- .SH "FUTURE DIRECTIONS"
- None.
- .SH "SEE ALSO"
- .IR "Section 2.14" ", " "Special Built-In Utilities"
- .P
- The Base Definitions volume of POSIX.1\(hy2017,
- .IR "Section 12.2" ", " "Utility Syntax Guidelines"
- .\"
- .SH COPYRIGHT
- Portions of this text are reprinted and reproduced in electronic form
- from IEEE Std 1003.1-2017, Standard for Information Technology
- -- Portable Operating System Interface (POSIX), The Open Group Base
- Specifications Issue 7, 2018 Edition,
- Copyright (C) 2018 by the Institute of
- Electrical and Electronics Engineers, Inc and The Open Group.
- In the event of any discrepancy between this version and the original IEEE and
- The Open Group Standard, the original IEEE and The Open Group Standard
- is the referee document. The original Standard can be obtained online at
- http://www.opengroup.org/unix/online.html .
- .PP
- Any typographical or formatting errors that appear
- in this page are most likely
- to have been introduced during the conversion of the source files to
- man page format. To report such errors, see
- https://www.kernel.org/doc/man-pages/reporting_bugs.html .