How To Set Environment Variables In Linux?

Asked one year ago
Answer 1
Viewed 142
0

Environment variables are an important aspect of Linux system administration and provide engineers with a powerful tool for customizing systems. In this Linux tutorial, we'll take a closer look at what Linux environment variables are, how they differ from shell variables, and how you can list, set, and manage them.

What are environment variables in Linux?

Linux environment variables are dynamic variables used by a shell and its child processes. Environment variables define a variety of aspects of running a Linux system. For example, a user's default shell is defined in the SHELL variable. Similarly, many administrators use the JAVA_HOME= environment variable to direct programs to specific versions of Java on a system.

Some important points to remember when working with Linux environment variables are:

  • Environment variables follow the format = 
  • You can specify multiple values ​​for a single variable by separating them with colons, like this: = =::
  • Environment variables are case sensitive.
  • By convention, but not a rule, i Environment variable names are always uppercase variables.
  • Shell variables are not the same thing as environment variables. Shell variables apply only to the current shell, not to child processes. We'll look at this topic more closely in the Linux Shell Variables and Linux Environment Variables section.

 

Prerequisites

Our examples use Ubuntu 20.04 and GNU Bash 5.0.17, but you can follow along on most modern Linux systems. There are multiple methods for listing Linux environment variables here we will demonstrate some of the most common.

1. How to list Linux environment variables?

Now that we know what environment variables in Linux are, what they are used for, and have defined the prerequisites needed to set and list Linux environment variables, let’s look at ways to get you started.

Use printenv to List Linux Environment Variables
The printenv command displays the current environment variables.

You can use printenv to list all your current Linux environment variables by running the command without any options or parameters.

printenv

The output of should look similar to this:

SHELL=/bin/bash
SUPERBREAKFAST=Pepper and Egg
PWD=/root
LOGNAME=root
XDG_SESSION_TYPE=tty
MOTD_SHOWN=pam
HOME=/root
LANG=C.UTF-8
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
SSH_CONNECTION=24.148.23.154 2068 84.32.188.154 22
EASTEREGG=You pay attention to detail, good job!
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
TERM=xterm
LESSOPEN=| /usr/bin/lesspipe %s
USER=root
SHLVL=1
XDG_SESSION_ID=839
XDG_RUNTIME_DIR=/run/user/0
SSH_CLIENT=24.148.23.154 2068 22
XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
SSH_TTY=/dev/pts/0
_=/usr/bin/printenv

You can also use printenv to display individual environment variables. The basic syntax to display a single Linux environment variable using printenv is: printenv [name]

For example, to print the PWD environment variable, use this command:

printenv PWD

 

Read Also : How do I become a team leader in a software company?
Answered one year ago White Clover   MarketsWhite Clover Markets