ITPub博客

首页 > 数据库 > Oracle > .bash_profile和.bashrc的有什么区别

.bash_profile和.bashrc的有什么区别

原创 Oracle 作者:lllllcheng 时间:2015-12-04 19:31:32 0 删除 编辑
/etc/profile:此文件为系统的每个用户设置坏境信息,当用户第一次登陆时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。

/etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash  shell被打开时,该文件被读取

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shelll信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件

~/.bashrc:该文件包含专属于你的bash  shell的bash信息,当登陆时以及每次打开新的shell时,该文件被读取

~/.bash_logout:当每次退出系统时,执行该文件。

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是父子关系。 


白话:
对于初次接触orcle,可能看了上面的定义后,具体还不是清楚,首先看最上面的/etc/profile和/etc/bashrc文件,凡是带/etc/的都是系统文件,默认情况下只有root用户可以修改,下面的~/.bash_profile和~/.bashrc文件是每个用户自己量身定制的,也就是说每个用户独有的文件,只包含自己的信息;
用root在/etc/profile设置一条快捷命令方式’alias  e=‘sqlplus  /  as  sysdba’‘
再source生效,
此时会发现oracle用户在操作系统界面直接敲入字母e,就进入了sqlplus  /  as  sysdba命令界面;但是当再开启一个终端界面的时候;如果这个时候还是之前登陆的oracle用户,会发现这时敲’e‘不管用了;此时切换到root用户再又切回来,再次敲e又开始生效了;现在在看概验:/etc/profile:此文件为系统的每个用户设置坏境信息,当用户第一次登陆时,该文件被执行;明白了吗;
而/etc/bashrc则相当于/etc/profile的提升,无论是哪个用户开启n个终端窗口,直接敲e就可以代替sqlplus / as  sysdba命令;不用再source重新生效或重新登陆,概验:/etc/bashrc:为每一个运行bash shell的用户执行此文件。当bash  shell被打开时,该文件被读取!!
下面的~/bash_profile同/etc/profile文件的功能是一样的,同样是用户仅仅第一次登陆生效。区别是~/bash_profile是每个用户自己的,修改的信息值对自己生效,而/etc/profile则是针对每个用户 ;   ~/.bashrc则同/etc/bashrc一样,无论是第n次登陆,都可以直接执行,但同样是针对每个用户自己;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30606744/viewspace-1853658/,如需转载,请注明出处,否则将追究法律责任。

上一篇: linux常用命令
下一篇: linux常用命令||
请登录后发表评论 登录
全部评论

注册时间:2015-12-02

  • 博文量
    41
  • 访问量
    119793