.bash_profile與.bashrc和.profile的區分概念
bashshelllinux
在Linux系統中配置環境變量相關的文件主要有如下幾個,很容易弄混的,這兒簡單區分下:
/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)時,執行該文件.
另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關系.
~/.bash_profile 是交互式、login 方式進入 bash 運行的.
~/.bashrc 是交互式 non-login 方式進入 bash 運行的.
通常二者設置大致相同,所以通常前者會調用後者.