[Bug 1097467] [NEW] bash does not fulfill --bashrc option properly

Hugo Heden hugoheden at gmail.com
Tue Jan 8 20:56:34 UTC 2013


Public bug reported:

I am starting a bash shell using

$ bash --noprofile --bashrc my-custom-bash-rc-file

Due to the --rcflag, the newly started bash should *not* execute
commands from /etc/bash.bashrc. That is at least how I interpret `man
bash`:

      --rcfile file
              Execute commands from file instead of the system wide initialization file /etc/bash.bashrc and the standard personal initial‐
              ization file ~/.bashrc if the shell is interactive (see INVOCATION below). 

However, it seems that the commands in /etc/bash.bashrc are in fact
executed.

To see/reproduce/diagnose this, on Ubuntu I believe one can just invoke
bash like this (as the regular user):

$ touch testrc
$ env -i bash --noprofile --rcfile testrc 

The expected result would be that nothing special is printed on the
terminal. However, there is an error message, which is printed from
/etc/bash.bashrc. The "env -i" causes $HOME to not be set in the invoked
shell, which in turn triggers the error. The error message is:

> To run a command as administrator (user "root"), use "sudo <command>".
> See "man sudo_root" for details. 

Another way to see this -- without the "env -i" -- is to add  a command
to /etc/bash.bashrc, such as

echo HELLO THERE

To trigger the bug(?), one can then just do

$ touch testrc
$ bash --noprofile --bashrc testrc

The expected result would be that nothing special is shown in the
terminal. However, it turns out that the string

HELLO THERE

is printed.

** Affects: bash (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to bash in Ubuntu.
https://bugs.launchpad.net/bugs/1097467

Title:
  bash does not fulfill --bashrc option properly

Status in “bash” package in Ubuntu:
  New

Bug description:
  I am starting a bash shell using

  $ bash --noprofile --bashrc my-custom-bash-rc-file

  Due to the --rcflag, the newly started bash should *not* execute
  commands from /etc/bash.bashrc. That is at least how I interpret `man
  bash`:

        --rcfile file
                Execute commands from file instead of the system wide initialization file /etc/bash.bashrc and the standard personal initial‐
                ization file ~/.bashrc if the shell is interactive (see INVOCATION below). 

  However, it seems that the commands in /etc/bash.bashrc are in fact
  executed.

  To see/reproduce/diagnose this, on Ubuntu I believe one can just
  invoke bash like this (as the regular user):

  $ touch testrc
  $ env -i bash --noprofile --rcfile testrc 

  The expected result would be that nothing special is printed on the
  terminal. However, there is an error message, which is printed from
  /etc/bash.bashrc. The "env -i" causes $HOME to not be set in the
  invoked shell, which in turn triggers the error. The error message is:

  > To run a command as administrator (user "root"), use "sudo <command>".
  > See "man sudo_root" for details. 

  Another way to see this -- without the "env -i" -- is to add  a
  command to /etc/bash.bashrc, such as

  echo HELLO THERE

  To trigger the bug(?), one can then just do

  $ touch testrc
  $ bash --noprofile --bashrc testrc

  The expected result would be that nothing special is shown in the
  terminal. However, it turns out that the string

  HELLO THERE

  is printed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1097467/+subscriptions




More information about the foundations-bugs mailing list