NAME
export — set the
export attribute for variables
SYNOPSIS
export |
name[=word]... |
export |
-p |
DESCRIPTION
The shell shall give the export attribute
to the variables corresponding to the specified name s,
which shall cause them to be in the environment of subsequently executed
commands. If the name of a variable is followed by = word,
then the value of that variable shall be set to word.
The export special built-in shall support
the Base Definitions volume of IEEE Std 1003.1-2001
(“POSIX.1”), xbd_chap12(7).
When -p is specified,
export shall write to the standard output the names
and values of all exported variables, in the following format:
"export %s=%s\n", <name>, <value>
if name is set, and:
"export %s\n", <name>
if name is unset.
The shell shall format the output, including the proper use of quoting, so that it is suitable for reinput to the shell as commands that achieve the same exporting results, except:
- Read-only variables with values cannot be reset.
- Variables that were unset at the time they were output need not be reset to the unset state if a value is assigned to the variable between the time the state was saved and the time at which the saved output is reinput to the shell.
When no arguments are given, the results are unspecified.
OPTIONS
See the DESCRIPTION.
OPERANDS
See the DESCRIPTION.
STDIN
Not used.
INPUT FILES
None.
ENVIRONMENT VARIABLES
None.
ASYNCHRONOUS EVENTS
Default.
STDOUT
See the DESCRIPTION.
STDERR
The standard error shall be used only for diagnostic messages.
OUTPUT FILES
None.
EXTENDED DESCRIPTION
None.
EXIT STATUS
Zero.
CONSEQUENCES OF ERRORS
Default.
APPLICATION USAGE
None.
EXAMPLES
Export PWD and HOME variables:
export PWD HOME
Set and export the PATH variable:
export PATH=/local/bin:$PATH
Save and restore all exported variables:
export -p > temp-fileunset a lot of variables... processing. temp-file
RATIONALE
Some historical shells use the no-argument case as the functional
equivalent of what is required here with -p. This
feature was left unspecified because it is not historical practice in all
shells, and some scripts may rely on the now-unspecified results on their
implementations. Attempts to specify the -p output
as the default case were unsuccessful in achieving consensus. The
-p option was added to allow portable access to the
values that can be saved and then later restored using; for example, a
dot(1) script.
FUTURE DIRECTIONS
None.
SEE ALSO
CHANGE HISTORY
Issue 6
IEEE PASC Interpretation 1003.2 #203 is applied, clarifying the format when a variable is unset.
IEEE Std 1003.1-2001 (“POSIX.1”)/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 ( xcu_chap01(1) ). No change in behavior is intended.
IEEE Std 1003.1-2001
(“POSIX.1”)/Cor 1-2002, item XCU/TC1/D6/6 is applied,
adding the following text to the end of the first paragraph of the
DESCRIPTION: ``If the name of a variable is followed by =
word, then the value of that variable shall be set to
word. ''. The reason for this change is that the SYNOPSIS
for export includes:
export name[=word]...
but the meaning of the optional ``= word '' is never explained in the text.
End of informative text. footer end