免费注册 查看新帖 |

Chinaunix

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

[系统管理] 关于/etc/bashrc和~/.bashrc两个文件的区别 [复制链接]

论坛徽章:
5
程序设计版块每日发帖之星
日期:2016-04-15 06:20:00每日论坛发贴之星
日期:2016-04-15 06:20:0015-16赛季CBA联赛之八一
日期:2016-07-08 09:20:28操作系统版块每日发帖之星
日期:2016-08-03 06:20:002016科比退役纪念章
日期:2016-10-30 13:59:12
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-06-30 14:42 |只看该作者 |倒序浏览
/etc/bashrc和~/.bashrc两个文件有什么区别?
我看到的在一些用户的home目录里面,在~/.bashrc里面的内容有的是这样的:
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

我想问一下/etc/bashrc与~/.bashrc有什么区别?

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
2 [报告]
发表于 2016-06-30 15:54 |只看该作者
有区别的:
/etc/bashrc 不止用于你的用户,还可以用于其他用户
~/.bashrc 只用于当前用户

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2016-07-05 08:40 |只看该作者
~下的是用户的配置文件,/etc下的是所有用户都用的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2016-07-06 18:29 |只看该作者
我自己的理解是bash启动时先读/etc/bashrc,再读~/.bashrc。不知对不对。

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
5 [报告]
发表于 2016-07-11 09:12 |只看该作者
应该是只读~/.bashrc,看一下~/.bashrc中的代码:
  1. # .bashrc

  2. # Source global definitions
  3. if [ -f /etc/bashrc ]; then
  4.         . /etc/bashrc
  5. fi
复制代码
只是在~/.bashrc里读取/etc/bashrc,如果注释掉这段代码,那就应该不读取/etc/bashrc。

回复 4# lrz


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2016-07-13 02:16 |只看该作者
cjfeii 发表于 2016-07-11 09:12
应该是只读~/.bashrc,看一下~/.bashrc中的代码:只是在~/.bashrc里读取/etc/bashrc,如果注释掉这段代码, ...


有点奇怪,我查了一下以前我看过的一本书,提到的bash的初始化:
Bourne Again shell的初始化共有8个步骤,初始化文件有/etc/profile、.profile、.bash_profile、.bash_login:
1、bash检查/etc/profile文件是否存在。
2、若存在,shell读取该文件,否则跳过。
3、bash检查主目录下的.bash_profile文件是否存在。
4、若存在,bash读取该文件,否则跳过。
5、bash检查主目录下的.bash_login文件是否存在。
6、若存在,bash读取该文件,否则跳过。
7、bash检查主目录下的.profile文件是否存在。
8、若存在,bash读取该文件,否则跳过。
然后显示提示符“$ ”

没提到bashrc,不过按我以前的理解,linux的程序初始化应该是先读取/etc中的默认设置,再读$HOME的个人设置,人个设置覆盖默认设置完成启动。
刚才看了下我的linux,没/etc/bashrc,只有/etc/bash/bashrc,~/.bashrc没你的那段代码,在/etc/bash/bashrc中加了一句echo "in /etc",再启动个终端,也证实会先读取/etc/bash/bashrc。
你的那段代码有点怪,又用默认的覆盖了个人设置。
in /etc
setterm: 终端 xterm 不支持 --blank
awk函数
system()
system()函数执行一个以表达式给出的命令。返回被执行命令的退出状态。
if (system("mkdir a") != 0)
0lrz@01:20 ~ $

awk是我在~/.bashrc的输出。

论坛徽章:
72
20周年集字徽章-20	
日期:2020-10-28 14:04:30操作系统版块每日发帖之星
日期:2016-07-13 06:20:0015-16赛季CBA联赛之广夏
日期:2016-07-10 09:04:02数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00操作系统版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-07 06:20:00操作系统版块每日发帖之星
日期:2016-07-04 06:20:00数据库技术版块每日发帖之星
日期:2016-07-03 06:20:00操作系统版块每日发帖之星
日期:2016-07-03 06:20:00数据库技术版块每日发帖之星
日期:2016-07-02 06:20:00操作系统版块每日发帖之星
日期:2016-07-02 06:20:00
7 [报告]
发表于 2016-07-13 09:34 |只看该作者
你的主机是什么系统?

回复 6# lrz


   

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2016-07-14 22:38 |只看该作者
gentoo

2lrz@22:56 ~ $bash --version
GNU bash,版本 4.3.46(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2016-07-14 22:40 |只看该作者
gentoo

2lrz@22:56 ~ $bash --version
GNU bash,版本 4.3.46(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
许可证 GPLv3+: GNU GPL 许可证第三版或者更新版本 <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2016-07-14 22:42 |只看该作者
gentoo
2lrz@22:56 ~ $bash --version
GNU bash,版本 4.3.46(1)-release (x86_64-pc-linux-gnu)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP