网站域名跳转怎么做,windows删除wordpress,哔哩哔哩网页版缓存视频在哪里,网站建设沈阳凯鸿一、环境变量定义
一般是指在操作系统中用来指定操作系统运行环境的一些参数 如#xff1a;我们在编写C/C代码的时候#xff0c;在链接的时候#xff0c;从来不知道我们的所链接的动态静态库在哪里#xff0c;但 是照样可以链接成功#xff0c;生成可执行程序#xff0c…一、环境变量定义
一般是指在操作系统中用来指定操作系统运行环境的一些参数 如我们在编写C/C代码的时候在链接的时候从来不知道我们的所链接的动态静态库在哪里但 是照样可以链接成功生成可执行程序原因就是有相关环境变量帮助编译器进行查找。 环境变量通常具有某些特殊用途还有在系统当中通常具有全局特性。
二、常见环境变量
PATH指定命令的搜索路径
HOME指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
SHELL当前Shell,它的值通常是/bin/bash
HISTSIZE历史操作的1000条命令
PWD动态变化的环境变量记录当前所在路径
三、介绍PATH
我们思考这样一个问题指令也是可执行程序我们写好的编译好的c语言也是程序为什么我们在执行c语言程序时要./a.out带上当前路径而ls这种指令就不要带路径呢
这就是环境变量PATH的作用Linux中存在一些全局设置表明命令行解释器应该去哪个路径下寻找可执行程序。
系统中的很多配置在我们登录Linux时就已经被加载到bash中了也就是内存。
当然我们也可以把自己写的代码拷贝到PATH中的一条路径下这样就可以不带路径执行我们写的程序了sudo cp myprocess /usr/bin 此操作就相当于把我们自己写的程序安装到Linux系统中。
四、环境变量基本操作
env查看全部环境变量
echo $xxx查看某个环境变量
export 环境变量名 内容导入环境变量
unset 环境变量名取消环境变量
若没有export就不是环境变量定义的是本地变量只在bash内部有效子进程无法继承。
五、在代码中拿到环境变量
1示意图 所以environ[]其实是一个二级指针指向env[]这个已经存放了所有环境变量的数组指针。
2获取环境变量代码
所以我们就可以通过environ[]或env[]来拿到环境变量 3通过环境变量名获取环境变量
用到getenv()函数头文件#includestdlib.h 六、总结
环境变量有系统的全局属性所以会被子进程继承。
80%命令是bash创建子进程来执行是普通命令。
20%命令是由bash亲自执行echoexport是内建命令。
因为如果export是普通命令那bash创建子进程运行export那父进程bash就不会拿到环境变量因为只有子进程继承父进程没有父进程继承子进程。
与上文的环境变量做一个总结bash在启动进程时默认会给子进程两张表argv[]命令行参数表由用户输入命令行env[]操作系统配置文件表bash通过各种方式交给子进程。