export — 設定環境變數並匯出到子程序

設定並匯出環境變數,使子程序可以繼承使用。

語法

export [選項] [名稱[=值]...]

常用選項

選項 說明 範例
-p 列出所有已匯出的變數和函數 export -p
-f 匯出函數(而非變數) export -f myfunc
-n 取消匯出(變數保留但不再匯出) export -n VAR

使用範例

範例 1:設定並匯出環境變數

設定 JAVA_HOME 並匯出,之後所有子程序(包含啟動的程式)都能讀取。

$ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
範例 2:設定多個環境變數

一行同時設定多個環境變數。

$ export PATH="$PATH:/usr/local/go/bin" GOPATH="$HOME/go"
範例 3:查看所有已匯出的環境變數
$ export -p | head -10
declare -x HOME="/home/user"
declare -x LANG="zh_TW.UTF-8"
declare -x PATH="/usr/local/bin:/usr/bin:/bin"
範例 4:在腳本中設定環境

腳本中的 export 只影響腳本執行期間及其子程序,不影響呼叫腳本的父 Shell。

$ #!/bin/bash
export DB_HOST="localhost"
export DB_PORT="5432"
python3 app.py   # app.py 可讀取 DB_HOST、DB_PORT

延伸閱讀