Linux之进程(六)--环境变量
了解main的参数
我们直接来看一下这个函数


我们可以合理推测这个argc是记录命令行参数的的个数多少,而argv[]记录命令行的具体命令
我们来做一个小demo初步实现linux的命令行,留个印象

我们来思考一下为什么要有命令行参数
命令行参数本质上是为了实现一个命令,根据不同的子选项,来实现不同的子命令
什么是环境变量
环境变量(Environment Variable) 是操作系统或运行环境中用来存储系统配置信息、路径、行为开关的一类“全局变量”,可以被系统中的程序直接读取和使用。
从操作理解环境变量

为什么我们按ll可以查看文件夹内的信息,pwd怎么可以看当前的路径

为什么我们要这样./main.c才能运行这个二进制文件
因为系统并不知道二进制的位置,而pwd,ll,cd命令都在user/bin的文件夹下面,系统自动去哪个文件夹下面找可执行二进制文件.就是说

环境变量里记录的那些文件夹,操作系统挨个翻一遍,去找有没有这个名字的可执行文件。
如果找到了:就运行它。
如果找遍了都没找到:就会报错 command not found。它会把 PATH环境变量里记录的那些文件夹,挨个翻一遍,去找有没有这个名字的可执行文件。
其他可执行文件不知道位置,所以要加上文件的位置信息
更改环境变量

现在可以直接运行main.exe文件

但是之前的ls等指令都无法实行了

但是我们退出后会恢复,为了不丢失原来的系统指令,要用下面这种方法,但是下面也是零时的办法

永久写进去
echo 'export PATH=$PATH:/your/dir/here' >> ~/.bashrc
查看环境变量的方法
PATH环境变量:存储命令指令的文件的文件地址


环境变量改变了,原来的命令无法执行了,但是没有关系 ,我们退出在进就欧克
除了上面这种还有其他的环境变量

env可以看到所有的环境变量
user就会记录当前的使用者
pwd就会记录当前文件的所在位置
当然还有其他的,这里不做过多介绍
main的参数查看环境变量
main函数可以有多个参数,第三个是环境变量,为了没有警告我们对前两个参数也要操作.
env是二级指针数组,里面存有环境变量的内容,我们可以像访问数组一样去获取环境变量的地址


使用函数来获取
getenv+你想要的环境变量,就可以获得你所需环境变量的值


openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)