bashrc與profile的區別

2021-08-04 04:43:56 字數 1380 閱讀 5759

要搞清

bashrc

與profile

的區別,首先要弄明白什麼是

互動式shell

和非互動式

shell

,什麼是

login shell

和non-login shell 。

互動式模式就是

shell

等待你的輸入,並且執行你提交的命令。這種模式被稱作互動式是因為

shell

與使用者進行互動。這種模式也是大多數使用者非常熟悉的:登入、執行一些命令、簽退。當你簽退後,

shell

也終止了。

shell

也可以執行在另外一種模式:非互動式模式。在這種模式下,

shell

不與你進行互動,而是讀取存放在檔案中的命令

, 並且執行它們。當它讀到檔案的結尾,

shell

也就終止了。

bashrc

與profile都用於儲存使用者的環境資訊,bashrc用於互動式non-login

shell,而profile用於互動式login shell。系統中存在許多bashrc和profile檔案,下面逐一介紹:

/etc/pro

此檔案為系統的每個使用者設定環境資訊

,當第乙個使用者登入時

,該檔案被執行.並從

/etc/profile.d

目錄的配置檔案中蒐集

shell

的設定.

/etc/bashrc:

為每乙個執行

bash shell

的使用者執行此檔案.當

bash shell

被開啟時

,該檔案被讀取。有些

linux

版本中的

/etc

目錄下已經沒有了

bashrc

檔案。~/. pro

每個使用者都可使用該檔案輸入專用於自己使用的

shell資訊,

當使用者登入時,該

檔案僅僅執行一次

!預設情況下

,它設定一些環境變數

,然後執行使用者的

.bashrc檔案.

~/.bashrc:

該檔案包含專用於某個使用者的

bash shell

的bash資訊,

當該使用者登入時以及每次開啟新的

shell時,

該檔案被讀取.

另外,/etc/profile

中設定的變數(全域性

)的可以作用於任何使用者,而

~/.bashrc

等中設定的變數(區域性

)只能繼承

/etc/profile

中的變數

,他們是"父子

"關係.

bashrc與profile的區別

bashrc與profile的區別 要搞清bashrc與profile的區別,首先要弄明白什麼是互動式shell和非互動式shell,什麼是login shell 和non login shell。互動式模式就是shell等待你的輸入,並且 執行你提交的命令。這種模式被稱作互動式是因為shell與使...

bashrc與profile的區別

bashrc與profile的區別 要搞清bashrc與profile的區別,首先要弄明白什麼是互動式shell和非互動式shell,什麼是login shell 和non login shell。互動式模式就是shell等待你的輸入,並且執行你提交的命令。這種模式被稱作互動式是因為shell與使用...

bashrc與profile的區別

bashrc與profile的區別 要搞清bashrc與profile的區別,首先要弄明白什麼是互動式shell和非互動式shell,什麼是login shell 和non login shell。互動式模式就是shell等待你的輸入,並且執行你提交的命令。這種模式被稱作互動式是因為shell與使用...