linux下 /etc/profile、~/.bash_profile ~/.profile的執行過程
關於登入linux時,/etc/profile
、~/.bash_profile
、~/.bashrc
等幾個檔案的執行過程。
在登入Linux時要執行檔案的過程如下:
- 在剛登入Linux時,首先啟動
/etc/profile
檔案,然後再啟動使用者目錄下的~/.bash_profile
、~/.bash_login
或~/.profile
檔案中的其中一個,執行的順序為:~/.bash_profile
、~/.bash_login
、~/.profile
。如果~/.bash_profile
檔案存在的話,一般還會執行~/.bashrc
檔案。因為在~/.bash_profile
檔案中一般會有下面的程式碼:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
~/.bashrc
中,一般還會有以下程式碼:
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
所以~/.bashrc
會呼叫 /etc/bashrc
檔案。最後,在退出shell時,還會執行 ~/.bash_logout
檔案。
執行順序為:/etc/profile
-> (~/.bash_profile
| ~/.bash_login
| ~/.profile
) -> ~/.bashrc
-> /etc/bashrc
-> ~/.bash_logout
關於各個檔案的作用域,在網上找到了以下說明:
/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 執行的。通常二者設定大致相同,所以通常前者會呼叫後者。
轉載自 => here
相關文章
- Linux下/etc/profile、~/.bash_profile等幾個檔案的執行過程Linux
- /etc/profile、~/.bash_profile等幾個檔案的執行過程
- linux的umask以及登入Linux時/etc/profile、~/.bash_profile等幾個檔案的執行過程Linux
- linux下系統啟動時,幾個配置檔案 /etc/profile、~/.bash_profile 等幾個檔案的執行過程,先後順序Linux
- Linux系統環境變數檔案解析(etc/profile ,/etc/bashrc ,~/.bash_profile)Linux變數
- Oracle for Linux : .bash_profileOracleLinux
- oracle .bash_profileOracle
- mac下建立bash_profile步驟Mac
- Linux & Oracle 10g RAC --- .bash_profileLinuxOracle 10g
- 如何優雅的解決mac安裝zsh不執行.bash_profileMac
- Mac 每次終端重啟都需要重新執行 source ~/bash_profileMac
- .bash_profile和.bashrc等等的區別
- Linux下安裝Oracle11g bash_profile 的相關解釋LinuxOracle
- Mac-每次都要執行source ~/.bash_profile環境變數才生效Mac變數
- Linux的.bash_profile和.bashrc與子Shell的關係Linux
- Linux下環境變數配置方法梳理(.bash_profile和.bashrc的區別)Linux變數
- .bash_profile和.bashrc的什麼區別(轉)
- 【Linux/etc/profile檔案詳解 】Linux
- linux系統環境變數.bash_profile/bashrc檔案Linux變數
- Linux .bash_profile中 umask 022 設定問題Linux
- linux建立使用者不會生成.bash_profile問題Linux
- cygwin 的 /etc/home/XXXX 目錄下沒有.bash_profile 、 .inputrc 、 .bashrc 檔案
- 【Shell】【Tips】Linux的.bash_profile和.bashrc與子Shell的關係Linux
- SQL PROFILE修改固定執行計劃SQL
- 使用sql profile固定執行計劃SQL
- Oracle SQL Profile固定執行計劃的方法OracleSQL
- profile,rcfile的搜尋執行順序(轉)
- 控制執行計劃之-SQL Profile(一)SQL
- 用sql profile來固定執行計劃SQL
- 使用SQL PROFILE 給出合理的執行計劃SQL
- 使.bash_profile 檔案中環境變數馬上生效的命令變數
- linux中的配置檔案/etc/profile和.bashfile 的區別Linux
- Mac os下profile設定Mac
- 使用coe_xfr_sql_profile固定執行計劃SQL
- Oracle優化案例-coe_xfr_sql_profile固定執行計劃與刪除profile(二十五)Oracle優化SQL
- Oracle profileOracle
- sql profileSQL
- .Oracle固定執行計劃之SQL PROFILE概要檔案OracleSQL