How can I see which variables have been exported and what values they have? Do I have to echo each one by hand? How would I tell if they are exported?
Use the set command to see the value of all variables and function definitions in the current shell.
Use the env (or export -p
) command to see only those variables
that have been exported and would be available to a subshell.
The set command, with no other arguments,
produces (on standard out) a list of all the shell variables currently
defined along with their values, in a name=value
format. The
env command is similiar. If you run either, you
will find a rather long list of variables, many of which you might not
recognize. Those variables have been created for you, as part of the
shell’s startup process.
The list produced by env is a subset of the list produced by set, since not all variables are exported.
If there are particular variables or values that are of interest, and you don’t want the entire list, just pipe it into a grep command. For example:
$ set | grep MY
will show only those variables whose name or value has the two-character sequence MY somewhere in it.
help set
help export
man env
Chapter 16 for more on configuring and customizing bash
Appendix A for reference lists for all of the built-in shell variables
18.226.4.191