免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4847 | 回复: 5
打印 上一主题 下一主题

弱弱的问一句,为什么我的oracle用户.bash_profile不生效 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-22 11:18 |只看该作者 |倒序浏览
每次切换到oracle用户都要手动执行以下source .bash_profile,哪位牛人能告诉一下为什么?以前装了很多机器,oracle用户的.bash_profile都是自动生效的。
$env如下:
-bash-2.05b$ env
REMOTEHOST=125.125.0.234
SHELL=/bin/bash
TERM=ansi
MAIL=/var/mail/oracle
PATH=/usr/local/bin:/bin:/usr/bin
PWD=/home/oracle
SHLVL=1
HOME=/home/oracle
LOGNAME=oracle
_=/bin/env

论坛徽章:
0
2 [报告]
发表于 2005-09-22 12:23 |只看该作者

弱弱的问一句,为什么我的oracle用户.bash_profile不生效

你是怎么切换用户的?

论坛徽章:
0
3 [报告]
发表于 2005-09-22 12:30 |只看该作者

弱弱的问一句,为什么我的oracle用户.bash_profile不生效

su - oracle
我把oracle用户的profile放到系统变量里面去了,现在能用了。谢谢楼上的。。。。

论坛徽章:
0
4 [报告]
发表于 2006-09-01 17:16 |只看该作者

借此贴在继续问一个类似问题

现象:
我用ssh连接到服务器,用oracle用户登录,.bash_profile中间中的设置生效了。

用oracle用户在服务器(debian)的桌面环境中登录,登陆后打开一console,此时发现在该console中,.bash_profile文件中的设置并没生效。

请问这是怎么回事?

论坛徽章:
0
5 [报告]
发表于 2006-09-01 17:36 |只看该作者
原帖由 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 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2006-09-04 14:37 |只看该作者
原帖由 gucuiwen 于 2006-9-1 17:36 发表


.bash_profile只在登陆的时候读取,在X下登陆打开一个console的话是不读取该文件的。如果你在字符模式下登陆输入用户和密码的话是读取的。如果在X下打开一个console要读取配置,就要写在.bashrc里面,而不是.bas ...


经过试验,gnome中的console打开时执行.bashrc。

不过还有些疑问:

因为我用的是debian linux,在.bash_profile中存在如下代码


  1. # include .bashrc if it exists
  2. if [ -f ~/.bashrc ]; then
  3.     . ~/.bashrc
  4. fi
复制代码


1。若在.bashrc中包含.bash_profile,在打开console时会死循环。
2。不知gucuiwen 用的是那种linux?两种linux在处理顺序上好像不一样。不知道是否有标准处理顺序。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP