ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell fork, exec, source区别

2022-07-21 15:33:53  阅读:176  来源: 互联网

标签:fork 脚本 shell sub exec script source


fork(/path/to/script.sh)

fork是最普通的,就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本。运行的时候开一个sub-shell执行调用的脚本,sub-shell执行的时候, parent-shell还在。sub-shell执行完毕后返回parent-shell。sub-shell从parent-shell继承环境变量,但是sub-shell中的环境变量不会带回parent-shell。

exec (exec /path/to/script.sh)

exec与fork不同,不需要新开一个sub-shell来执行被调用的脚本。被调用的脚本与父脚本在同一个shell内执行。但是使用exec调用一个新脚本以后, 父脚本中exec行之后的内容就不会再执行了,这是exec和source的区别。

source (source /directory/script.sh)

与fork的区别是不新开一个sub-shell来执行被调用的脚本,而是在同一个shell中执行。所以被调用的脚本中声明的变量和环境变量都可以在主脚本中得到和使用。

标签:fork,脚本,shell,sub,exec,script,source
来源: https://www.cnblogs.com/sinicheveen/p/16502110.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有