bash配置檔案的載入順序和登陸方式有關,下面先介紹下登陸方式。
登陸式shell:
非登入式shell:
profile類檔案作用
bashrc類檔案作用
登陸式shelll配置檔案載入順序:/etc/profile > .bash_profile > .bash_login > .profile > .bash_logout.
非登入式shell配置檔案載入順序:/etc/bash.bashrc > .bashrc
注: 先載入的配置檔案的配置,可能會被後載入的配置所覆蓋
下面一張圖展示下載入順序, a >b1>b2>b2>c
4.1 在/etc/profile檔案中, 我們可以看到如下**
for i in /etc/profile.d/*簡單的說,我們的/etc/profile這個檔案進行一系列的設定後, 最後需要遍歷下/etc/profile.d這個目錄下的所有sh檔案, 然後source每個檔案,讓每個檔案的設定生效。.sh ; do
if [ -r "$i" ]; then
if [ "$" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fifi
done
4.2 在~/.bash_profile檔案中,我們可以看到如下**
[root@centos6 ~]# cat ~/.bash_profile我們可以看出來,在~/.bash_profile檔案中, 判斷了~/.bashrc檔案是不是存在,如果存在,也source下,讓其生效。# .bash_profile
# get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi# user specific environment and startup programs
path=$path:$home/bin
export path
4.3 在~/.bashrc檔案中,我們可以看到如下**
[root@centos6 ~]# cat ~/.bashrc我們可以看出來,先設定了一些自定義的別名設定,然後去source了/etc/bashrc這個檔案。# .bashrc
# user specific aliases and functions
alias
rm='
rm -i
'alias
cp='
cp -i
'alias
mv='
mv -i
'# source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
4.4 在/etc/bashrc檔案中, 我們可以看到如下**
if ! shopt -q login_shell ; then # we'我們可以看到,最後一部分**表示在非登入shell中, /etc/bashrc檔案會source /etc/prifile.d目錄下的所有sh檔案re not a login shell
# need to redefine pathmunge, it get'
s undefined at the end of /etc/profile
pathmunge () :"in
*:"$1":*)
;;*)
if [ "
$2" = "
after
" ] ; then
path=$path:$1
else
path=$1
:$path
fiesac
} # by default, we want umask to get set. this sets it
for non-login
shell.
# current threshold
for system reserved uid/gids is 200
# you could check uidgid reservation validity
in# /usr/share/doc/setup-*/uidgid file
if [ $uid -gt 199 ] && [ "
`/usr/bin/id -gn`
" = "
`/usr/bin/id -un`
" ]; then
umask
002else
umask
022fi
# only display echos from profile.d scripts
if we are no login
shell
# and interactive -otherwise just process them to set envvars
for i in /etc/profile.d/*
.sh; do
if [ -r "$i" ]; then
if [ "$ps1" ]; then
. "$i"
else
. "$i" >/dev/null 2>&1
fifi
done
unset i
unset pathmunge
fi
bash配置檔案載入順序
2015 02 12 11 05 206人閱讀收藏 舉報 linux bash配置檔案的分兩大類 1,全域性配置,比如 etc profile,etc profile.d sh,etc bashrc 2,個人配置,比如 bash profile,bashrc 其中,profile類的檔案記錄的是 1...
springboot 配置檔案載入順序
載入本地其他配置檔案 nacos 作為配置中心 有註冊中心nacos 配置 spring boot 有兩種配置檔案 bootstrap.properties bootstrap.yml 定義應用級別的配置 在spring boot 有兩種上下文 bootstrap 應用程式的父上下文 建立配置檔案 ...
MySQL載入配置檔案的順序
mysql5.6啟動時,按照下表,從上往下的順序載入配置檔案 file name purpose etc my.cnf global options etc mysql my.cnf global options sysconfdir my.cnf global options cmake編譯mys...