解析器文件--Interpreter File

本文探讨了解析器文件的概念,特别是它们在shell脚本中的应用。解析器文件以#!开始,指定执行的解析器。举例说明了如何执行包含解析器的程序,并解释了当shell尝试执行文本文件时,如何识别并调用合适的解析器。还提到了awk脚本作为解析器文件的例子,展示了直接调用解析器执行脚本的方法。
摘要由CSDN通过智能技术生成

刚看了apue的关于解析器文件的部分,感受颇多,记录一下吧。

解析器文件是一种文本文件,文件的第一行的形式:#!  pathname  [optional-argument]

其中pathname指的时解析器名称,optional-argument是传递给解析器的参数。其实我们大家最熟悉的解析器文件就是shell脚本文件,shell脚本文件第一行都是#! /bin/sh。

解析器文件是一种文本文件,而解析器是可执行的二进制文件。解析器是由解析器文件的第一行指定的。

例如一个displayArgTab程序,用于显示执行该程序时的参数表,代码如下:

//name:displayArgTab
int main(int argc, char *argv[])
{
        int i;

        for(i = 0; i<argc ;i++)
                printf("argv[%d]: %s\n", i,  argv[i]);
       
        return 0;
}
以displayArgTab为解析器,写一个解析器文件,如下:

//解析器文件名为testInterpreter
#! /tmp/displayArgTab  arg
生成的解析器文件testInterpreter也放在/tmp/下。下面通过execl来调用解
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值