Environment-Variables
如何永久設置環境變數
我的變數是
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib ORACLE_HOME=/usr/lib/oracle/11.2/client64
如何永久保存這些變數?
您可以將其添加到文件
.profile
或登錄 shell 配置文件(位於您的主目錄中)。要“永久”更改環境變數,您至少需要考慮以下情況:
- 登錄/非登錄外殼
- 互動式/非互動式外殼
重擊
- Bash 作為登錄 shell 將按順序載入
/etc/profile
,~/.bash_profile
,~/.bash_login
,~/.profile
- Bash 作為非登錄互動式 shell 將載入
~/.bashrc
- Bash 作為非登錄非互動式 shell 將載入環境變數中指定的配置
$BASH_ENV
$EDITOR ~/.profile #add lines at the bottom of the file: export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib export ORACLE_HOME=/usr/lib/oracle/11.2/client64
zsh
$EDITOR ~/.zprofile #add lines at the bottom of the file: export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib export ORACLE_HOME=/usr/lib/oracle/11.2/client64
魚
set -Ux LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib set -Ux ORACLE_HOME /usr/lib/oracle/11.2/client64
克什
$EDITOR ~/.profile #add lines at the bottom of the file: export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib export ORACLE_HOME=/usr/lib/oracle/11.2/client64
伯恩
$EDITOR ~/.profile #add lines at the bottom of the file: LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib ORACLE_HOME=/usr/lib/oracle/11.2/client64 export LD_LIBRARY_PATH ORACLE_HOME
csh 或 tcsh
$EDITOR ~/.login #add lines at the bottom of the file: setenv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib setenv ORACLE_HOME /usr/lib/oracle/11.2/client64
如果你想讓它對所有使用者永久有效,你可以在 下編輯相應的文件
/etc/
,/etc/profile
例如 Bourne-like shells、/etc/csh.login
(t)csh/etc/zsh/zprofile
和/etc/zsh/zshrc
zsh。另一種選擇是使用
/etc/environment
,它在 Linux 系統上由 PAM 模組讀取,pam_env
並且僅支持簡單的分配,而不支持 shell 樣式的擴展。(請參閱Debian 的指南。)這些文件可能已經包含一些分配,因此請遵循您在文件中看到的語法。
確保重新啟動 shell 並重新登錄使用者,以應用更改。
如果您需要添加系統範圍的環境變數,現在有
/etc/profile.d
一個包含 sh 腳本的文件夾來初始化變數。您可以將您的 sh 腳本與您導出的所有變數放在此處。
請注意,儘管這不應用作在 Debian 上向 env 添加變數的標準方式。