更新時間:2021-12-16 10:36:18 來源:動力節點 瀏覽1296次
在本教程中,您將學習如何在 Ubuntu、CentOS、Red Hat 中設置環境變量,基本上任何 Linux 發行版都適用于單個用戶和全局所有用戶。您還將學習如何列出所有環境變量以及如何取消設置(清除)現有環境變量。
環境變量通常在 Bash shell 中使用。它也是配置服務和處理 Web 應用程序機密的常用方法。
環境特定信息(例如端點和密碼)作為環境變量存儲在服務器上的情況并不少見。它們還用于設置許多流行包的重要目錄位置,例如 Java 的 JAVA_HOME。
要設置環境變量,請使用 export 命令。我們給變量一個名字,它是用來在 shell 腳本和配置中訪問它的名字,然后是一個值來保存變量中所需的任何數據。
export NAME=VALUE
例如,要為手動安裝 OpenJDK 11 的主目錄設置環境變量,我們將使用類似于以下內容的內容。
export JAVA_HOME=/opt/openjdk11
要從 shell 輸出環境變量的值,我們使用 echo 命令并在變量名前加上美元 ($) 符號。
echo $JAVA_HOME
只要變量有一個值,它就會被回顯出來。如果未設置任何值,則將顯示一個空行。
要取消設置環境變量,從而一起刪除它的存在,我們使用 unset 命令。簡單地用空字符串替換環境變量不會將其刪除,并且在大多數情況下可能會導致腳本或應用程序出現問題,期望有效值。
以下語法用于取消設置環境變量
nset VARIABLE_NAME
例如,要取消設置 JAVA_HOME 環境變量,我們將使用以下命令。
unset JAVA_HOME
要列出所有環境變量,我們只需使用不帶任何參數的 set 命令。
set
輸出示例類似于以下內容,為簡潔起見已被截斷。
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:complete_fullquote:expand_aliases:extglob:extquote:force_fignore:globasciiranges:histappend:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_VERSINFO=([0]="2" [1]="8")
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="5" [1]="0" [2]="3" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu")
BASH_VERSION='5.0.3(1)-release'
COLUMNS=208
DIRSTACK=()
EUID=1000
GROUPS=()
HISTCONTROL=ignoreboth
HISTFILE=/home/ubuntu/.bash_history
HISTFILESIZE=2000
HISTSIZE=1000
HOME=/home/ubuntu
HOSTNAME=ubuntu1904
HOSTTYPE=x86_64
IFS=$' \t\n'
LANG=en_US.UTF-8
LESSCLOSE='/usr/bin/lesspipe %s %s'
LESSOPEN='| /usr/bin/lesspipe %s'
LINES=54
當使用 export 命令從 shell 設置環境變量時,它的存在將在用戶會話結束時結束。當我們需要變量跨會話保持時,這是有問題的。
為了使用戶環境的環境持久化,我們從用戶的配置文件腳本中導出變量。
1.在文本編輯器中打開當前用戶的個人資料
vi ~/.bash_profile
2.為要保留的每個環境變量添加導出命令。
export JAVA_HOME=/opt/openjdk11
3.保存您的更改。
單獨將環境變量添加到用戶的 bash 配置文件不會自動導出它。但是,該變量將在用戶下次登錄時導出。
要立即將所有更改應用于 bash_profile,請使用 source 命令。
source ~/.bash_profile
導出是 Bash 的內置 shell 命令,用于導出環境變量以允許新的子進程繼承它。
要導出環境變量,請在設置變量時運行 export 命令。
export MYVAR="my variable value"
我們可以通過運行不帶任何參數的 export 命令來查看導出的環境變量的完整列表。
export
SHELL=/bin/zsh
SHLVL=1
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.1pB5Pry8Id/Listeners
TERM=xterm-256color
TERM_PROGRAM=vscode
TERM_PROGRAM_VERSION=1.48.2
要查看當前 shell 中所有導出的變量,請使用-p帶導出的標志。
export -p
可以通過將其添加到默認配置文件來創建在重新啟動后仍然存在的永久環境變量。此配置文件由系統上的所有用戶加載,包括服務帳戶。
所有全局配置文件設置都存儲在 /etc/profile 下。雖然這個文件可以編輯目錄,但實際上建議將全局環境變量存儲在名為 /etc/profile.d 的目錄中,您將在其中找到用于為整個系統設置環境變量的文件列表。
1.在 /etc/profile.d 下創建一個新文件來存儲全局環境變量。的名稱應該是上下文,以便其他人可以理解其目的。為了演示,我們將為 HTTP_PROXY 創建一個永久環境變量。
sudo touch /etc/profile.d/http_proxy.sh
2.在文本編輯器中打開默認配置文件。
sudo vi /etc/profile.d/http_proxy.sh
3.添加新行以導出環境變量
export HTTP_PROXY=http://my.proxy:8080
export HTTPS_PROXY=https://my.proxy:8080
export NO_PROXY=localhost,::1,.example.com
4.保存更改并退出文本編輯器
本教程介紹了如何為所有 Linux 發行版(從 Debian 到 Red Hat)設置和取消設置環境變量。您還學習了如何為單個用戶以及所有用戶設置環境變量。如果您想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容豐富,通俗易懂,對于沒有基礎的小伙伴來說是一個不錯的選擇。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習