Linux 下shell中exec解析

Posted 小a玖拾柒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 下shell中exec解析相关的知识,希望对你有一定的参考价值。

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息。
       bash shell的命令分为两类:外部命令和内部命令。

外部命令是通过系统调用或独立的程序实现的,如sed、awk等等。

内部命令是由特殊的文件格式(.def)所实现,如cd、pwd等


  fork是linux的系统调用,用来创建子进程(child process)。

子进程是父进程(parent process)的一个副本,从父进程那里获得一定的资源分配以及继承父进程的环境。子进程与父进程唯一不同的地方在于pid(process id)。
      环境变量(传给子进程的变量,遗传性是本地变量和环境变量的根本区别)只能单向从父进程传给子进程。不管子进程的环境变量如何变化,都不会影响父进程的环境变量。
 

两种方法执行shell scripts
    一种是新产生一个shell,然后执行相应的shell scripts;
        一般的script文件(.sh)即是这种用法。这种方法先启用新的sub-shell(新的子进程),然后在其下执行命令。   
   一种是在当前shell下执行,不再启用其他shell。
      linux下的source命令,不再产生新的shell,而在当前shell下执行一切命令









以上是关于Linux 下shell中exec解析的主要内容,如果未能解决你的问题,请参考以下文章

shell中exec解析(转)

[100]shell中exec解析

shell 中 exec 和 source 命令解析

LINUX+NGINX下的PHP shell_exec()函数执行linux命令 2019-08-08

执行shell脚本三种方法的区别:(sh、exec、source)

linux下shell脚本实现串口的读取以及报文的解析