Linux环境变量

环境变量之局部变量


局部环境变量只能在定义他们的进程中可见。

案例:

  • 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

这里写图片描述


总结:

我是衡钊清,北漂中的一员。
人生格言:[ 做一个决定,并不难,难的是付诸行动,并且坚持到底 ]

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值