linux執行程式有三種方法,分別是:
1、讓檔案具有可執行權限,直接執行檔案。
chmod指令用來修改檔案的權限。 x是使檔案擁有可執行的權限。就如上面我們運行程式一樣。但是我們看到的結果與我們想像當中有一定的出入。
2、直接呼叫命令解釋器執行程式。
如圖:
由於我們的解釋器是/bin/sh,所以,用sh指令解釋器來執行程式。
(目前的工作路徑沒有改變)
(推薦教學:linux教學)
3、使用source執行檔。
如圖:
(目前的工作路徑發生了變化)
在執行shell程式的三種方法中,前兩種方法的執行過程如下:
(1)父進程接收到命令,然後發現不是內建命令,於是創建了一個和自己一樣的shell進程,來執行這個外部命令
(2)這個shell子進程用/bin/sh取代自己,sh進程設定自己的運行環境變量,其中包括了$PWD變量。
(3)sh程序依序執行內建指令cd和echo。在此過程中,sh進程(子進程)的環境變數被cd指令改變。
(4)子進程執行完畢,就消亡了,一直在等待的父進程醒來,繼續接受命令。
分析:
父行程的目前目錄(環境變數)無法被子程序改變。但是,使用source執行是shell腳本時不會建立子進程,而是在父進程中直接執行。
相關影片教學推薦:linux影片教學
#以上是linux怎麼運行shell程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!