Linux / Unix: Bash Shell See All Exported Variables and Functions

by on May 7, 2012 · 6 comments· LAST UPDATED June 19, 2012

in

How do I see a list of all exported variables and functions under Unix bash shell?

The export command makes your local variables global. The syntax is as follows:

 
export PATH=$PATH:/usr/local/bin:~/bin
export EDITOR=/usr/local/bin/vim
export SHELL=/bin/ksh
export LANG=En_US
export PAGER=/usr/local/bin/most
 

To make your local shell variables global automatically, export them in your ~/.profile or ~/.bash_profile file under Unix like operating systems. To see a list of all exported variables and functions pass the -p option to the export command:

 
export -p
export -p | grep  something
export -p | less
export -p | more
 

Sample outputs:

DISPLAY=unix:0
EDITOR=vim
HISTFILE=/home/vivek/.bash_history
HISTSIZE=1000
HOME=/home/vivek
LANG=En_IN
LOGNAME=vivek
MAIL=/usr/mail/vivek
MAILCHECK=0
PWD=/home/vivek
SHELL=/bin/bash
TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 6 comments… read them below or add one }

1 joebob May 12, 2012 at 1:57 am

‘set’ will display all defined variables and functions in your current session.

Reply

2 Antonius May 23, 2012 at 5:24 am

Can i use that for setting JAVA_HOME at bash profile ? How to make it permanent ?

Reply

3 thoran May 30, 2012 at 12:11 am

There’s also `env`, or `env | sort` if one desires sorted output as per export -p.

Reply

4 LaGunA June 28, 2012 at 7:33 am

@Antonius: Yes, of course you can. Add the following lines:
export JAVA_HOME=/path/to/your/java/installation
export PATH=JAVA_HOME/bin:$PATH
to ~/.bash_profile (or ~/.bashrc) and you’re done! :)

Reply

5 Leslie Satenstein March 10, 2014 at 1:22 am

undo an export
a parameter was exported to the current shell.

I use a few different scripts that follow using that exported parameter
Now I want to remove that exported variable.

Aside from logging out, is the only way to remove it to set it to a null string?

Reply

6 Nix Craft March 10, 2014 at 4:36 am

Try unset command:
unset VAR_NAME
For example:

export FOO=bar
echo $FOO
bash
echo $FOO
exit
unset FOO
echo $FOO

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: