Ludovic Courtès writes: > Hi, > > Roel Janssen <r...@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