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