Centos7设置环境变量,环境变量对不同用户的作用范围


(一) command env get all environment variables
[zlf@localhost ~]$ env
XDG_VTNR=1
XDG_SESSION_ID=1
SSH_AGENT_PID=2192
HOSTNAME=localhost.localdomain
IMSETTINGS_INTEGRATE_DESKTOP=yes
XDG_MENU_PREFIX=gnome-
SHELL=/bin/bash
TERM=xterm-256color
VTE_VERSION=4602
HISTSIZE=1000
WINDOWID=41948446
IMSETTINGS_MODULE=none
USER=zlf
LS_COLORS=rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
USERNAME=zlf
SESSION_MANAGER=local/unix:@/tmp/.ICE-unix/2018,unix/unix:/tmp/.ICE-unix/2018
GNOME_SHELL_SESSION_MODE=classic
DESKTOP_SESSION=gnome-classic
MAIL=/var/spool/mail/zlf
PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin
QT_QPA_PLATFORMTHEME=qgnomeplatform
QT_IM_MODULE=xim
PWD=/home/zlf
XDG_SESSION_TYPE=x11
XMODIFIERS=@im=none
LANG=en_US.UTF-8
GDM_LANG=en_US.UTF-8
GDMSESSION=gnome-classic
HISTCONTROL=ignoredups
SHLVL=5
HOME=/home/zlf
XDG_SEAT=seat0
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=zlf
XDG_SESSION_DESKTOP=gnome-classic
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-sXmFhm7dxX,guid=b3a062133fb1dd5350d79cd35a793a91
XDG_DATA_DIRS=/home/zlf/.local/share/flatpak/exports/share/:/var/lib/flatpak/exports/share/:/usr/local/share/:/usr/share/
LESSOPEN=||/usr/bin/lesspipe.sh %s
WINDOWPATH=1
DISPLAY=:0
XDG_RUNTIME_DIR=/run/user/1000
XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
COLORTERM=truecolor
_=/usr/bin/env
[Group1User1@localhost zlf]$ 

##################################################
##################################################
(二) echo + $ + environment variable name, get the specifice variable
[Group1User1@localhost zlf]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin
[Group1User1@localhost zlf]$ echo $HOME
/home/Group1User1
[Group1User1@localhost zlf]$ 

##################################################
##################################################
(三) use command export to add a path to a exist envioronment
(1) first, export in user root
[root@localhost zlf]# export PATH=$PATH:/home/zlf/Documents/test
[root@localhost zlf]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test

[root@localhost zlf]# su zlf
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test

[zlf@localhost ~]$ su Group1User1
Password: 
[Group1User1@localhost zlf]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[Group1User1@localhost zlf]$ 
then we close the current terminal window and reopen a terminal window,
excuite the command echo $PATH,
we find the export command is invalid, PATH comes to its origin value 
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin

##################################################
(2) second,export in user zlf
[zlf@localhost ~]$ export PATH=$PATH:/home/zlf/Documents/test
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[zlf@localhost ~]$ 
[zlf@localhost ~]$ su
Password: 
[root@localhost zlf]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[root@localhost zlf]# 
we find that, either in root or in zlf(any other users),
we add new varaible, other users also add,
only if we do not close the teminal window.
we conclude that export command is effective to all users.


##################################################
##################################################
(四) vim ~/.bash_profile
(1)vim ~/.bash_profile, 
add new path to environment variable PATH at the end of PATH,
seperated with symbol :

[zlf@localhost ~]$ vim ~/.bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin:/home/zlf/Documents/test
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin
[zlf@localhost ~]$ source ~/.bash_profile
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test

[zlf@localhost ~]$ su
Password: 
[root@localhost zlf]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test

[root@localhost zlf]# su Group1User1
[Group1User1@localhost zlf]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[Group1User1@localhost zlf]$ 

##################################################
(2) then we close current terminal window and restart a new terminal window
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin
[zlf@localhost ~]$ source ~/.bash_profile
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[zlf@localhost ~]$ 
we need to excuit source ~/.bash_profile again

##################################################
(3) then we restart computer
[zlf@localhost ~]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[zlf@localhost ~]$ 
we need not to excuit source ~/.bash_profile again

We conclude that vim ~/.bash_profile is effective to all users
if the terminal window is closed,
we need to excuit source ~/.bash_profile again to made the commad effective
if we restart the computer,
the command is effective immadiately,and need not to excuit source ~/.bash_profile again 


##################################################
##################################################
(五)vim /etc/profile 
[root@localhost zlf]# vim /etc/profile
export PATH=$PATH:/home/zlf/Documents/test2 (no blank space at two side of =)
[root@localhost zlf]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test
[root@localhost zlf]# source /etc/profile
[root@localhost zlf]# echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test:/home/zlf/Documents/test2
[Group1User1@localhost zlf]$ 

##################################################
[root@localhost zlf]# su Group1User1
[Group1User1@localhost zlf]$ echo $PATH
/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/.local/bin:/home/zlf/bin:/home/zlf/Documents/test:/home/zlf/Documents/test2
[Group1User1@localhost zlf]$ 


##################################################
##################################################







你可能感兴趣的:(Centos7用户和组)