日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

【linux】Shell脚本中调用另外一个脚本的方法

發(fā)布時(shí)間:2024/9/19 linux 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【linux】Shell脚本中调用另外一个脚本的方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

 在Linux平臺(tái)上開(kāi)發(fā),經(jīng)常會(huì)在console(控制臺(tái))上執(zhí)行另外一個(gè)腳本文件,經(jīng)常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?我們先來(lái)了解一下在一個(gè)shell腳本中如何調(diào)用另外一個(gè)shell腳本,其方法有 fork exec source。

1、fork ( /directory/script.sh)

  如果shell中包含執(zhí)行命令,那么子命令并不影響父級(jí)的命令,在子命令執(zhí)行完后再執(zhí)行父級(jí)命令。子級(jí)的環(huán)境變量不會(huì)影響到父級(jí)。

fork是最普通的, 就是直接在腳本里面用/directory/script.sh來(lái)調(diào)用script.sh這個(gè)腳本. 運(yùn)行的時(shí)候開(kāi)一個(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

2、exec (exec /directory/script.sh)

  執(zhí)行子級(jí)的命令后,不再執(zhí)行父級(jí)命令。

  exec與fork不同,不需要新開(kāi)一個(gè)sub-shell來(lái)執(zhí)行被調(diào)用的腳本. 被調(diào)用的腳本與父腳本在同一個(gè)shell內(nèi)執(zhí)行。但是使用exec調(diào)用一個(gè)新腳本以后, 父腳本中exec行之后的內(nèi)容就不會(huì)再執(zhí)行了。這是exec和source的區(qū)別

3、source (source /directory/script.sh)

  執(zhí)行子級(jí)命令后繼續(xù)執(zhí)行父級(jí)命令,同時(shí)子級(jí)設(shè)置的環(huán)境變量會(huì)影響到父級(jí)的環(huán)境變量。

與fork的區(qū)別是不新開(kāi)一個(gè)sub-shell來(lái)執(zhí)行被調(diào)用的腳本,而是在同一個(gè)shell中執(zhí)行. 所以被調(diào)用的腳本中聲明的變量和環(huán)境變量, 都可以在主腳本中得到和使用.

以上三種就是調(diào)用shell腳本的不同方法,./my.sh即是fork的方法,source my.sh和. my.sh(點(diǎn)加空格加腳本文件)既是source的方法。

  在linux系統(tǒng)上,搭建嵌入式開(kāi)發(fā)平臺(tái),在交叉編譯代碼之前,都需要執(zhí)行腳本設(shè)置環(huán)境變量,切記需要使用sourc 或 點(diǎn)的方式執(zhí)行shell腳本,原因如上。

總結(jié)

以上是生活随笔為你收集整理的【linux】Shell脚本中调用另外一个脚本的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。