GNU bug report logs -
#29337
Bash reads system-wide bashrc unconditionally.
Previous Next
Reported by: Roel Janssen <roel <at> gnu.org>
Date: Fri, 17 Nov 2017 12:17:02 UTC
Severity: normal
Done: Roel Janssen <roel <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 29337 <at> debbugs.gnu.org (full text, mbox):
Hi,
Roel Janssen <roel <at> gnu.org> skribis:
> On CentOS 7, the following happens (yes, I added the echo-statement to
> /etc/bashrc on CentOS as well):
> $ env - bash --init-file <(echo "echo \"Goodbye, world\"") -i
> Goodbye, world
>
> On GuixSD:
> $ env - bash --init-file <(echo "echo \"Goodbye, world\"") -i
> Hello, world
> Goodbye, world
>
> Where does this difference come from? And could we make its behavior
> similar to CentOS 7, and more importantly, to the description in the
> manpage?
By default GuixSD’s /etc/profile (sourced by interactive shells) does
this:
--8<---------------cut here---------------start------------->8---
if [ -n "$BASH_VERSION" -a -f /etc/bashrc ]
then
# Load Bash-specific initialization code.
. /etc/bashrc
fi
--8<---------------cut here---------------end--------------->8---
It comes from commit 1d167b6e3779bcc1666b5c7d5ee802170c7023b6, which was
about loading the Bash completion code.
Looking at the manual (info "(bash) Bash Startup Files"), I think that
/etc/bashrc is ignored by default. Thus it’s up to users/distros to
decide what to do with it, IIUC.
Thoughts?
Ludo’.
This bug report was last modified 7 years and 166 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.