Linux 下shell中exec解析
exec和source都屬于bash內(nèi)部命令(builtins commands),在bash下輸入man exec或man source可以查看所有的內(nèi)部命令信息。
?????? bash shell的命令分為兩類:外部命令和內(nèi)部命令。
外部命令是通過系統(tǒng)調(diào)用或獨(dú)立的程序?qū)崿F(xiàn)的,如sed、awk等等。
內(nèi)部命令是由特殊的文件格式(.def)所實(shí)現(xiàn),如cd、pwd等
fork是linux的系統(tǒng)調(diào)用,用來創(chuàng)建子進(jìn)程(child process)。
子進(jìn)程是父進(jìn)程(parent process)的一個(gè)副本,從父進(jìn)程那里獲得一定的資源分配以及繼承父進(jìn)程的環(huán)境。子進(jìn)程與父進(jìn)程唯一不同的地方在于pid(process id)。
????? 環(huán)境變量(傳給子進(jìn)程的變量,遺傳性是本地變量和環(huán)境變量的根本區(qū)別)只能單向從父進(jìn)程傳給子進(jìn)程。不管子進(jìn)程的環(huán)境變量如何變化,都不會(huì)影響父進(jìn)程的環(huán)境變量。
?
兩種方法執(zhí)行shell scripts
??? 一種是新產(chǎn)生一個(gè)shell,然后執(zhí)行相應(yīng)的shell scripts;
??????? 一般的script文件(.sh)即是這種用法。這種方法先啟用新的sub-shell(新的子進(jìn)程),然后在其下執(zhí)行命令。???
?? 一種是在當(dāng)前shell下執(zhí)行,不再啟用其他shell。
????? linux下的source命令,不再產(chǎn)生新的shell,而在當(dāng)前shell下執(zhí)行一切命令
轉(zhuǎn)載于:https://www.cnblogs.com/ftl1012/p/9310536.html
總結(jié)
以上是生活随笔為你收集整理的Linux 下shell中exec解析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关闭IOS更新功能(ios4/5/6)
- 下一篇: 同时启动多个Tomcat 和 Linux