shell 環境詳解

當我們登錄系統後,啓動 bash 程序,並且會讀取一系列稱爲啓動文件的配置腳本, 這些文件定義了默認的可供所有用戶共享的 shell 環境。然後是讀取更多位於我們自己家目錄中的啓動文件,這些啓動文件定義了用戶個人的 shell 環境。精確的啓動順序依賴於要運行的 shell 會話類型。

有兩種 shell 會話類型:一個是登錄 shell 會話,另一個是非登錄 shell 會話。
登錄 shell 會話會提示用戶輸入用戶名和密碼,比如:Ubuntu的ctrl+art+F1-6
當我們在 GUI 模式下 運行終端會話時,非登錄 shell 會話會出現。

  • 登陸shell會話的啓動文件
    這裏寫圖片描述

  • 非登錄 shell 會話會讀取以下啓動文件
    這裏寫圖片描述

PS: 除了讀取以上啓動文件之外,非登錄 shell 會話也會繼承它們父進程的環境設置,通常是一個登錄 shell。

當我們輸入命令時,shell從PATH變量中的目錄列表來查找

PATH 變量經常(但不總是,依賴於發行版)在 /etc/profile 啓動文件中設置

PATH=$PATH:$HOME/bin

意味着當我們想要在自己的家目錄下, 創建一個目錄來存儲我們自己的私人程序時,shell 已經給我們準備好了,我們所要做的事就是 把創建的目錄叫做 bin。

修改shell環境一般通過修改~/.bashrc文件。例如在.bashrc文件的末尾添加如下命令

# Change umask to make directory sharing easier
umask 0002
# Ignore duplicates in command history and increase
# history size to 1000 lines
export HISTCONTROL=ignoredups
export HISTSIZE=1000
# Add some helpful aliases
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'

這裏寫圖片描述

保存後,在命令行輸入

source .bachrc

來強迫 bash 重新讀取修改過的 .bashrc 文件。

  • 環境變量

這裏寫圖片描述

發佈了105 篇原創文章 · 獲贊 59 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章