.bashrc和/etc/bash.bashrc有什么区别?


14

.bashrc和/ etc / bashrc

/etc/bash.bashrc和之间有什么区别~/.bashrc


我什么都看不到/etc/bashrc
mikewhatever

2
请参见bash的联机帮助页的“文件”部分。
赛勒斯

1
@mikewhatever,您可以找到/etc/bash.bashrc。
伊利亚斯·曼森斯(Iliyas Mansons),2016年

@Cyrus我检查了手册页的“文件”部分,并没有出现“ bash.bashrc”,仅出现了“〜/ .bashrc”。您能否提供您正在查看的手册页的链接?我正在看Bash手册页
WinEunuuchs2Unix

1
@Cyrus,我从您共享的链接中找到了答案!
伊利亚斯·曼森斯(Iliyas Mansons)

Answers:


24

当bash在类似Debian / Ubuntu的系统上初始化非登录交互式bash shell时,该shell首先读取/etc/bash.bashrc,然后读取~/.bashrc

/etc/bash.bashrc普通bash文档(例如herehere)中未出现的原因是,它是Debian添加并由Ubuntu采纳的功能。正如Debian解释的那样(readme.debian):

  1. 什么是/etc/bash.bashrc?它似乎没有记录。

    Debian版本的bash带有特殊选项(-DSYS_BASHRC)进行编译,该选项使bash可以/etc/bash.bashrc~/.bashrc 交互式非登录shell 之前读取。因此,在Debian系统, /etc/bash.bashrc~/.bashrc/etc/profile~/.bash_profile

因此,/etc/bash.bashrc在Debian和Ubuntu手册页中有记录,但在其他不支持此功能的发行版的手册页中没有记录。


1
值得注意的是,用法正在扩展。基于MSYS2的Git bash也具有此约定。似乎可以采用它来建立系统级别的适应性/配置/标准。
BenPen

4

系统范围的初始化文件/etc/bash.bashrc 和标准的个人初始化文件(~/.bashrc 如果外壳是互操作的)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.