半月报网站建设商务代表工作总结,wordpress英文如何改中文,百度软件应用中心,青岛大型门户网站建设推广目录 一、浅谈命令行参数
二、环境变量
2.1环境变量的内涵以及理解
2.2PATH环境变量#xff1a;
2.3输入程序名就能运行我们的程序
2.4系统中的环境变量
2.5导出环境变量 三、main函数的第三个参数
3.1获得环境变量的三种方法 四、本地变量 一、浅谈命令行参数 我们的m…目录 一、浅谈命令行参数
二、环境变量
2.1环境变量的内涵以及理解
2.2PATH环境变量
2.3输入程序名就能运行我们的程序
2.4系统中的环境变量
2.5导出环境变量 三、main函数的第三个参数
3.1获得环境变量的三种方法 四、本地变量 一、浅谈命令行参数 我们的main函数正常来说是没有参数的其实我们也可以给我们的main函数加上参数。main函数的第一个参数为argc参数类型为int第二个参数为argv参数类型为char*类型的指针数组也叫命令行参数表该指针数组以NULL结尾。当我们在命令行解释器输入一串指令时命令行解释器会将这一串指令当成一个字符串并以空格作为分隔符将这个字符串分割成更小的字符串并将这些更小的字符串分别存到argv数组中。main函数的argc和argv参数是由命令行解释器通常是操作系统的shell/bash维护的。当你从命令行运行一个程序时命令行解释器会负责解析命令行中的各个部分包括程序名即argv[0]和传递给程序的任何选项即argv[1]、argv[2]等。解释器还会计算选项的数量并将其作为argc的值传递给main函数。命令行解释器会负责将这些信息正确地传递给程序的main函数以便程序能够使用它们。 1 #include stdio.h2 3 int main(int argc, char* argv[]) 4 {5 int i 0;6 for(i 0; iargc; i)7 {8 printf(%d, %s\n, i, argv[i]);9 }10 return 0;11 }有了命令行参数表我们就可以通过在命令行中传不同的选项让我们的同一个程序执行它内部不同的功能。这也就可以解释为什么同一条指令我们在命令行中传递不同的选项它可以帮我们执行不同的功能。所以选项的本质就是命令行参数。命令行参数是Linux指令选项的基础。 二、环境变量
2.1环境变量的内涵以及理解 环境变量是很多的变量彼此之间没有关系。环境变量一般是系统内置的具有特殊用途的变量。 系统的环境变量本质就是系统自己开辟空间给这块空间名字和内容即可。环境变量具有全局属性会被所有子进程包括孙子进程继承。所有我们目前看到的环境变量都是内存级的都保存在bash的上下文中bash继承退出了这些内存级的环境变量自然就没了。所以系统的环境变量最初始一定都是保存在磁盘当中的当一个bash进程启动时再从磁盘中读取相应的环境变量在内存中形成环境变量表所以下面讲到的export命令是在内存级的环境变量表中加入环境变量不会改变内存中的环境变量。这也是为什么我们每次修改了环境变量的值但是当我们重新启动bash环境变量又恢复成原来的环境变量的原因。
2.2PATH环境变量 在系统当中存在一个全局的环境变量叫做PATH保存的是我们的操作系统默认的搜索可执行程序的搜索路径。当我们执行某一条指令的时候系统默认会到PATH环境变量保存的目录中去搜索指令对应的可执行程序这里我们必须清楚的是Linux中指令的本质就是可执行程序。查询PATH变量的方法 echo $PATH 上面的路径以冒号作为分隔符。我们平常所用的指令对应的可执行程序已经被存放到了系统环境变量对应的目录中。所以我们平常只需要输入指令就可以正常运行系统默认会到指定的目录中去找你输入的指令。而我们自己写的可执行程序由于没有放到系统对应的保存环境变量的目录中所以我们的可执行程序要运行必须在程序名前加上./或者是指定路径名才能让系统找到我们的程序。which在搜索的时候就是根据PATH对应的路径去找的。
2.3输入程序名就能运行我们的程序
为了输入程序名就能运行我们的程序我们有两种做法
1、添加某段路径到PATH变量中 PATH路径$PATH 2、将我们的程序直接拷贝到PATH变量对应的路径中。
2.4系统中的环境变量 env查看此时系统中的环境变量 2.5导出环境变量 export 导入到bash的环境变量表中 假如我向系统中导入一个AGE的环境变量 再用env查询系统中就多了一个AGE环境变量。 三、main函数的第三个参数 其实main函数最多可以传递三个参数第三个参数叫env参数类型同样为char*的指针数组env数组中保存的正是该进程拥有的环境变量。命令行解释器/bash进程内部自己维护了一张表env表env表中每一个位置都指向了一个环境变量我们自己运行起来的进程都是bash的子进程不考虑fork当我们的程序运行起来时bash进程会把它维护的env表的起始地址传递给我们程序的main函数的env参数此时我们的进程也就拿到了父进程给我们的环境变量。所以环境变量是可以被子进程继承的。
3.1获得环境变量的三种方法 1、通过main函数参数env 2、通过getenv函数 3、通过第三方environ参数 四、本地变量
不能通过env命令查看可以通过set命令查看。本地变量无法被子进程继承。