解释器文件(interpreter file)

解释器文件(interpreter file)是以:

#! pathname [ optional-argument ]

作为起始行的文本文件,exec执行的不是解释器文件,而是解释器,即pathname.

简单来说,当以一个解释器文件作参数调用exec时,exec内部首先会得到错误,因为该文件

并非机器可执行,于是把它识别为解释器文件,调用pathname(那应该是execl啊,但书上说

是execlp),并传给它参数:

optional-argument, interpreter-file's path, arguments of the interpreter-file

可能与具体实现有些出入吧,但就此打住好了.

采用解释器文件比在shell中调用解释器减少了开销,在后一种情况,sh首先被执行,然后sh

会对解释器进行fork, exec, wait,而在前一种情况,只是直接执行解释器罢了.

 

*就算直接从shell中调用shell script,也是fork, exec, wait,不过exec执行的是sh.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值