除了 .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? 的这个精彩示例,以便更好地理解。