一、什么是环境变量
环境变量由系统提前创建的,不仅在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 命令 让它临时运行起来而已。
解决的办法:重启,问题解决
下课!!!