Ask Ubuntu Asked by Iliyas Mansons on January 3, 2022
When bash initializes a non-login interactive bash shell on a Debian/Ubuntu-like system, the shell first reads /etc/bash.bashrc
and then reads ~/.bashrc
.
The reason that /etc/bash.bashrc
does not appear in normal bash documentation (such as here or here) is that it is a feature added by Debian and adopted by Ubuntu. As Debian explains it (readme.debian):
- What is /etc/bash.bashrc? It doesn't seem to be documented.
The Debian version of bash is compiled with a special option (
-DSYS_BASHRC
) that makes bash read/etc/bash.bashrc
before~/.bashrc
for interactive non-login shells. So, on Debian systems,/etc/bash.bashrc
is to~/.bashrc
as/etc/profile
is to~/.bash_profile
.
Thus, /etc/bash.bashrc
is documented in the Debian and Ubuntu man pages but not in man pages from other distributions that do not support this feature.
/etc/bash.bashrc
has been adopted beyond Debian circles as comments indicate its usage in distros like Arch Linux, MSYS2 and thereby Git Bash.
Answered by John1024 on January 3, 2022
System wide initialization file /etc/bash.bashrc
and the standard personal initialization file ~/.bashrc
if the shell is interactivе.
Answered by Iliyas Mansons on January 3, 2022
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP