除了.bashrc和.bash_profile之外,我的env vars在哪里?

时间:2017-02-23 11:03:05

标签: bash unix ubuntu .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

时,这些旧价值会隐藏在哪里?

2 个答案:

答案 0 :(得分:1)

一切看起来都很正常。如果您在新shell(不是当前的终端实例)或当前shell上env,请键入source ~/.bashrc并在将所有配置放入bashrc时点击return。

答案 1 :(得分:1)

  

它不起作用,添加这些行后,您需要文件(.bashrc);只有这样它们才能在当前的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?这个精彩的例子,以便更好地理解。