环境变量——bash shell使用环境变量来存储系统相关数据,并允许将数据存储在内存中。
环境变量分为:全局环境变量
本地环境变量
目录全局环境变量
本地环境变量
设置全局环境变量
删除环境变量
PATH全局环境变量
设置系统环境变量的相关文件(登录、非登录、交互、非交互shell)
一、全局环境变量
在当前shell和子shell都可见
可以用printenv命令查看全局环境变量,大写表示是系统环境变量,小写表示是普通用户的环境变量
这是bash shell的一个标准约定,不是必须的,因此在设置新的环境变量的时候我们用小写就行了,用于区分个人和系统环境变量。
[root@CentOS6 ~]# printenv
TERM=linux
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=172.18.251.124 8132 22
QTDIR=/usr/lib64/qt-3.3
QTINC=/usr/lib64/qt-3.3/include
SSH_TTY=/dev/pts/4
name=hello # 自己定义的环境变量
USER=root
LS_COLORS=...
MAIL=/var/spool/mail/root
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
LANG=en_US.UTF-8
PS1=[\[\e[33m\]\u@\[\e[34m\]\h \[\e[m\]\W]\$ \[\e[m\]
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HISTCONTROL=ignoredups
PS2=\[\e[34m\]> \[\e[m\]
SHLVL=1
HOME=/root
LOGNAME=root
QTLIB=/usr/lib64/qt-3.3/lib
CVS_RSH=ssh
SSH_CONNECTION=172.18.251.124 8132 172.18.250.183 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
DISPLAY=localhost:12.0
G_BROKEN_FILENAMES=1
_=/usr/bin/printenv
大部分变量都是在登录主shell时设置的
二、本地环境变量
只在当前shell中可见
可以通过set命令查看,不过set命令查看的是所有环境变量(全局和本地)
注意在设置环境变量的时候,[变量=值]之间不能添加空格,要不然shell会把它当做一个单独的命令执行