要搞清
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與使用...