使用 Shell 进行工作的人们对 Unix / Linux 下的 Shell 编" name="description" />

Linux解释器原理

发表于:2007-07-04来源:作者:点击数: 标签:
MI LY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> 使用 Shell 进行工作的人们对 Unix / Linux 下的 Shell 编
MILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">   使用Shell进行工作的人们对Unix/Linux下的Shell编程都很熟悉,在所有的Shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统而言,这一行字符串意味着什么?

转载--Linux解释器原理

引言
使用Shell进行工作的人们对Unix/Linux下的Shell编程都很熟悉,在所有的Shell编程的书中都会提到#!/bin/bash,而这里到底包含了些什么?对操作系统而言,这一行字符串意味着什么?你可能会说,不就是会让/bin/bash程序来解释这个脚本程序吗?当然你是对的,看看我们的标题,这里我们谈谈解释器,让我们一起来看看脚本文件里的第一句到底对系统而言意味着什么。但有一点我们可先明确一下,所谓解释器就是指#!行后面的可执行的程序。

一、我们从exec族函数谈起
如果你从不写C程序,可能需要对本节的内容看得更为仔细并且试验一下。

代码:

       #include

        extern char **environ;

        int execl(const char *path, const char *arg, ...);

       int execlp(const char *file, const char *arg, ...);

       int execle(const  char  *path,  const  char  *arg  , ..., char * const envp[]);

       int execv(const char *path, char *const argv[]);

       int execvp(const char *file, char *const argv[]);

 

原文转自:http://www.ltesting.net