转贴自这里。
在类unix系统中,bash shell的使用已经非常的普遍,特别是在linux系统中,bash shell更是成为系统用户的默认shell.
在bash shell里面,有一些用户配置文件值得注意:
1 | ~/.bashrc |
在安装oracle数据库时,需要为oracle用户配置一些环境变量,对于在哪个文件进行配置往往会产生混淆,现将它们的区别整理如下:
1. 在non login shell启动之前会执行~/.bashrc的配置,比如用户在图形界面启动一个terminal,执行/bin/bash或者是/usr/bin/bash,都属于non login shell。
2. 用户通过conosole登陆系统shell,属于login shell方式,系统执行以下配置文件之一:
1 | ~/.bash_profile |
如果三个文件都存在,则/.bash_profile被执行,而/.bash_login和/.profile不执行,如果只有/.bash_login,/.profile文件,则/.bash_login执行,~/.profile不执行。
由此可知,我们可以将oracle的相关配置信息放置于/.bash_profile或者/.bashrc,如果放置于/.bashrc,则需确保/.bash_profile有如下配置:
1 | # Run .bashrc if it exists |
这样就能保证~/.bashrc在login shell或non login shell方式都能被执行。