Linux环境变量的设置和查看
环境变量⼀般是指在操作系统中⽤来指定操作系统运⾏环境的⼀些参数,⽐如临时⽂件夹位置和系统⽂件夹位置等等。
⼀、Linux的变量种类
按变量的⽣存周期来划分,Linux变量可分为两类:
1、永久的:需要修改配置⽂件,变量永久⽣效。
2、临时的:使⽤export命令声明即可,变量在关闭shell时失效。
⼆、设置变量的三种⽅法
1、在/etc/profile⽂件中添加变量【对所有⽤户⽣效(永久的)】
⽤VI在⽂件/etc/profile⽂件中增加变量,该变量将会对Linux下所有⽤户有效,并且是“永久的”。
例如:编辑/etc/profile⽂件,添加PATH变量
# vi /etc/profile
export  PATH=/home/fs : $PATH
注:修改⽂件后要想马上⽣效还要运⾏# source /etc/profile不然只能在下次重进此⽤户时⽣效。
2、在⽤户⽬录下的.bash_profile⽂件中增加变量【对单⼀⽤户⽣效(永久的)】
⽤VI在⽤户⽬录下的.bash_profile⽂件中增加变量,改变量仅会对当前⽤户有效,并且是“永久的”。
例如:编辑guok⽤户⽬录(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下内容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改⽂件后要想马上⽣效还要运⾏$ source /home/guok/.bash_profile不然只能在下次重进此⽤户时⽣效。
3、直接运⾏export命令定义变量【只对当前shell(BASH)有效(临时的)】
在shell的命令⾏下直接使⽤[export 变量名=变量值]
定义变量,该变量只在当前的shell(BASH)或其⼦shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使⽤的话还需要重新定义。
三、PATH声明,其格式为:
PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
你可以⾃⼰加上指定的路径,中间⽤冒号隔开。环境变量更改后,在⽤户下次登陆时⽣效。
如果想⽴刻⽣效,则可执⾏下⾯的语句:$source .bash_profile
需要注意的是,最好不要把当前路径”./”放到PATH⾥,这样可能会受到意想不到的攻击。
完成后,可以通过$ echo $PATH查看当前的搜索路径。这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。
四、常⽤的环境变量
  PATH      决定了shell将到哪些⽬录中寻命令或程序
  HOME      当前⽤户主⽬录
  HISTSIZE 历史记录数
  LOGNAME  当前⽤户的登录名
  HOSTNAME 指主机的名称
  SHELL   当前⽤户Shell类型
  LANGUGE  语⾔相关的环境变量,多语⾔可以修改此环境变量
  MAIL   当前⽤户的邮件存放⽬录
  PS1   基本提⽰符,对于root⽤户是#,对于普通⽤户是$
五、常⽤的环境变量相关命令
1. 显⽰环境变量HOME
fs@ubuntu:~$ echo $HOME
/home/fs
fs@ubuntu:~$
2. 设置⼀个新的环境变量hello
fs@ubuntu:~$ export HELLO="Hello"
fs@ubuntu:~$ echo $HELLO
Hello
fs@ubuntu:~$
环境变量path误删有影响吗
3. 使⽤env命令显⽰所有的环境变量
fs@ubuntu:~$ env
SSH_AGENT_PID=2427
GPG_AGENT_INFO=/tmp/keyring-Sqfg93/gpg:0:1
TERM=xterm
SHELL=/bin/bash
XDG_SESSION_COOKIE=689f5a37acfced492491d99f00000008-1450313888.771442-154751925 HELLO=Hello
WINDOWID=62914565
OLDPWD=/home/fs/qiang/shell
GNOME_KEYRING_CONTROL=/tmp/keyring-Sqfg93
USER=fs
....
4. 使⽤set命令显⽰所有本地定义的Shell变量 
fs@ubuntu:~$ set
BASH=/bin/bash
BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")
BASH_VERSION='2.05b.0(1)-release'
COLORS=/etc/
COLUMNS=80
DIRSTACK=()
DISPLAY=:0.0
...
5. 使⽤unset命令来清除环境变量
set可以设置某个环境变量的值。清除环境变量的值⽤unset命令。如果未指定值,则该变量值将被设为NULL。⽰例如下:
fs@ubuntu:~$ export TEST="Test" \\增加⼀个环境变量TEST
fs@ubuntu:~$ env | grep TEST \\此命令有输出,证明环境变量TEST已存在
TEST=Test
fs@ubuntu:~$ unset $TEST \\删除环境变量TEST
fs@ubuntu:~$ env | grep TEST \\此命令没输出,证明环境变量TEST已经存在了
6. 使⽤readonly命令设置只读变量
如果使⽤了readonly命令的话,变量就不可以被修改或清除了。⽰例如下:
fs@ubuntu:~$ export TEST="Test" \\增加⼀个环境变量TEST
fs@ubuntu:~$ readonly TEST \\将环境变量TEST设为只读
fs@ubuntu:~$ unset TEST \\此变量⽆法删除
bash: unset: TEST: cannot unset: readonly variable
fs@ubuntu:~$ TEST="NEW" \\此变量不可更改
bash: TEST: readonly variable
fs@ubuntu:~$

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。