溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux運行shell程序的方法

發(fā)布時間:2020-04-02 11:09:00 來源:億速云 閱讀:413 作者:小新 欄目:建站服務(wù)器

今天小編給大家分享的是linux運行shell程序的方法,很多人都不太了解,今天小編為了讓大家更加了解linux運行shell程序的方法,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會有所收獲的哦。

linux運行shell程序的方法

linux運行程序有三種方法,分別是:

1、使文件具有可執(zhí)行權(quán)限,直接運行文件。

chmod命令用來修改文件的權(quán)限。+x是使文件擁有可執(zhí)行的權(quán)限。就如上面我們運行程序一樣。但是我們看到的結(jié)果與我們想象當中有一定的出入。

2、直接調(diào)用命令解釋器執(zhí)行程序。

如圖:

linux運行shell程序的方法

由于我們的解釋器是/bin/sh,所以,用sh命令解釋器來執(zhí)行程序。

(當前的工作路徑?jīng)]有發(fā)生變化)

3、使用source執(zhí)行文件。

如圖:

linux運行shell程序的方法

(當前的工作路徑發(fā)生了變化)

在運行shell程序的三種方法中,前兩種方法的執(zhí)行過程如下:

(1)父進程接收到命令,然后發(fā)現(xiàn)不是內(nèi)建命令,于是創(chuàng)建了一個和自己一樣的shell進程,來執(zhí)行這個外部命令

(2)這個shell子進程用/bin/sh取代自己,sh進程設(shè)置自己的運行環(huán)境變量,其中包括了$PWD變量。

(3)sh進程依次執(zhí)行內(nèi)建命令cd和echo。在此過程中,sh進程(子進程)的環(huán)境變量被cd命令改變。

(4)子進程執(zhí)行完畢,就消亡了,一直在等待的父進程醒來,繼續(xù)接受命令。

分析:

父進程的當前目錄(環(huán)境變量)無法被子進程改變。但是,使用source執(zhí)行是shell腳本時不會創(chuàng)建子進程,而是在父進程中直接執(zhí)行。

關(guān)于linux運行shell程序的方法就分享到這里了,當然并不止以上和大家分析的辦法,不過小編可以保證其準確性是絕對沒問題的。希望以上內(nèi)容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI