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]$ 


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







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值