栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【linux】一文总结linux的环境变量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【linux】一文总结linux的环境变量

一文总结linux的环境变量

文章目录

一文总结linux的环境变量一、开篇二、全局环境变量

(2-1)查看全局变量(2-2)设置全局变量变量(2-3)删除全局环境变量 三、局部环境变量四、关于linux环境变量的重要知识五、持久化环境变量

一、开篇

​ 在Linux操作系统中,环境变量用于存储关于shell会话和工作环境的信息。使用环境变量我们可以获取系统信息、存储临时数据和配置信息。

在linux 的bash shell中,环境变量分为:全局环境变量和局部环境变量。

二、全局环境变量

​ 全局环境变量对shell会话以及生成的子shell都是可见的。

(2-1)查看全局变量

​ 使用env、printenv或echo查看全局环境变量:

env:查看系统中的所有全局环境变量。不能用于查看单个环境变量。printenv:查看系统中的所有全局环境变量。可以用来查看单个的环境变量。echo:输入对应的全局环境变量名称,可以查看全局环境变量值。

当查看单个全局环境变量值时,printenv不需要加 符 号 ; 而 ‘ ‘ ‘ e c h o ‘ ‘ ‘ 需 要 加 符号;而```echo```需要加 符号;而‘‘‘echo‘‘‘需要加符号:

(2-2)设置全局变量变量

​ 在设定全局环境变量的进程所创建的子进程中,所设置的全局环境变量都是可见的。

MY_NAME = "iriczhao"		 #双引号是必需的
export MY_NAME					 #使用export导出MY_NAME,使其为全局环境变量。

​ 【注意】设置环境变量值的等号两端不能有空格!!!

(2-3)删除全局环境变量

​ 在我们创建全局环境变量后,可能在某一天不再需要该环境变量啦,这时候就需要使用unset命令删除它。例如:

unset MY_NAME

​ 注:MY_NAME前面不能加$符号。


关于什么时候使用 符 号 , 什 么 时 候 不 使 用 , 只 需 要 记 住 一 个 规 则 即 可 : ∗ ∗ 如 果 要 用 到 变 量 , 使 用 符号,什么时候不使用,只需要记住一个规则即可:**如果要用到变量,使用 符号,什么时候不使用,只需要记住一个规则即可:∗∗如果要用到变量,使用;如果需要操作变量,不使用$符号。**

对于该规则,printenv这一个命令除外,其他均适用。

三、局部环境变量

​ 设置局部环境变量,就是不使用export命令导出环境变量。其他操作:查看、删除环境的操作方法与全局环境变量一样。唯一需要注意的是:

设置局部环境变量后,只能在当前的shell环境下使用,如果生成另一个shell,那么在子shell中不能使用。当在子进程中设置了局部环境变量,一旦退出子进程后,这个局部环境变量将不可使用。 四、关于linux环境变量的重要知识

​ 1、默认情况下,bash shell中会定义一些默认的环境变量。即提前定义了一些环境变量,有的环境变量有值;有的没有值。具体定义了哪些环境变量,以及对应的含义和变量值。可以网上搜索查阅。

​ 2、在linux平台下进行软件开发,对于PATH环境一定不陌生。PATH环境变量定义了用于进行命令和程序查找的目录。如果在shell环境中直接运行程序,就需要将程序所在的目录路径添加到PATH环境变量中。

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/iriczhao/embedderTools/gcc-linaro-5.5.0-2017.10-x86_64_arm-linux-gnueabihf/bin

​ 每个路径之间使用冒号(:)分割。

​ 注:如果要让子shell也能找到我们程序的位置,需要将修改后的$PATH环境变量使用export命令导出。

​ 注:也可以将单点符(.)加入到$PATH环境变量中。指示在当前目录路径下搜索运行程序。

五、持久化环境变量

​ 使用export命令导出的全局环境变量,当我们退出或者系统重新启动后,修改的环境变量将会不存在。这时候,在开发或者使用系统过程中,不可能每一次都去设置一遍,这太麻烦了。所以说这时候让环境变量持久化就显得很重要了。

​ 环境变量持久化,本质就是在启动文件中使用本文形式来设置环境变量。即将环境变量写到启动文件中。

​ 启动文件就是当我们登入linux时启动bash shell,这时bash会在一个默认的文件中去查找命令运行,就把该文件称为启动文件。即bash在linux登入系统时,会去检查启动文件。当然启动文件有几个,对于bash如何检查启动文件取决于启动bash shell的方式,如下三种方式:

(1)在登录时将bash作为默认登录shell(2)作为非登录shell的交互式shell(3)作为运行脚本的非交互式shell

​ 在启动linux系统时,bash shell会作为默认的登录shell启动。这时候,bash shell将从以下几个文件中读取命令:

/etc/profile$HOME/.bash_profile$HOME/.bashrc$HOME/.bash_login$HOME/.profile

在以上文件中,/etc/profile文件是系统上默认的bash shell主启动文件。可以将我们自己设置的命令写入该文件中。

对于其余四个文件,有的linux发行版本用到了一个或者两个文件。

当bash shell对$HOME目录下的启动文件进行查找、读取命令时,遵循一定顺序:

1、$HOME/.bash_profile

2、$HOME/.bash_login

3、$HOME/.profile

当以上顺序中的文件一个被找到则作为启动文件,将忽略剩下的文件。

注意:$HOME目录下的启动文件有些linux系统下没有,这些文件是隐藏文件,使用ls -al命令可以查看对应目录下的隐藏文件。

注:$HOME/.bashrc文件通常通过其他的文件运行。例如当启动linux系统后,再运行bash终端,这时候将会加载$HOME/.bashrc文件。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/762552.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号