How to delete an exported environment variable in Linux?

Short answer:

unset is the command you’re looking for.


How to delete an exported environment variable in Linux?

Walkthrough of creating and deleting an environment variable in Bash:

Test if the DUALCASE variable exists (empty output):

env | grep DUALCASE

It does not, so create the variable and export it:


Check if it is there:

env | grep DUALCASE



It is there. So get rid of it:


Check if it’s still there (empty output):

env | grep DUALCASE

The DUALCASE exported environment variable is deleted.

Extra commands to help clear your local and environment variables:

Unset all local variables back to default on login:

CAN="chuck norris"
set | grep CAN


CAN=’chuck norris’

env | grep CAN # Empty output

exec bash
set | grep CAN
env | grep CAN # Empty output

exec bash command cleared all the local variables, but not environment variables.

Unset all environment variables back to default on login:

export DOGE="so wow"
env | grep DOGE


DOGE=so wow

env -i bash
env | grep DOGE # Empty output

env -i bash command cleared all the environment variables to default on login.

Answer #3:

The original question doesn’t mention how the variable was set, but:

In C shell (csh/tcsh) there are two ways to set an environment variable:

  1. set x = "something"
  2. setenv x "something"

The difference in the behaviour is that variables set with the setenv command are automatically exported to a subshell while variables set with set aren’t.

To unset a variable set with set, use

unset x

To unset a variable set with setenv, use

unsetenv x

Note: in all the above, I assume that the variable name is ‘x’.

Delete an exported environment variable in Linux by assigning an empty value:

This may also work.


Answer #5:

As mentioned in the above answers, unset GNUPLOT_DRIVER_DIR should work if you have used export to set the variable. If you have set it permanently in ~/.bashrc or ~/.zshrc then simply removing it from there will work.

Delete an exported environment variable using the env Command:

The env command runs a program in the modified environment. We can use this command to clear the value of an exported variable:

$ export file_name="test.txt"
$ env | grep file_name
$ env -i bash
$ env | grep file_name

Here, we’re using the -i flag, which clears the variables exported by the user and starts a new session of Bash with default values.

Let’s exit from the new Bash session and verify that the variable is present in the older session:

$ exit
$ env | grep file_name

Hope you learned something from this post.

Follow Programming Articles for more!

About ᴾᴿᴼᵍʳᵃᵐᵐᵉʳ

Linux and Python enthusiast, in love with open source since 2014, Writer at, India.

View all posts by ᴾᴿᴼᵍʳᵃᵐᵐᵉʳ →