Linux中程序的参数传递

参数传递一般是函数传参或程序执行传参

程序执行传参

比如:ls -l ,ls -a 等等

#include
int main(int argc,char **argv)
{
	int i = 0;
	for(i = 0; i < argc; i++)
	printf("argv[%d] = %s\n", i, argv[i]);
	return 0;
}

运行此程序:./test hello world
argv的结果:argv[0] = ./a.out ; argv[1] = hello ;argv[2] = world。

环境变量传参

argc,argv用命令行编译程序时有用;**env:字符串数组。env[ ]的每一个元素都包含ENVVAR=value形式的字符。
argc, argv,env是在main( )函数之前被赋值的,编译器生成的可执行文件,main( )不是真正的入口点,而是一个标准的函数,这个函数名与具体的操作系统有关。
什么是环境变量:
Linux中程序的参数传递_第1张图片

  • argc:就是传入参数的数量,用户不用关心,系统会自己计算。是一个整数。
  • argv:用户在命令行传入的参数列表。
  1. 通过main函数的第三个参数将系统所有的环境变量传递到程序中,然后找到想要的
    首先设置环境变量:export TEST_ENV = helloworld
    Linux中程序的参数传递_第2张图片
    envp[43] = TEST_ENV = helloworld
  2. 通过getenv函数获取特定的环境变量
    Linux中程序的参数传递_第3张图片
  3. 通过配置文件传参
    上述的两种方法传递参数相对简单,对于更加复杂的参数,如很多需要一些配置文件,程序中可通过解析文件的方法实现函数传递,这只需要读取文件内容安装格式解析接口即可,主要是文件操作及字符串操作。

你可能感兴趣的:(Linux)