环境变量的概念
环境变量是操作系统的一些参数,用于指定操作系统运行环境和应用程序的配置信息 。它们是在操作系统中具有特定名称的对象,包含了一个或多个应用程序所需的信息。
通过设置环境变量,可以为应用程序提供各种配置和路径信息,例如临时文件夹位置、系统文件夹位置、可执行文件路径等。应用程序可以通过读取环境变量来获取这些配置信息,并根据其值来调整自身的行为。
常见的环境变量包括:
PATH: 指定可执行文件的搜索路径
HOME: 指定用户的主目录路径
LANG: 指定语言环境
在操作系统中,可以通过设置、修改和删除环境变量,以适应不同的需求和配置。
例如,像我们的main函数,实际上当我们给出指令时,实际上就是给主函数传参;传参之后,由于环境变量的配置,我们可以找到对应的执行操作。
环境变量的路径
环境变量不是一个,而是一堆,且彼此之间没有联系。
这里有个问题,为什么系统命令可以不带路径呢?
因为对于系统指令来说,由于环境变量的配置,已经将路径配置好了。
我们可以通过指令
echo $PATH
查询环境变量的路径:
配置好的路径执行指令不用带上路径。
而我们也可以修改环境变量的配置路径:
环境变量的值
我们先来做一个测试:
会发现上面执行的指令和查询环境变量是等价的;因为这些都是环境变量配置好的了。
下面我们来学几个指令:
我们也可以通过程序来查看所有环境变量值:
结果:
环境变量的全局特性
environ
在Linux中,environ是一个全局变量,他存储了操作系统和用户设置的环境变量信息,这些环境变量包含了系统的各种配置参数,例如路径、语言、用户名等。
在Linux系统中,environ是一个指向字符串数组的指针,数组中每个元素都是一个以"变量名=变量值"的形式表示的字符串。通过读取和修改environ变量,可以获取和更改系统环境变量的值。
如:
本地变量和环境变量
我们来用mian函数来验证下:
.bash_profile
.bash_profile是一个用于配置用户登录shell环境的文件,它通常位于用户的主目录下。
当用户登录到Linux系统中时,Shell会执行.bash_profile文件中的命令和设置,以配置用户的环境变量、别名、函数等。