linux下source命令 點命令

2021-07-16 14:50:53 字數 1679 閱讀 1187

當我修改了/etc/profile檔案,我想讓它立刻生效,而不用重新登入;這時就想到用source

命令,如:source /etc/profile

對source進行了學習

,並且用它與sh 執行指令碼進行了對比,現在總結一下。

source命令:

source命令也稱為「點命令

」,也就是乙個點符號(.),是bash的內部命令。

功能:使shell

讀入指定的shell程式檔案並依次執行檔案中的所有語句

source命令通常用於重新執行剛修改的初始化檔案,使之立即生效,而不必登出並重新登入。

用法:source filename 或 . filename

source命令(從 c shell 而來)是bash shell的內建命令;點命令(.),就是個點符號(從bourne shell而來)是source的另一名稱。

source filename 與 sh filename 及./filename執行指令碼的區別在那裡呢?

1.當shell指令碼具有可執行許可權時,用sh filename與./filename執行指令碼是沒有區別得。./filename是因為當前目錄沒有在path中,所有"."是用來表示當前目錄的。

2.sh filename 重新建立乙個子shell,在子shell中執行指令碼裡面的語句,該子shell繼承父shell的環境變數,但子shell新建的、改變的變數不會被帶回父shell,除非使用export。

3.source filename:這個命令其實只是簡單地讀取指令碼裡面的語句依次在當前shell裡面執行,沒有建立新的子shell。那麼指令碼裡面所有新建、改變變數的語句都會儲存在當前shell裡面。

舉例說明:

1.新建乙個test

.sh指令碼,內容為:a=1

2.然後使其可執行chmod +x test.sh

3.執行sh test.sh後,echo $a,顯示為空,因為a=1並未傳回給當前shell

4.執行./test.sh後,也是一樣的效果

5.執行source test.sh 或者 . test.sh,然後echo $a,則會顯示1,說明a=1的變數在當前shell中

此外: 1

、使用者登入系統時,

bash

首先執行

/etc/profile

配置檔案和

/etc/

profile.d/目錄

下的配置檔案,這些配置檔案對系統的所有使用者都有效,它們

設定了普遍性的環境變數。

2、然後,

bash

會執行登入使用者主目錄下的

.bash_profile和.

bashrc

檔案,通過這

兩個配置檔案設定使用者個性化的環境變數。並且可以重複設定前面配置檔案中設定的選項,覆蓋它們的設定值。

3、使用者主目錄下面的

.bashrc

檔案會執行

/etc/

bashrc

檔案來完成環境變數的設定。

4、使用者主目錄下的

.bash_profile

設定為每次登入時執行,而.

bashrc

則被設定為在每次開啟新的終端

(如在圖形環境下登入後開啟多個

xterm視窗)

時執行,即開啟新的終端而不需要重新登入,接受初始登入時設定的環境變數。

linux下的source命令

zz linux source命令及指令碼的執行方式解析 當我修改了 etc profile檔案,我想讓它立刻生效,而不用重新登入 這時就想到用 source 命令,如 source etc profile 對source進行了 學習,並且用它與sh 執行指令碼進行了對比,現在總結一下。source...

Linux下source命令詳解

source filename在當前bash環境下讀取並執行filename中的命令。注 該命令通常用命令 來替代。使用範例 source filename filename 中間有空格 source命令 從 c shell 而來 是bash shell的內建命令。點命令,就是個點符號,從bourn...

Linux下source命令詳解

原文 source filename source filename filename 中間有空格 make mrproper make menuconfig make dep make clean make bzimage make mrproper make menuconfig make de...