进程环境之命令行参数
当执行一个程序时,调用exec的进程可将命令行参数传递给该新进程。这是UNIX shell的一部分常规操作。
程序清单7-3 将所有命令行参数回送到标准输出
[root@localhost apue]# cat prog7-3.c #include "apue.h" int main(int argc, char *argv[]) { int i; for(i=0; i<argc; i++) /* echo all command-line args */ printf("argv[%d]: %s\n", i, argv[i]); exit(0); }
执行结果:
[root@localhost apue]# ./prog7-3 arg1 TEST foo argv[0]: ./prog7-3 argv[1]: arg1 argv[2]: TEST argv[3]: foo
ISO C和POSIX.1都要求argv[argc]是一个空指针。这就使我们可以将从参数处理循环改写为:
for ( i = 0; argv[i] != NULL; i++ )
本篇博文内容摘自《UNIX环境高级编程》(第二版),仅作个人学习记录所用。关于本书可参考:http://www.apuebook.com/。