一.main参数
如果你仔细看过编程书籍就会发现,对于主函数main函数也是有参数的:
首先,我们先来认识两个参数:
int main(int argc,char* argv[])
{
return 0;
}
对于这两个参数:第一个参数int类型表示为第二个的个数,第二个参数表示为字符串参数
它们也称为命令行参数,下面我们来看看运用:
#include <iostream>
2
3 using namespace std;
4
5
6 int main(int argc,char* argv[])
7 {
8 for(int i=0;i<argc;i++)
9 {
10 cout<<argv[i]<<endl;
11
12 }
13 return 0;
14 }
输出结果:
你会发现我们的命令行输入会决定输出!!!
此时请展开联想,你会发现linux中很多命令的选项就可以通过这样来控制,例如:
所以我们就可以用这方面来控制命令行的选项
下面我们就可以回到环境变量上面了。
二.环境变量
首先,我们来明确一些环境变量的概念:
1.环境变量不是一个,而是一堆
2.环境变量是系统内置的具有特殊用途的变量
下面我们来认识一些环境变量:
首先:你是不是有时候会好奇为什么系统中的指令不需要像我们写的可执行程序一样来执行,但是实际上他们也是一个个可执行程序,下面我们给出答案:
如果你输入的指令是位于上面的途径之一的,就是可以直接执行的,注意::表示分隔符
下面我们将自己的可自行程序拷贝进去验证:
你会发现我们是不是输入两种不同的方式都成功了,这就是应为我们将该可执行程序考入了PATH的相关路径上(cp指令)。
注意:我们最好还是不要污染了该环境变量!!!
重点:环境变量每次重启系统时会重新初始化!!!
我们还有一种新方法将自己写的可执行程序拷贝如PATH,注意补充:PATH
PATH=绝对路径:$PATH
我们可以用:env命令查看所有的环境变量!
如果你自行学过main函数参数的话,相信你会知道mian函数是有第三个参数的:
如下:
int main(int argc,char* argv[],char* env[])
{
return 0;
}
第三个参数就是环境变量,注意:环境变量具有全局性,所以所有进程的环境变量调用的是相同的。
上图展示了我们如果main函数是没有传参时,可以通过getenv("")来获取相关内容
那么我们可不可以自己写环境变量呢?
当然可以,指令如下:
自行命名环境变量方法;
export name=value
这一部分内容就到这里,感谢大家的阅读!!!