您好,登錄后才能下訂單哦!
今天小編分享的是關于linux中運行shell程序的方法介紹,可能大家對linux中運行shell程序的方法并不陌生,或者從來沒有了解過linux中運行shell程序的方法。但是不用擔心,今天小編會以最簡單的描述來講解。一起來看看吧。
首先,我們來看一一個程序test.sh
#!/bin/sh #this is a test. cd /tmp echo "hello,this is a test"
執行程序的方法:
1、使文件具有可執行權限,直接運行文件。
chmod命令用來修改文件的權限。
+x是使文件擁有可執行的權限。就如上面我們運行程序一樣。
2、直接調用命令解釋器執行程序。
由于我們的解釋器是/bin/sh,所以,用sh命令解釋器來執行程序。
3、使用source執行文件。
程序執行差異說明:
在我們運行shell程序的三種方法中,前兩種方法的執行過程如下:
(1)父進程接收到命令,然后發現不是內建命令,于是創建了一個和自己一樣的shell進程,來執行這個外部命令
(2)這個shell子進程用/bin/sh取代自己,sh進程設置自己的運行環境變量,其中包括了$PWD變量。
(3)sh進程依次執行內建命令cd和echo。在此過程中,sh進程(子進程)的環境變量被cd命令改變。
(4)子進程執行完畢,就消亡了,一直在等待的父進程醒來,繼續接受命令。
所以我們明白了前兩種方法執行結果跟我們預期不一樣的原因,父進程的當前目錄(環境變量)無法被子進程改變。
但是,使用source執行是shell腳本時不會創建子進程,而是在父進程中直接執行。
以上就是linux中運行shell程序的方法的簡略介紹,當然詳細使用上面的不同還得要大家自己使用過才領會。如果想了解更多,歡迎關注億速云行業資訊頻道哦!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。