Belun
Belun

Reputation: 4169

How can I unset all environment variables?

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?

Upvotes: 6

Views: 17830

Answers (1)

Wes Hardaker
Wes Hardaker

Reputation: 22262

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!

Upvotes: 7

Related Questions