环境变量之局部变量
局部环境变量只能在定义他们的进程中可见。
案例:
hzq=hzqing
:定义一个hzq
局部变量,值为hzqing
。hi="Hi HZQ"
:定义一个值中有空格的局部变量。如果变量赋一个含有空格的字符串值,必须使用单引号或双引号来界定字符串的首与尾。
注意:
1、变量名,等号和值之间没有空格。
2、自定义的局部环境变量尽量用小写字母,因为目前为止系统环境变量都是大写字母。避免重新定义系统变量可能带来灾难。
环境变量之全局变量:
全局环境变量对于shell会话和所有生成的子shell都是可见的。
查看全局环境变量
查看全局变量,可以使用env、printenv或set命令。
set
:显示全局变量、局部变量和用户定义变量。printenv
:查看全局环境变量,查看制定的环境变量。env
:查看全局环境变量。
案例:
由于set命令查看内容太多,所以我使用
set | grep hzq
查看部分的环境变量。
printenv
:查看所有的全局环境变量。printenv PATH
:查看PATH的值,等价于echo $PATH
。env
:查看所有的全局环境变量。
设置全局环境变量
全局环境变量的进程所创建的子进程中,该变量都是可见的。创建全局环境变量的方法是先创建一个局部变量,然后再把它到处到全局变量环境中。
案例:创建一个hzq=”hzqing”的全局环境变量
解释:
hzq="hzqing"
创建一个局部变量。export hzq
使用export
命令使其转换成全局环境变量。
注意:此种方式创建的全局环境变量,只可以在当前进程及其所创建的子进程中有效。
删除全局环境变量
使用unset命令进行环境变量的删除。
案例:
注意:unset命令中引用环境变量时,不要使用
“$”
。
配置全局环境变量
采用上面方式设置全局环境变量,在每次切换用户或者开启新进程,都不可以共享,所以使用非常的不方便。为了让全局环境变量长久的保存,我们采用修改配置文件的方式,配置全局环境变量。
案例一:配置JAVA_HOME
,使所有的登陆用户都可以访问。
- 在
/etc/profile
文件中添加全局环境变量,并保存退出。
JAVA_HOME=/usr/hzq/jdk1.8.0_144
export JAVA_HOME
- 使配置文件生效。
source /etc/profile
案例二:Centos配置JAVA_HOME
,使登陆用户访问自己的全局环境变量。
- 在
$HOME/.bash_profile
文件添加需要配置的全局环境变量,并保存退出。
export JAVA_HOME=/usr/hzq/jdk1.8.0_144
- 使配置文件生效。
source /home/hzq/.bash_profile
原理分析
在我们登陆Linux系统时,首先会从下面5个不同的启动文件里读取命令。
/etc/profile
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.bashrc
$HOME/.profile
其中
/etc/profile
文件,每个用户登陆时都会执行。而$HOME/.bash_profile
、$HOME/.bash_login
、$HOME/.bashrc
这三个配个文件,shell会按照上面顺序,运行第一个被找到的,其他的被忽略。$HOME/.profile
文件通常是通过其他的文件运行的。
例如:centos
中$HOME/.bash_proflie
:
总结:
我是衡钊清,北漂中的一员。
人生格言:[ 做一个决定,并不难,难的是付诸行动,并且坚持到底 ]