Invoking "env -i bash" unnecessarily results in confusing message
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bash (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I was invoking bash as follows:
$ env -i bash
This caused this message to be printed:
$ env -i bash
> To run a command as administrator (user "root"), use "sudo <command>".
> See "man sudo_root" for details.
While I think I understand the rationale for the message, I found it more confusing than helpful in this situation. I thought I had done something wrong, or that there was some error with the new shell I was starting. (It was as if I had done something that suggested I was trying to become root, which I hadn't. This just feels buggy.)
The message is, I believe, caused by the following snippet in /etc/bash.bashrc (note that the "env -i" part above causes $HOME to not be set)
# sudo hint
if [ ! -e "$HOME/
case " $(groups) " in *\ admin\ *)
if [ -x /usr/bin/sudo ]; then
cat <<-EOF
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
EOF
fi
esac
fi
It would perhaps be better if the if-statement also checked that $HOME is set (to refer to an existing directory?) before checking if $HOME/.
description: | updated |
Hmm, I'm starting to think this is not a "bug" but rather something that belongs to a "policy discussion" (as suggested by the Ubuntu bug reporting tutorial)?
Anyway, the version info:
Ubuntu 12.10
$ bash --version pc-linux- gnu) gnu.org/ licenses/ gpl.html>
GNU bash, version 4.2.37(1)-release (x86_64-
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.