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 #13 received at 29337-done <at> debbugs.gnu.org (full text, mbox):
Ludovic Courtès writes:
> 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?
Thanks for your reply, Ludo’!
Well it seems that it isn't ignored when it ought to be ignored -> when
specifying --init-file. This is a difference between how Bash works on
CentOS 7, and how Bash works on Guix(SD). I can't find a
user-configurable option to make it work the same as on CentOS 7.
I think I can also achieve my goal by invoking it as "sh", prepending
"env - ENV=/path/to/etc/profile", and setting some environment variables
like HOME and PS1. So I'll go that route, leaving Guix's Bash
alone. :-)
Kind regards,
Roel Janssen
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.