麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Linux Shell > 正文

詳解Shell腳本中調用另一個Shell腳本的三種方式

2020-07-26 23:25:13
字體:
來源:轉載
供稿:網友

主要以下有幾種方式:

Command Explanation
fork 新開一個子 Shell 執行,子 Shell 可以從父 Shell 繼承環境變量,但是子 Shell 中的環境變量不會帶回給父 Shell。
exec 在同一個 Shell 內執行,但是父腳本中 exec 行之后的內容就不會再執行了
source 在同一個 Shell 中執行,在被調用的腳本中聲明的變量和環境變量, 都可以在主腳本中進行獲取和使用,相當于合并兩個腳本在執行。

第一種:fork 特點:會生成子PID而且可重復被調用。

  ♦fork 是最普通的, 就是直接在腳本里面用 path/to/foo.sh 來調用

  ♦foo.sh 這個腳本,比如如果是 foo.sh 在當前目錄下,就是 ./foo.sh。運行的時候 terminal 會新開一個子 Shell 執行腳本 foo.sh,子 Shell 執行的時候, 父 Shell 還在。子 Shell 執行完畢后返回父 Shell。 子 Shell 從父 Shell 繼承環境變量,但是子 Shell 中的環境變量不會帶回父 Shell。

1.進入 編輯:

 [root@localhost ~]# vim liqiang-2.sh

2.編輯內容調用寫法:

echo 在這里調用./liqiang.sh

3.輸出結果

[root@localhost ~]# ./liqiang-2.sh

在這里調用
hollo
hollo

第二種:exec 特點:exec調用一次之后的所有代碼都不執行

  ♦exec 與 fork 不同,不需要新開一個子 Shell 來執行被調用的腳本. 被調用的腳本與父腳本在同一個 Shell 內執行。但是使用 exec 調用一個新腳本以后, 父腳本中 exec 行之后的內容就不會再執行了。這是 exec 和 source 的區別.

1.編輯內容調用寫法:

echo 在這里調用 ./liqiang.shecho 這里是exec函數調用exec ./liqiang-3.shecho 這里是sourcesource liqiang-4.shecho 在這里調用./liqiang.shecho 這里是exec函數調用exce liqiang-3.shecho 這里是sourcesource liqiang-4.shecho 在這里調用./liqiang.shecho 這里是exec函數調用exce liqiang-3.shecho 這里是sourcesource liqiang-4.sh

2.輸出結果:特點在于執行了第一個exec之后下面的就再也不執行了。

[root@localhost ~]# ./liqiang-2.sh在這里調用hollohollo這里是exec函數調用看看這里調用幾次調用一次就對了

第三種:sourcesource特點不會生成子PID也就是子進程,他就行把被用的腳本拷貝到當前shell腳本中執行,可以重復被調用。

  ♦與 fork 的區別是不新開一個子 Shell 來執行被調用的腳本,而是在同一個 Shell 中執行. 所以被調用的腳本中聲明的變量和環境變量, 都可以在主腳本中進行獲取和使用。

1.編輯內容調用寫法:

echo 在這里調用./liqiang.shecho 這里是exec函數調用這次被注釋掉了#exec ./liqiang-3.shecho 這里是sourcesource liqiang-4.shecho 在這里調用./liqiang.shecho 這里是exec函數調用被注釋掉了#exce liqiang-3.shecho 這里是sourcesource liqiang-4.shecho 在這里調用./liqiang.shecho 這里是exec函數調用exec liqiang-3.shecho 這里是sourcesource liqiang-4.sh 

♦2.執行結果:

[root@localhost ~]# ./liqiang-2.sh在這里調用hollohollo這里是exec函數調用這次被注釋掉了這里是source看看這里調用幾次沒有限制就對了在這里調用hollohollo這里是exec函數調用被注釋掉了這里是source看看這里調用幾次沒有限制就對了在這里調用hollohollo這里是exec函數調用#之后的沒被調用了

注意:

  ♦source方式的結果是兩者在同一進程里運行。該方式相當于把兩個腳本先合并再運行。

  ♦給多個腳本賦權限

chmod a+x liqiang-2.sh liqiang-3.sh liqiang-4.sh

到此這篇關于詳解Shell腳本中調用另一個Shell腳本的三種方式的文章就介紹到這了,更多相關Shell調用另一個Shell腳本內容請搜索武林網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产妇女乱码一区二区三区 | www成人在线观看 | 亚洲一级毛片 | 亚州综合网 | 免费久久精品 | 中文字幕欧美在线 | 欧美日本一 | 国产精品刺激对白麻豆99 | 精品一区二区三区中文字幕老牛 | 在线观看福利网站 | 九九福利视频 | av在线播放免费观看 | 在线成人www免费观看视频 | 一级毛片大片 | 国产99精品 | 毛片一区二区三区四区 | 久国产 | 国产1区2区3区中文字幕 | 亚洲电影在线观看高清免费 | 国产精品久久久免费观看 | 羞羞的视频在线 | 国产精品免费成人 | 国产精品久久久久久久av三级 | 色综合久久久久久久粉嫩 | av在线视 | 日韩在线播放第一页 | 国产亚洲精品久久久久久久软件 | 一级在线观看 | 麻豆一二区 | 天天草天天干天天射 | 依人在线视频 | 鲁丝一区二区三区不属 | 久久国产不卡 | 一级毛片真人免费播放视频 | 久久久久国产成人精品亚洲午夜 | 黄色特级一级片 | 国产99久久精品 | 国产一国产一级毛片视频 | 国人精品视频在线观看 | 欧美一区二区三区免费观看 | 国产小视频在线观看 |