温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux环境变量是什么

发布时间:2022-02-10 16:33:32 来源:亿速云 阅读:176 作者:iii 栏目:开发技术

这篇文章主要介绍了Linux环境变量是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux环境变量是什么文章都会有所收获,下面我们一起来看看吧。

linux系统是多用户的任务系统,对于每个用户都可以指定特定的用户变量,Linux 系统能够正常运行并且为用户提供服务,需要数百个环境变量来协同工作。

Linux环境变量是什么

01 环境变量

环境变量在进行linux开发过程中经常碰到,那什么是环境变量呢?很多朋友在刚学习Linux的时候对环境变量不是特别理解,变量不应该是在编程语言中类似于全局变量和局部变量吗?怎么又来了个环境变量?

在我们主流的OS中几乎都存在环境变量的概念,同样在windows下也是存在环境变量的,如下图所示:

Linux环境变量是什么

其实这些所谓的环境变量就相当于一些信息的简称,比如搜索、查询的路径等等,以后应用程序可以获取这些环境变量中包含的信息来完成相应的工作,很多小伙伴有这样的体会,经常在windows中运行刚安装的软件会需要在环境变量中添加一些路径等信息,否则软件无法运行。

在Linux中也是类似的作用,当执行一个命令,系统会根据环境变量中的路径信息依次搜索直到找到对应的程序运行。

02 Linux环境变量

Linux环境变量主要分为系统级别和用户级级别,这点与windows也是非常类似的,如下图所示:

Linux环境变量是什么

不同级别的环境变量在linux系统存在于不同的配置文件,且他们的作用域也是不一样的,所以这里结合C语言的各种变量的作用域就可以更加方便理解所谓的环境变量了吧,同样它也是一段常驻的内存标识。

我们在linux中断中输入printenv命令即可查看所有的环境变量:

Linux环境变量是什么

其中比较常用的是环境变量PATH,可以使用printenv PATH或者echo $PATH来单独查看,如下图所示,两者完全一致:

Linux环境变量是什么

PATH环境变量以冒号 : 进行分割,形成了多个路径,当用户输入相应的命令便会依次从上面的路径中查询程序来执行。

比如:在终端中输入ls命令行,Shell会从PATH变量中存储的路径来查找ls执行程序来运行。

03 修改环境变量

还是把上面的图拿过来:

Linux环境变量是什么

修改环境变量大体分为两种办法 :

1 ) 使用export命令行直接导入;

2 ) 将export命令行保存到如上图所示的对应的文件中适时进行加载导入。

对于命令导入的办法是临时的,而保存到对应的文件中可以覆盖其作用域生效。

方法1示例:

1、使用命令行”export 环境变量=新加入值:$环境变量”,如下图所示,这样就加入了新的路径。

Linux环境变量是什么

2、当退出该终端重新进入,那么之前使用export临时加入的环境变量就会消失。

3、这种直接使用命令行的方式,可以立即生效,并且仅对当前用户起作用,当重新打开终端会失效。

方法2示例:

1、相对命令行方式,其实仅仅只是把export命令行放到了相应的文件中进行加载使用,我们进入到家目录,然后编辑隐藏文件.bashrc,然后把命令行追加到最后,如下图所示:

Linux环境变量是什么

2、加入到文件并保存以后,其环境变量不会立即生效,需要使用source命令执行一下,才能够生效。

3、重新启动终端,如下图所示,其环境变量依然存在,因为~/.bashrc包含shell的bash信息,当登录以及每次打开新的shell时,该文件被读取,相应的命令也就会重新执行。

Linux环境变量是什么

4、上面修改.bashrc仅仅只是在shell启动时被加载,在其被加载前执行的程序均无效,所以就有不同作用域,比如环境变量保存在~/.profile中,那么图形界面启动程序就可以访问到设置的环境变量,而设置到~/.bashrc中的便无法被图形界面启动程序访问。

5、对于普通用户其实将环境变量在.bashrc文件中操作即可,如果修改了其他作用域更广的配置,会影响到其他用户,同时这些配置文件也是逐级覆盖的,启动过程中后面加载的文件会覆盖前面相同的配置信息。

关于“Linux环境变量是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Linux环境变量是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI