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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

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

發布時間:2024/9/19 linux 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【linux】Shell脚本中调用另外一个脚本的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 在Linux平臺上開發,經常會在console(控制臺)上執行另外一個腳本文件,經常用的方法有:./my.sh 或 source my.sh 或 . my.sh;這三種方法有什么不同呢?我們先來了解一下在一個shell腳本中如何調用另外一個shell腳本,其方法有 fork exec source。

1、fork ( /directory/script.sh)

  如果shell中包含執行命令,那么子命令并不影響父級的命令,在子命令執行完后再執行父級命令。子級的環境變量不會影響到父級。

fork是最普通的, 就是直接在腳本里面用/directory/script.sh來調用script.sh這個腳本. 運行的時候開一個sub-shell執行調用的腳本,sub-shell執行的時候,parent-shell還在。

sub-shell執行完畢后返回parent-shell. sub-shell從parent-shell繼承環境變量.但是sub-shell中的環境變量不會帶回parent-shell

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

  執行子級的命令后,不再執行父級命令。

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

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

  執行子級命令后繼續執行父級命令,同時子級設置的環境變量會影響到父級的環境變量。

與fork的區別是不新開一個sub-shell來執行被調用的腳本,而是在同一個shell中執行. 所以被調用的腳本中聲明的變量和環境變量, 都可以在主腳本中得到和使用.

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

  在linux系統上,搭建嵌入式開發平臺,在交叉編譯代碼之前,都需要執行腳本設置環境變量,切記需要使用sourc 或 點的方式執行shell腳本,原因如上。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。