解释器文件
解释器文件是文本文件,而解析器是可执行的二进制文件。解析器是由解析器文件的第一行指定的,其格式如下:
#! pathname [optional-argument]
//pathename 是解释器的绝对路径;
//optional-argument 是传递给解析器的参数
内核调用 exec 函数的进程实际执行的并不是该解释器文件,而是该解释器文件的第一行中 pathname 所指定的解释器。注意以下区别:
- 解释器文件: 以#!开头的文本文件。
- 解释器:解释器文件第一行pathname所指定的程序。
首先创建解释器echoarg:解释器echoarg由echoarg.c文件编译而成,echoarg.c文件如下所示,实现功能是显示执行程序的参数列表:
#include "apue.h"
/*
* 函数功能:显示执行程序的参数列表;
*/
int main(int argc,