天天看點

source指令與shell scripts的差別

運作如下指令./set_env.sh設定相關環境變量時發現:當此指令運作結束後,腳本中所設定的環境變量仍為空,感覺此腳本沒有執行;運作. set_env.sh腳本執行成功。通過上網查詢,發現是由于source指令與shell scripts的作用範圍不同而導緻的。

source指令與shell scripts的差別:

source在目前bash環境下執行指令,而scripts是啟動一個子shell來執行指令。這樣如果把設定環境變量(或alias等等)的指令寫進scripts中,就隻會影響子shell,無法改變目前的BASH,是以通過檔案(指令列)設定環境變量時,要用source 指令。

source指令簡介:

source指令也稱為“點指令”,也就是一個點符号(.)。source指令通常用于重新執行剛修改的初始化檔案,使之立即生效,而不必登出并重新登入。

用法: 

source filename 或 . filename