Redhat Linux /etc/profile 与 /etc/bashrc 的区别

最近学习RHCE,在umask这里,书里说要修改/etc/profile和/etc/bashrc两个文件,却没有说明这两个区别。于是在上网查看之后倒是明白了各是怎么用的。/etc/profile是对应登录的,/etc/bashrc是对应打开shell的。但是实际使用区别在哪,如果说bashrc是对应shell的,那么改这一个文件不就行了?最后自己实践一下,发现还是不同的,特此分享一下,也做个记录。

实验准备:将/etc/profile文件中的umask改为007,将/etc/bashrc中的umask改为077。

实验步骤:

  1.以root身份登录并打开shell,umask值 022

  2.su test, umask值 077

  3.su - test,umask值 007

实验结果:如果只是切换用户,不重新登录,那么profile的脚本将不会执行,从而bashrc中的脚本发生作用。

所以,如果不想搞出歧义为自己的管理添麻烦的话,还是老老实实的改两个文件吧。由于还没时间写程序,不过如果没猜错的话,程序应该用的是bashrc里的值。

时间: 2024-08-05 17:47:51

Redhat Linux /etc/profile 与 /etc/bashrc 的区别的相关文章

linux读取profile文件和bashrc文件的情况

最近研究linux,对linux的profile文件和bashrc文件有些不清楚,于是深入研究了一下. 如果想知道这些文件什么时候被执行,还需要知道几个关于shell的小知识.(CentOS6.5 linux) 1.login shell,登录shell,即init 3启动linux后,需要输入用户名和密码,进入的shell就是loginshell. 注意:在shell里使用su - user_name 切换用户,登录的shell也是login shell login shell会读取的文件有:

/etc/profile与/etc/bashrc、交互式与非交互式、login与non-login shell的区别

线上的memcached又挂了,仍然没有得到core文件.排查原因,同事发现启动memcached的脚本存在可疑问题. 问题一:没有设置memcached工作目录,有可能core dump时没有工作目录写权限 这些脚本由crontab启动.脚本中没有设置工作目录,而这是非root用户的crontab.启动memcached时,工作目录不是memcached可执行文件所在目录.实验证明,这个是用户的home目录,crontab运行的脚本中打印pwd,结果是"home/work",work

【Linux】Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别【转】

转自:http://blog.csdn.net/qiao1245/article/details/44650929 ------------------------------------------------------------------------------------------------------------------------------------------------ ===============================================

linux 下/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 文件的区别

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc

Linux下profile和bashrc四种的区别

/etc/profile./etc/bashrc.~/.bash_profile.~/.bashrc很容易混淆,他们之间有什么区别?它们的作用到底是什么?/etc/profile: 用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的./etc/bashrc:  这个文件设置系统bash shell相关的东西,对系统内所有用户生效.只要用户运行bash命令,那么这里面的东西就在起作用.~/.bash_profile: 用来设置一些环境变量,功能和/etc/profil

linux 下/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 干啥的

  /etc/profile./etc/bashrc.~/.bash_profile.~/.bashrc很容易混淆,他们之间有什么区别?它们的作用到底是什么? /etc/profile: 用来设置系统环境参数,比如$PATH. 这里面的环境变量是对系统内所有用户生效的./etc/bashrc:  这个文件设置系统bash shell相关的东西,对系统内所有用户生效.只要用户运行bash命令,那么这里面的东西就在起作用.~/.bash_profile: 用来设置一些环境变量,功能和/etc/pro

Linux中环境变量/etc/profile ~/.bashrc 和 ~/.bash_profile 和 /etc/bashrc 的区别

这个一定要理解登录式shell和非登录式shell的区别,前者是完全切换用户,后者是不完全,就算切换过来了,你pwd时家目录还是之前的家目录,所以 登录式顺序为:/etc/bashrc---/etc/profile.d/*.sh----~/.bash_profile---~/.bashrc_profile----~/.bashrc-----/etc/bashrc   非登录式:~/.bashrc-----/etc/bashrc-/etc/profile.d/*.sh /etc/profile: 

【转】Linux中/etc/profile,/etc/bashrc,~/.profile,~/.bashrcd的区别

//因为在原文章中博主说以下内容是网友说的,所以我就只加个转了,找不到原作者 /etc/profile,/etc/bashrc 是系统全局环境变量设定 ~/.profile,~/.bashrc用户家目录下的私有环境变量设定 当登入系统时候获得一个shell进程时,其读取环境设定档有三步 1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/profile.d和/etc/inputrc 2然后根据不同使用者帐号,去其家目录读取~/.bash_p

Linux环境变量设置/etc/profile、/etc/bashrc、~/.profile、~/.bashrc区别

登入系统读取步骤: 当登入系统时候获得一个shell进程时,其读取环境设定档有三步 : 1.首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/profile.d和/etc/inputrc 2.然后根据不同使用者帐号,去其家目录读取~/.bash_profile,如果这读取不了就读取~/.bash_login,这个也读取不了才会读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系 3.然后在根据用户帐号读取~/.bashrc