≡ Menu

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

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
Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 6 comments… add one }
  • joebob May 12, 2012, 1:57 am

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

  • Antonius May 23, 2012, 5:24 am

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

  • thoran May 30, 2012, 12:11 am

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

  • LaGunA June 28, 2012, 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! :)

  • Leslie Satenstein March 10, 2014, 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?

    • Nix Craft March 10, 2014, 4:36 am

      Try unset command:
      unset VAR_NAME
      For example:

      export FOO=bar
      echo $FOO
      bash
      echo $FOO
      exit
      unset FOO
      echo $FOO
      
Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , , , , , , , , , , , , , , ,