- 论坛徽章:
- 0
|
原帖由 gflei 于 2006-9-1 17:16 发表
现象:
我用ssh连接到服务器,用oracle用户登录,.bash_profile中间中的设置生效了。
用oracle用户在服务器(debian)的桌面环境中登录,登陆后打开一console,此时发现在该console中,.bash_profile文件中的 ...
.bash_profile只在登陆的时候读取,在X下登陆打开一个console的话是不读取该文件的。如果你在字符模式下登陆输入用户和密码的话是读取的。如果在X下打开一个console要读取配置,就要写在.bashrc里面,而不是.bash_profile里面.
你可以在.bashrc里面加入:
if test -f .bash_profile; then
. .bash_profile
fi
这样.bash_profile里面内容变了就不需要再改.bashrc面的内容了.
bash 登陆的时候读取配置文件的顺序如下:
.bash_profile
.bash_login
.profile
按这个顺序只要读到一个就不再读取其他的两个. 当然全局的/etc/profile是最先读的,/etc/profile里面的配置可以在以上三个文件中覆盖掉.
当bash不是作为登陆shell打开时,比如你先用csh登陆,然后再输入bash切换到bash ,那么只读取.bashrc
里的内容.不读取.bash_profile
[ 本帖最后由 gucuiwen 于 2006-9-1 17:38 编辑 ] |
|