? ? ? ? 在主shell腳本中調(diào)用子shell腳本有三種不同方法(fork, exec, source)。
fork? ( /directory/script.sh)
fork是最普通的, 就是直接在腳本里面用/directory/script.sh來調(diào)用script.sh這個(gè)腳本.
運(yùn)行的時(shí)候開一個(gè)sub-shell執(zhí)行調(diào)用的腳本,sub-shell執(zhí)行的時(shí)候, parent-shell還在。
sub-shell執(zhí)行完畢后返回parent-shell. sub-shell從parent-shell繼承環(huán)境變量.但是sub-shell中的環(huán)境變量不會(huì)帶回parent-shell。
exec (exec /directory/script.sh)
exec與fork不同,不需要新開一個(gè)sub-shell來執(zhí)行被調(diào)用的腳本.? 被調(diào)用的腳本與父腳本在同一個(gè)shell內(nèi)執(zhí)行。但是使用exec調(diào)用一個(gè)新腳本以后, 父腳本中exec行之后的內(nèi)容就不會(huì)再執(zhí)行了。這是exec和source的區(qū)別。文章來源:http://www.zghlxwxcb.cn/news/detail-821249.html
source (source /directory/script.sh)
與fork的區(qū)別是不新開一個(gè)sub-shell來執(zhí)行被調(diào)用的腳本,而是在同一個(gè)shell中執(zhí)行。所以被調(diào)用的腳本中聲明的變量和環(huán)境變量, 都可以在主腳本中得到和使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-821249.html
到了這里,關(guān)于Shell:腳本中調(diào)用另一個(gè)腳本不同方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!