R1-008 Shell環境變數

路途中的人2012發表於2017-03-02
通常情況下,每個程式都有自己的“環境”,這個環境是由一組變數組成的,這些變數中存有程式可能需要引用的資訊。在這種情況下,Shell與一個一般的程式沒什麼區別。

每次當一個Shell啟動時,它都將建立適合於自己環境變數的Shell變數。更新或者新增一個新的環境變數的話,這個Shell都會立即更新它自己的環境,換言之,更改或增加的變數會立即生效,並且所有後繼生成的Shell子程式都會繼承這個環境。

如果一個指令碼要設定一個環境變數,那麼需要將這些變數‘export’出來,也就是需要通知到指令碼本地的環境。這就是export命令的功能。

一個指令碼只能夠export變數到這個指令碼所產生的子程式,也就是說只能對這個指令碼所產生的命令和程式起作用。如果指令碼是從命令列中呼叫的,那麼這個指令碼鎖export的變數是不能影響命令列環境的。也就是說,子程式是不能export變數來影響產生自己的父程式的環境的。但是,當使用source命令執行指令碼時,因為沒有子程式的產生,此時指令碼中的export命令將會影響父程式的環境。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-2134609/,如需轉載,請註明出處,否則將追究法律責任。

相關文章