linux 系統下的環境變數檔案執行區別

2021-08-21 03:39:51 字數 2219 閱讀 2163

摘錄網友

/etc/profile:此檔案為系統的為每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.(是系統全域性環境變數設定)

並從/etc/profile.d目錄的配置檔案中蒐集shell的設定.

/etc/bashrc:為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.(是系統全域性環境變數設定)

~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案.

~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該該檔案被讀取.

~/.bash_logout:當每次退出系統(退出bash shell)時,執行該檔案. 

bash_profile 、.bashrc 、和.bash_logout

上面這三個檔案是bash shell的使用者環境配置檔案,位於使用者的主目錄下。

.bash_profile是最重要的乙個配置檔案,它在使用者每次登入系統時被讀取,裡面的所有 命令都會被bash執行。.profile(由bourne shell和korn shell使用)和.login(由c shell使用)兩個檔案是.bash_profile的同義詞,目的是為了相容其它shell。在debian中使用.profile檔案代 替.bash_profile檔案。

.bashrc檔案會在bash shell呼叫另乙個bash shell時讀取,也就是在shell中再鍵入bash命令啟動乙個新shell時就會去讀該檔案。這樣可有效分離登入和子shell所需的環境。但一般 來說都會在.bash_profile裡呼叫.bashrc指令碼以便統一配置使用者環境。

.bash_logout在退出shell時被讀取。所以我們可把一些清理工作的命令放到這檔案中。

登入linux時,首先啟動 /etc/profile 檔案,然後再啟動使用者目錄下的 ~/.bash_profile、 ~/.bash_login或 ~/.profile檔案中的其中乙個(根據不同的linux作業系統的不同,命名不一樣),執行的順序為:~/.bash_profile、 ~/.bash_login、 ~/.profile。

如果 ~/.bash_profile檔案存在的話,一般還會執行 ~/.bashrc檔案。

至於~/.profile與~/.bashrc的區別

都具有個性化定製功能

~/.profile可以設定本使用者專有的路徑,環境變數,等,它只能登入的時候執行一次

~/.bashrc也是某使用者專有設定文件,可以設定路徑,命令別名,每次shell script的執行都會使用它一次

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裡面。

Linux下的環境變數檔案。

etc profile 此檔案為系統的每個使用者設定環境資訊,當使用者第一次登入時,該檔案被執行.並從 etc profile.d目錄的配置檔案中蒐集shell的設定.etc bashrc 為每乙個執行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取.bash p...

Linux 系統環境變數

1.顯示環境變數home echo home 2.設定乙個新的環境變數welcome export welcome hello 3.使用env命令顯示所有的環境變數 env 4.使用set命令顯示所有本地定義的shell變數 set 5.使用unset命令來清除環境變數 unset test 刪除環...

Linux系統環境變數

環境變數 1.1 環境變數概念 環境變數是乙個在作業系統中具有特定名字的物件,它包含了乙個或者多個應用程式所將要使用的資訊。在shell中經常會用環境變數來儲存有關shell會話和工作環境的資訊。通過環境變數,可以在記憶體中儲存資料,以便程式或者shell執行指令碼能夠輕鬆訪問它們。環境變數分為兩類...