source 和sh 區別


sh新建一個子shell進程,變量在主shell中無法獲取 source在當前shell中執行腳本,變量在主shell即當前shell中可以獲取 
例子:
 1.新建一個test.sh腳本,內容為:A=1 
2.然后使其可執行chmod +x test.sh 
3.運行sh test.sh后,echo $A,顯示為空,因為A=1並未傳回給當前shell 
4.運行./test.sh后,也是一樣的效果 
5.運行source test.sh 或者 . test.sh,然后echo $A,則會顯示1,說明A=1的變量在當前shell中
拓展: source filename 等價於 . filename 文件沒有執行權限也可以
而sh file.sh 等價於 .
/file.sh(執行表示當前路徑下的file.sh) 當然如果全路徑就是/xx/xx.sh了 文件要有執行權限

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM