shell的环境变量2

一、什么是环境变量

       环境变量由系统提前创建的,不仅在Shell编程方面,而且在Linux系统管理方面,都起着非常重要的作用。

       打个比方,我们平时所用的编程语言如c语言,我们都会碰到变量的作用域的问题。比如在函数中 定义的变量  在  函数外 不能使用。要想函数外能使用此变量,该变量得为全局变量。

       而我们的环境变量也是如此,局部变量 和 环境变量全局变量)。当我们shell编程时,如 vim  xx.sh,编写 里面的变量 局部变量。仅在创建它的Shell中有效。而我们的环境变量对创建xx.sh 的Shell 及其 派生出来的子进程都有效。

二、环境变量存在哪里

        一般存在  ~/.bashrc  或     /etc/profile    文件当中(系统自动调用的脚本)

列出系统中所有的环境变量,可使用  env  命令

 三、常用的环境变量

       3.1 env 命令          查看环境变量    

在Shell下,用env命令查看当前用户全部的环境变量

显示了所有的环境变量,不方便查看,使用grep筛选。

      env|grep               环境变量名

例如:查看环境变量名中包含PATH的环境变量。

3.2  PATH                         设置命令的搜索路径,以冒号为分割

3.3  HOME                       当前用户主目录:/root

3.4  SHELL                       当前shell解析器类型:/bin/bash

3.5  HISTFILE                  显示当前用户执行命令的历史列表文件:/root/.bash_history

3.6  HOSTNAME              显示当前主机名:itheima

3.7  LANG                        默认设置当前系统语言环境:zh_CN.UTF-8

3.8  HOSTTYPE               显示主机的架构,是i386、i686、还是x86、x64等:x86_64

  使用环境变量,一般环境变量类似c语言中的全局变量,可以再shell脚本文件中任意使用

例子如下:

输出结果

四、自定义设置环境变量

4.1、临时设置环境变量

       什么是临时环境变量,意思就是当关闭终端或关机重启时,该临时环境变量就会被格式化掉。

4.2、设置临时环境变量

(1)例子:在终端添加临时环境变量

 打印env输出的环境变量 结果

 环境变量存在SHELLMAY=999的环境变量

注意:当我们关闭终端,或者重启,或者开另外一个终端,都不会存在刚设置的临时环境变量。

4.3、永久设置环境变量

          需要在配置文件(~/.bashrc 或 ~/etc/profile)中进行设置即可,设置完毕后需要通过
source命令配置文件立即生效。如: source  ~/etc/profile 当然, /etc/profile这个文件只有在root(超级用户)下才能修改。

 (3)例子:创建永久的ZYY=100

第一步:sudo vim  ~/etc/profile

第二步:

第三步:保存退出                        (如果不使用sudo  无法保存) 

第四步:source  ~/etc/profile

第五步:输出 env

 特此注意:

当我们再开一个终端时,使用env命令查看,是找不到  刚设置的 环境变量。

刚设置的永久环境变量是没有真正生效起来,只是使用source 命令  让它临时运行起来而已。

解决的办法:重启,问题解决

下课!!!

猜你喜欢

转载自blog.csdn.net/weixin_47783699/article/details/128960585