Seeing All Variable Values

Problem

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?

Solution

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.

Discussion

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.

See Also

  • 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

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.226.4.191