在Linux中,什麼是環境變數?如何設定和檢視環境變數?

黄嘉波發表於2024-04-05

在Linux系統中,環境變數是一種特殊的變數,它包含了系統或者使用者指定的一系列鍵值對,這些鍵值對代表了與系統執行環境相關的資訊,如路徑、配置引數、預設選項等。環境變數對系統和執行在其上的應用程式有著至關重要的影響,它們決定了許多系統行為和應用程式的行為。

環境變數的值可在整個系統範圍內(系統環境變數)或僅限於特定使用者會話(使用者環境變數)內生效。它們在程序建立時被繼承,子程序可以從父程序那裡繼承環境變數,並且可以透過修改環境變數來更改程序的行為。

1. 設定環境變數的方式:
  1. 臨時設定:
  • 在當前shell會話中臨時設定一個環境變數,只需在命令列下鍵入:

    export VAR_NAME=value
    

    例如,設定一個新的PATH元素:

    export PATH=$PATH:/new/path/to/bin
    
  1. 永久設定(針對當前使用者):
  • 若要使環境變數在每次使用者登入時自動設定,可以在使用者的shell配置檔案中新增相應的export語句。對於Bash shell,通常是~/.bashrc~/.bash_profile

    echo 'export VAR_NAME=value' >> ~/.bashrc
    source ~/.bashrc
    
  1. 永久設定(針對所有使用者):
  • 如果希望所有使用者都能使用某個環境變數,可以在系統級別的shell配置檔案中新增,比如 /etc/profile/etc/environment(對於Debian系Linux):

    sudo echo 'VAR_NAME=value' >> /etc/environment
    

    對於/etc/environment,變數應該以 KEY=value 的格式定義,而對於shell指令碼如 /etc/profile,則需使用 export 關鍵字。

2. 檢視環境變數的方法:
  1. 檢視所有環境變數:
  • 使用 env 命令列出當前shell環境中所有的環境變數:

    env
    
  1. 檢視單個環境變數:
  • 可以透過引用環境變數名來檢視其值:

    echo $VAR_NAME
    
  1. 檢視 Bash shell 的環境變數和本地變數:
  • 使用 set 命令可以看到當前shell中所有變數(包括環境變數和區域性變數):

    set
    

    或者,使用 declare -p VAR_NAME 來檢視某個變數的詳細資訊,包括是否是環境變數:

    declare -p VAR_NAME
    
  1. 檢視特定型別環境變數:
  • 檢視PATH變數的內容:

    echo $PATH
    

綜上所述,環境變數是Linux系統和shell中一種強大的工具,透過正確地設定和使用環境變數,可以有效地管理和定製系統環境,方便應用程式的執行和系統配置的統一管理。

相關文章