export 命令構建器
設定或輸出 shell 環境變數(export NAME=value)
開始使用匯出功能
## 什麼是匯出?
`export` 這個指令會在目前的 shell 中設定一個環境變數,**並**讓子行程(從該 shell 啟動的程式)也能使用它。若沒有`export`,該變數將僅存在於 shell 內部。
## 使用方式
1. **設定名稱**:輸入變數名稱(慣例上以大寫表示,例如`JAVA_HOME`、`NODE_ENV`)。 2. **設定值**:輸入變數的值(例如`/usr/lib/jvm/default-java`、`production`)。 3. **複製並執行**:將生成的指令貼上到您的終端機中。如此一來,該變數就會被匯出到目前的 shell 以及從其啟動的任何行程中。
常見選項
### `NAME=value` 指定方式
匯出之變數會以 `NAME=value` 格式呈現,且 `=` 周圍不會有空格:`export NODE_ENV=production`。
### 列出所有已匯出的變數
執行純 `export`(無參數),即可以可重複使用的 `declare -x` 格式,列印出目前由 shell 匯出的所有變數。
### 檢視變數
只需傳入名稱,即可將已設定的變數標記為要匯出:`export PATH` 會原封不動地匯出現有的 `PATH`。若要讀取其值,請使用 `echo $NAME` 或 `printenv NAME`。
### 無值情況
`export NAME`(無 `=value`)會將先前已設定的 shell 變數提升為環境變數。
▶我要如何讓導出的變數在多個工作階段中持續有效?
將 \`export NAME=value\` 這一行新增到 \`~/.bashrc\`(Bash)或 \`~/.zshrc\`(Zsh)中,接著執行 \`source ~/.bashrc\` 或開啟新的終端機。對於系統級變數,則應將它們加入 \`/etc/environment\` 中。
▶殼層變數與匯出變數有什麼差異?
一般的 \`FOO=bar\` 只能在目前的 shell 內看到。\`export FOO=bar\` 會將其放入環境中,讓子進程(指令碼、程式)能繼承它。可使用 \`bash -c 'echo $FOO'\` 進行測試。
▶我要如何查看所有目前已匯出的變數?
直接運行 \`export\`(會顯示 \`declare -x\` 的條目),或使用 \`printenv\` / \`env\` 來列出原始環境。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。