解析器文件

小鱼儿 2022-09-25 01:30 231阅读 0赞

基本概念:

解释器是文本文件,其起始行的形式是:
#! pathname [optional-argument]

在惊叹号和pathname之间的空格是可任选的。最常见的是以下列行开始:
#! /bin/sh

pathname通常是个绝对路径名,对它不进行什么特殊的处理,对这种文件的识别是由内核作为exec系统调用处理的一部分来完成的。内核使调用exec函数的进程实际执行的并不是该解析器文件,而是在该解释器文件第一行中pathname所指定的文件。一定要将解析器文件(文件文件,它以#!开头)和解析器(由该解析器文件第一行中的pathname指定)区分开来。

一个简单的解析器文件:printf.sh

  1. #! /bin/sh
  2. echo "hello world"

a) 这个解析器文件的解析器就是第一行中的/bin/sh
b) 通过exec来执行printf.sh时,类似执行了/bin/sh printf.sh
c) 如果缺少第一行,通过exec来执行时,会报错(execl error: Exec format error)

调用exec的例子可参考文章: fork编程之exec函数详解

End;

发表评论

表情:
评论列表 (有 0 条评论,231人围观)

还没有评论,来说两句吧...

相关阅读

    相关 视图解析

    一、作用 SpringMVC中的视图解析器的主要作用就是将逻辑视图转换成用户可以看到的物理视图。 二、流程 当用户对SpringMVC应用程序发起请求时,这些请求都会被S