環境變數 (Environment) | Linux

Linux 中, 環境變數(Environment) 通常指的是用戶或進程執行的操作系統環境,包括各種環境變數、工作目錄、檔案許可權和其他相關的執行時條件。環境變數是一個重要的元素,它們包含了有關系統和用戶環境的信息,例如 PATH、HOME、USER 等。

常見的 Linux 環境相關的指令範例:

# 查看linux所有的環境變量
printenv

# 當前的使用者
$USER
echo Hello, my name is $USER
# Hello, my name is ben

# 如果我們只是想要臨時改變我們的變量
USER=jack
echo Hello, my name is $USER
# Hello, my name is jack

# 如果我們想要擁有的改變linux的環境變量
sudo vim /etc/environment
sudo vim ~/.bashrc
########################################
export TEST1="test1"
########################################
source /etc/environment
source ~/.bashrc
echo $TEST1
# test1
# 如果我們切換成其他使用者
sudo su
echo $TEST1
# test1
# 我們可以發現所有使用者都可以調用這個環境變量且共享

# 如果只想讓特定使用者使用變量的話
# 這樣設定的環境變量,就只會有該$USER可以使用
sudo vim /etc/profile

特別注意:

/etc/profile 中設置的變數是全局的,可以作用於任何使用者,而 ~/.bashrc 中設置的變數是局部的,只能繼承 /etc/profile 中的變數,它們是「父子」關係。

profile 用於登入式 shell,而 bashrc 用於每個互動式 shell。/.bash_profile 適用於互動式、登入方式進入 bash 時運行,/.bashrc 適用於互動式、非登入方式進入 bash 時運行。通常二者設置大致相同,所以通常前者會調用後者。

設置生效:可以重啟生效,也可以使用命令 source 重新刷新 Linux 環境變數。