Try   HackMD

Linux 環境變數

環境變數其實共有兩種變數

  • environmental variables
  • shell variables
  • 變數都是key-value pair的string

環境變數存在範圍

  • environmental variables是全域的。在目前的shell跟所有子sell中都存在。當使用者登入時,系統會給使用者一個shell來用,並分一塊記憶體來儲存environmental variables,接下來產生的子shell都會繼承這塊記憶體的內容。但子shell創造出來的environmental variables並不會存在於父shell中,此記憶體的繼承是單向的。
  • shell variables是區域的。只存在於目前的shell。

讀取與儲存 - shell variables

  • 讀取: set (不加任何arguments)
  • 新增:直接key-value pair,ex: TEST=thisistest
  • 修改:同新增
  • 刪除:unset 加變數key,ex: unset TEST

讀取與儲存 - environmental variables

  • 讀取: env (不加任何arguments)
  • 新增:export 加上 key-value pair,ex: export TEST=thisistest
  • 修改:同新增
  • 刪除:unset 加變數key,ex: unset TEST

永久儲存 - evnironmental variables

P.S.

  • 讀取與儲存的方法不唯一,set其實是兩者都可以讀取與刪除,此外還有printenv、set加上arguments、env加上arguments等方法,我這邊只記錄其中一種CRUD方法。

/home/burwei/.bachrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
export PATH

REACT_APP_DOMAIN=burweiofficial.ddns.net
export REACT_APP_DOMAIN

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions