自动设置shell变量
你希望不管什么时候你登录到你的数据库服务器,各种数据库变量会被自动地设置好。
解决方案:将这些shell变量放到你的home目录下的 .bash_profile文件中。例如,下面的文本就被添加到了.bash_profile中:
export ORACLE_SID=BRDSTN
然后,你退出登录,然后再登录回来,用echo命令显示一下$ORACLE_SID变量,你就会发现,确实可以了。
如果你不想退出然后又登录,那么你可以用.(dot)命令手动运行.bash_profile文件。例如:
$ . $HOME/.bash_profile
.指示shell去source该脚本。Sourcing告诉shell进程:我现在不是已经登录系统了吗,我就不想退出,我想继承我刚才执行的.bash_profile中的用export命令设置的任何变量。
在Bash shell中,source命令等价于.(点)命令。
========How It Works
当用的是Bash shell时,当你首次登录到你的数据库服务器时,有几个特殊的启动文件会被执行:
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
根据你的Linux系统的版本,也许用的启动文件并不一样。
/etc/profile是由你的系统管理员维护的,修改它,你需要root权限。它里面设置的变量是针对所有用户的。运行完该文件后,Bash shell之后会查找后续的一些文件,并且只会运行它
找到的第1个文件,顺序为~/.bash_profile,~/.bash_login,~/.profile
你应当还要知道2个启动类型文件:
~/.bashrc
~/.bash_logout
如果你启动了一个nonlogin Bash shell,就是通过在命令行中输入bash,那么~/.bashrc就会自动被执行。DBA们将会在~/.bashrc里面放一些命令,目的是确保数据库相关的操作系统
命令会一致地被设置,不管他们用的是login shell还是nonlogin shell。
~/.bash_logout是在你发出exit命令时被执行。