Environment Variable
Simply put, Environment Variable is a kind of Global Variable stored and maintained by the Operating System itself. These variables are used by various Shell command and other applications. Windows also have this kind of Environment variable as you can see in this example. If you have understandings on Windows Enviroment, you would easily understand Linux Environment Variable as well.
- How to fine the list of Environment Variable in my system ?
- How to create (add) your own variable to Environment Variable ?
- How to change the value of an Environment Variable ?
- How to remove an Environment Variable ?
How to fine the list of Environment Variable in my system ?
The simplest way to find out what kind of variables are registered as Environment Variables (System Variables) in your system is to use the command env or printenv as shown below.
# env
or
# printenv
XDG_VTNR=7
XDG_SESSION_ID=c1
CLUTTER_IM_MODULE=xim
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/sharetechnote
SESSION=ubuntu
GPG_AGENT_INFO=/home/jaekuryu/.gnupg/S.gpg-agent:0:1
SHELL=/bin/bash
TERM=xterm-256color
VTE_VERSION=4205
QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
WINDOWID=56623114
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1030
GNOME_KEYRING_CONTROL=
GTK_MODULES=gail:atk-bridge:unity-gtk-module
USER=sharetechnote
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:...;36:
QT_ACCESSIBILITY=1
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg
PATH=/home/sharetechnoe/bin:...:/usr/local/games:/snap/bin
DESKTOP_SESSION=ubuntu
QT_IM_MODULE=ibus
QT_QPA_PLATFORMTHEME=appmenu-qt5
XDG_SESSION_TYPE=x11
PWD=/home/sharetechnote
JOB=unity-settings-daemon
XMODIFIERS=@im=ibus
GNOME_KEYRING_PID=
LANG=en_CA.UTF-8
GDM_LANG=en_CA
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
IM_CONFIG_PHASE=1
COMPIZ_CONFIG_PROFILE=ubuntu-lowgfx
GDMSESSION=ubuntu
SESSIONTYPE=gnome-session
GTK2_MODULES=overlay-scrollbar
HOME=/home/sharetechnote
XDG_SEAT=seat0
SHLVL=1
LANGUAGE=en_CA:en
LIBGL_ALWAYS_SOFTWARE=1
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
UPSTART_INSTANCE=
UPSTART_EVENTS=xsession started
XDG_SESSION_DESKTOP=ubuntu
LOGNAME=jaekuryu
COMPIZ_BIN_PATH=/usr/bin/
QT4_IM_MODULE=xim
XDG_DATA_DIRS=/usr/share/ubuntu:...:/var/lib/snapd/desktop
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-e6LwXeFYYa
LESSOPEN=| /usr/bin/lesspipe %s
INSTANCE=
UPSTART_JOB=unity7
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
XDG_CURRENT_DESKTOP=Unity
GTK_IM_MODULE=ibus
LESSCLOSE=/usr/bin/lesspipe %s %s
XAUTHORITY=/home/sharetechnote/.Xauthority
OLDPWD=/home
_=/usr/bin/env
If you want to list only a specific system variable and its value, you can print it out as shown below. This example print out the value assigned to the system variable named SHELL
# printenv SHELL
/bin/bash
How to create (add) your own variable to Environment Variable ?
You can define your own variable and add the variable to Environment Variable list.
First, you can create your own variable and assign the value as below.
# TESTVAR='HELLO WORLD'
Then, you can add the variable to Environment Variable list using 'export' command as shown below.
# export TESTVAR
Then you can confirm whether the variable is successfully registered to Environment variable as shown below.
# printenv | grep "TESTVAR"
TESTVAR=HELLO WORLD
Or, you can check the variable as shown below.
# printenv TESTVAR
HELLO WORLD
Or, you can check the variable as shown below.
# echo $TESTVAR
HELLO WORLD
How to change the value of an Environment Variable ?
Chaging the value of an Environment variable is simple. Just assign a new value to a variable as shown below.
# TESTVAR='Hi'
Then you can confirm whether the variable is successfully changed (updated) as shown below.
# printenv | grep "TESTVAR"
TESTVAR=Hi
Or, you can check the variable as shown below.
# printenv TESTVAR
Hi
Or, you can check the variable as shown below.
# echo $TESTVAR
Hi
How to remove an Environment Variable ?
You can remove an Environment Variable using export command (the same command that is used to add a variable) with '-n' option as shown below.
# export -n TESTVAR