网站建设加微信,网站设计怎么做明信片,樟木头镇网站仿做,湛江网签文章目录前言环境变量常见环境变量#xff1a;设置环境变量#xff1a;和环境变量相关的命令#xff1a;环境变量的组织方式#xff1a;获取环境变量环境变量可以被子进程继承环境变量总结main函数的参数前言
大家好久不见#xff0c;今天分享的内容是环境变量和main函数…
文章目录前言环境变量常见环境变量设置环境变量和环境变量相关的命令环境变量的组织方式获取环境变量环境变量可以被子进程继承环境变量总结main函数的参数前言
大家好久不见今天分享的内容是环境变量和main函数参数。
环境变量 环境变量一般指在操作系统中用来指定操作系统运行环境的一些参数 在编写C/C代码时链接的时候并不知道动态静态库在哪里但是依然可以链接成功生成可执行程序原因就是有相关环境变量帮助编译器帮助查找。
常见环境变量 PATH : 指定命令的搜索路径HOME : 指定用户的主工作目录(即用户登陆到Linux系统- 中时,默认的目录)SHELL : 当前Shell,它的值通常是/bin/bash。 设置环境变量
export PATH路径
export PATH$PATH:路径需要注意前者会将所有全局变量修改为路径后者会添加这一段路径进入环境变量。 在Linux中把可执行程序拷贝到系统默认路径下让我们可以直接访问的方式------相当于Linux下软件的安装
注如果不小心误操作将全局变量修改为路径退出shell重新启动即可。
和环境变量相关的命令
1.echo 显示某个环境变量的值
2.export 设置一个新的环境变量
3.env 显示所有环境变量
4.unset 清楚环境变量
5.set 显示本地定义的shell变量和环境变量环境变量的组织方式
环境变量以如图所以一张表的方式存储(是bash制作了这张表)环境表是一个字符指针数组每个指针指向一个以’\0’结尾的环境字符串。
获取环境变量
我们可以使用main函数的第三个参数char* env[]来获取也可以使用全局变量environ来获取使用前先声明extern char** environ,还可以使用系统调用getenv和putenv获取。
一般通过函数获取是主流。
环境变量可以被子进程继承
我们采用这样的方式来检测子进程是否能继承父进程的环境变量 结果如下 由此我们可以得出环境变量是可以被子进程继承下去的。
环境变量总结 1.环境变量本身就是一个内存级的表这张表由用户在登录系统的时候进程给特定用户形成属于自己的环境变量表 2.环境变量的每一个都有自己的用途有的进行路径查找有的身份验证有的动态查找有的确认当前路径 3.每一个元素都是kv的 环境变量从哪里来呢系统的相关配置文件中读取得来的 main函数的参数
main函数可以传入三个参数 int argc, char *argv[], char *env[]我们分别来介绍。
*char env[] 之所以要先介绍第三个参数是因为env就是上面提到的环境表我们可以打印一下这个数组
int main(int argc,char* argv[],char* env[])
{for(int i 0;env[i];i){printf(env[%d]---%s\n,i,env[i]);}
} 结果如下
int main(int argc, char *argv[])
{extern char **environ;int i 0;for(; environ[i]; i){printf(%s\n, environ[i]);}return 0;
}命令行选项
int argc 显示你输入了几个参数 char argv[] 存储你输入的这几个参数 演示如下 事实上我们的命令拥有不同的选项就是通过这种方式来实现的。 到这里本文就结束了如果你觉得有所帮助给博主点个关注谢谢