除了 .bashrc 和 .bash_profile,我的环境变量在哪里?
Where are my env vars located, other than .bashrc and .bash_profile?
我正在尝试应用这些环境变量:
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1
export TNS_ADMIN=/home/romio
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
我尝试将它们添加到我的 .basrc
和 .bash_profile
,但它们没有生效。当我在终端中键入 env
时,我仍然会看到旧值,这些值是从其他人完成的早期安装中添加的。
所以我的问题是,当这些旧值不在我的 .bashrc
或 .bash_profile
中时,它们可能隐藏在哪里
我觉得一切都很正常。您可以在新 shell(不是当前终端实例)或当前 shell 上 env
,输入 source ~/.bashrc
并点击 return,如果您有将所有配置放在 bashrc 中。
It won't work, You need to source the file (.bashrc
) after adding those lines; only then they are taken effect in the current shell.
一个简单的例子,
$ echo 'export NAME="dude"'
export NAME="dude"
$ echo 'export NAME="dude"' >> ~/.bashrc
$ tail -1 ~/.bashrc
export NAME="dude"
$ echo $NAME
$ env | grep -w NAME
$ source ~/.bashrc
$ echo $NAME
dude
$ env | grep -w NAME
NAME=dude
请参阅 What is the difference between executing a bash script and sourcing a bash script? 的这个精彩示例,以便更好地理解。
我正在尝试应用这些环境变量:
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1
export TNS_ADMIN=/home/romio
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
我尝试将它们添加到我的 .basrc
和 .bash_profile
,但它们没有生效。当我在终端中键入 env
时,我仍然会看到旧值,这些值是从其他人完成的早期安装中添加的。
所以我的问题是,当这些旧值不在我的 .bashrc
或 .bash_profile
我觉得一切都很正常。您可以在新 shell(不是当前终端实例)或当前 shell 上 env
,输入 source ~/.bashrc
并点击 return,如果您有将所有配置放在 bashrc 中。
It won't work, You need to source the file (
.bashrc
) after adding those lines; only then they are taken effect in the current shell.
一个简单的例子,
$ echo 'export NAME="dude"'
export NAME="dude"
$ echo 'export NAME="dude"' >> ~/.bashrc
$ tail -1 ~/.bashrc
export NAME="dude"
$ echo $NAME
$ env | grep -w NAME
$ source ~/.bashrc
$ echo $NAME
dude
$ env | grep -w NAME
NAME=dude
请参阅 What is the difference between executing a bash script and sourcing a bash script? 的这个精彩示例,以便更好地理解。