配置檔案有兩個級别, 系統級(/etc)和使用者級(~/), 每次調用優先調用系統級
profile用于登入式shell, 而bashrc用于每個互動式shell
bashrc是在系統啟動後就會自動運作。
profile是在使用者登入後才會運作。
進行設定後,可運用source bashrc指令更新bashrc,也可運用source profile指令更新profile。
PS:通常我們修改bashrc,有些linux的發行版本不一定有profile這個檔案
/etc/profile中設定的變量(全局)的可以作用于任何使用者,而~/.bashrc等中設定的變量(局部)隻能繼承/etc/profile中的變量,他們是"父子"關系。
這個檔案主要儲存個人的一些個性化設定,如指令别名、路徑等。定義了路徑,語言,指令别名(使用rm删除指令時總是加上-i參數需要使用者确認,使用ls指令列出檔案清單時加上顔色顯示)。
每次修改.bashrc後,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加載修改後的設定,使之生效。
一般會在.bash_profile檔案中顯式調用.bashrc。
登陸linux啟動bash時首先會去讀取/.bash_profile檔案,這樣/.bashrc也就得到執行了,你的個性化設定也就生效了
使用者可以在Profile檔案中加入環境變量,比如ORACLE_HOME,HOME...這樣重新登入之後,這些環境變量都會得以設定,不用每次都手工設定。
Unix/Linux有兩個profile檔案
1./etc/profile:是全局profile檔案,設定後會影響到所有使用者
2./home/username/.profile或.bash_profile是針對特定使用者的,可以針對使用者,來配置自己的環境變量。
注意:profile是unix上才有的;bash_profile是Linux下有的(Linux下,使用者目錄沒有.profile檔案)
/home/username/.profile或.bash_profile,都是隐藏檔案,需要使用ls -a才能看到。
先執行全局Profile, /etc/profile
接着bash會檢查使用者的HOME目錄中,是否有 .bash_profile 或者 .bash_login或者 .profile,若有,則會執行其中一個,執行順序為:
.bash_profile 最優先 > .bash_login其次 > .profile 最後
所有unix系統分支下在unix 核心的作業系統中,當然現在衍生出好多分支,linux ,OS X 都算.
shell 就算和上面這些系統核心指令打交道的一座橋梁,我們通過鍵盤輸入一種自己容易記憶識别的符号辨別(shell 指令)
然後 shell 解析這種指令再回報給核心去執行一系列操作.
其實 zsh 也是一種 shell ,但是并不是我們系統預設的 shell ,unix 衍生系統的預設shell 都是 bash
以mac 為例,我們看下系統内置了幾種shell

zsh的配置檔案是.zshrc,是以對于zsh的一切設定,直接去/.zshrc中設定.
注意: 本機是可以識别的,但是如果是使用gitlab-runner的話,預設的配置檔案不使用.zshrc,使用的是.bash_profile
oh-my-zsh 是zsh的一個配置開源配置檔案,因為手動配置zsh太麻煩.
接下來我們需要下載下傳 oh-my-zsh 項目來幫我們配置 zsh
wget 自動安裝
<code>wget [https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh](https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh) -O - | sh</code>
安裝 oh-my-zsh 時,它自動讀取你的環境變量并且自動幫 zsh 進行設定.
是以這時的zsh 基本已經配置完成,你需要一行指令就可以切換到 zsh 模式.