0

0

linux中什么是环境变量

青灯夜游

青灯夜游

发布时间:2021-11-30 17:08:26

|

10179人浏览过

|

来源于php中文网

原创

在linux中,环境变量指的是系统预定义的参数;它相当于全局变量,存在于所有的Shell中,具有继承性,可存储有关shell会话和工作环境的信息。

linux中什么是环境变量

本教程操作环境:linux5.9.8系统、Dell G3电脑。

1、环境变量的概念 

1.1 环境变量的含义 

环境变量一般是指操作系统中指定运行环境的一些参数,即系统预定义的参数。它相当于一个指针,想要查看变量的值,需要加上“$”。 

环境变量是bash shell的特性,用来存储有关shell会话和工作环境的信息。允许在内存中存储数据,以便运行在shell上的程序和脚本访问。这些数据可以是用来识别用户、系统、Shell的特性以及任何其它需要存储的数据。

1.2 环境变量的分类 

1.2.1 按作用的范围分 

在Linux中的变量,可以分为环境变量和本地变量: 

1)环境变量:相当于全局变量,存在于所有的Shell中,具有继承性; 

2)本地变量:相当于局部变量,只存在当前Shell中,本地变量包含环境变量,非环境变量不具有继承性。 

1.2.2 按生存周期分 

1)永久:需要修改配置文件,变量永久生效; 

2)暂时:使用export定义,关闭Shell后失效。

2、环境变量的组织方式

这里写图片描述

每个程序都有一张环境表,环境表是一个字符指针数组,每个指针指向一个以‘\0’结尾的环境字符串。Main函数的第三个参数就是环境表地址。

3、常见的环境变量 

3.1 PATH 

该变量指定命令的搜索路径。 

【例】 

这里写图片描述

释:从中可以看出,在当前目录下,PATH的值。它表示在当前目录下执行的每一条指令的搜索路径,每个目录以冒号隔开。当执行一条指令时,系统就会从系统文件中去寻找,找到了就执行;否则不执行。 

3.2 HOME 

该变量指定用户的主工作目录,即用户登录到Linux系统时,默认的目录。 

3.2.1 普通用户下的主工作目录 

【例】 

这里写图片描述

3.2.2 超级用户下的主工作目录 

【例】 

这里写图片描述

释:环境变量是一个变量,它的值随着用户的不同而不同。 

3.3 HISTSIZE 

该变量指定保存历史命令的数目。 

【例】 

这里写图片描述

释:在Linux系统中最多保存1000条命令记录。 

3.4 LOGNAME 

该变量指定显示用户的登录名。 

【例】 

这里写图片描述

3.5 HOSTNAME 

该变量指定主机名 

【例】 

这里写图片描述

3.6 SHELL 

该变量指定用户当前使用的解析器。 

【例】 

这里写图片描述

4、修改和显示环境变量的命令 

4.1 echo 

该命令用于显示某个环境变量的值。 

4.2 env 

该命令指定显示所有的环境变量和值。 

【例】 

这里写图片描述

TGroupon团购系统
TGroupon团购系统

TGroupon团购系统是以php+MySQL进行开发的团购网站系统,首页能同时显示多个正在进行中的团购商品,将团购中的商品最大限度的展示在用户面前,对提升网站整体销售量有着很大的帮助。安装说明:1:环境:windows/LINUX/UNIX/apache,mysql,php2:所用语言: php,javascript,xml,html3:将程序放置空间或者服务器上,要求uploadfiles目录

下载

4.3 set 

该命令指定本地变量。 

【例】 

这里写图片描述

4.4 export 

该命令指定设置一个新的环境变量。 

【例】 

这里写图片描述

注意:环境变量一般用英文字母大写加下划线表示。 

4.5 unset 

该命令指定清除环境变量。 

【例】 

这里写图片描述

4.6 readonly 

该命令用于设置只读环境变量。 

【例】 

这里写图片描述
释:将环境变量MY_ENV设置为只读模式后,就不能在对它进行修改了,直到用户退出登录后才失效。 

5、存放环境变量的文件 

5.1 /etc/profile 

该文件的作用是当用户登录时获取系统的环境变量,只获取一次。 

5.2 /etc/bashrc 

当执行完/etc/profile文件后,用户想打开bash Shell就会读取该文件。如果想每次打开bash Shell后都执行某些操作,可以在该文件中设置。 

5.3 ~/.bash_profile 

每个用户都可使用该文件输入专用于自己使用的shell信息。当用户登录时,该文件仅仅执行一次,默认情况下,它设置一些环境变量,执行用户的.bashrc文件。 

单个用户此文件的修改只会影响到他以后的每一次登陆系统。因此,可以在这里设置单个用户的特殊的环境变量或者特殊的操作,那么它在每次登陆的时候都会去获取这些新的环境变量或者做某些特殊的操作,但是仅仅在登陆时

5.4 ~/.bashrc 

该文件包含专用于单个人的bash shell的bash信息,当登录时以及每次打开一个新的shell时,该该文件被读取。 

单个用户此文件的修改会影响到他以后的每一次登陆系统和每一次新开一个bash。因此,可以在这里设置单个用户的特殊的环境变量或者特殊的操作,那么每次它新登陆系统或者新开一个bash,都会去获取相应的特殊的环境变量和特殊操作。 

5.5 ~/.bash_logout 

当每次退出系统(退出bash shell)时,执行该文件。

6、通过代码获取环境变量 

【例1】 

这里写图片描述

注:命令行第3个参数是环境表地址,是一个字符型数组指针。 

运行结果: 

这里写图片描述

【例2】通过第三方变量environ获取 

这里写图片描述

运行结果: 

这里写图片描述

注意:libc中定义的全局变量environ指向环境变量表,因为environ没有包含在任何头文件中,所以在使用时要用extern声明。 

7、通过系统调用获取或设置环境变量 

通常用getenv和putenv函数来访问特定的环境变量,而不是用environ变量。但是,如果要查看整个环境,则必须使用environ指针。 

【例1】 

这里写图片描述

运行结果: 

这里写图片描述

【例2】 

这里写图片描述

运行结果: 

这里写图片描述

释:“export MY_ENV=Love”导出环境变量,可以被子程序继承下去;而“MY_ENV=Love”导出的是普通变量,不具有继承性(与getenv函数一样)。

相关推荐:《Linux视频教程

相关专题

更多
c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

22

2026.01.23

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

24

2026.01.23

yy漫画官方登录入口地址合集
yy漫画官方登录入口地址合集

本专题整合了yy漫画入口相关合集,阅读专题下面的文章了解更多详细内容。

99

2026.01.23

漫蛙最新入口地址汇总2026
漫蛙最新入口地址汇总2026

本专题整合了漫蛙最新入口地址大全,阅读专题下面的文章了解更多详细内容。

132

2026.01.23

C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

15

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

65

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

61

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

63

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

33

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.7万人学习

Git 教程
Git 教程

共21课时 | 3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号