How to reset all environment variables?

Belun picture Belun · Apr 2, 2014 · Viewed 15k times · Source

I want to do :

env | egrep -o '^\w+=' | unset

The problem is that :

env | egrep -o '^\w+='

prints things like (notice the equal sign) :

XDG_VTNR= LC_PAPER= SSH_AGENT_PID= KDE_MULTIHEAD= LC_ADDRESS= XDG_SESSION_ID=

How do I extract just the variable names so I can unset them?

Answer

Wes Hardaker picture Wes Hardaker · Apr 2, 2014

You need something more like this:

for i in `env | sed 's/=.*//'` ; do
    unset $i
done

Note, however, this will probably do more things than you want. EG, it'll unset your path too!