As of late, and without my deliberately doing anything to make it happen, my Bash prompt has an at sign (i.e. @) prepended to it. This did not previously happen. Nor can I see anything in my ~/.bashrc that seems as though it ought to be making this happen.
This is on Debian Jessie GNU/Linux, using GNU Bash.
For example, my current Bash sessions look like this:
@[email protected]:~$ python3
Python 3.4.2 (default, Oct 8 2014, 13:14:40)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
@>>> 1+2
3
@>>> exit()
@[email protected]:~$
whereas originally, they would have looked like this:
[email protected]:~$ python3
Python 3.4.2 (default, Oct 8 2014, 13:14:40)
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 1+2
3
>>> exit()
[email protected]:~$
Here are all the lines from my ~/.bashrc that appear to in any way relate to the Bash prompt:
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}[33[01;32m]<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="3b4e7b">[email protected]</a>h[33[00m]:[33[01;34m]w[33[00m]$ '
else
PS1='${debian_chroot:+($debian_chroot)}<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b8cdf8">[email protected]</a>h:w$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to <a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="becbcddbccfed6d1cdca">[email protected]</a>:dir
case "$TERM" in
xterm*|rxvt*)
PS1="[e]0;${debian_chroot:+($debian_chroot)}<a href="https://getridbug.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="196c59">[email protected]</a>h: wa]$PS1"
;;
*)
;;
esac
How can I get my Bash prompt to appear as it did originally?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
Based on a meta discussion, I’m copying @steeldriver’s perfectly good AU answer here:
You appear to have configured readline to enable edit mode indication. From 8.3.1 Readline Init File Syntax of the Bash Reference Manual:
show-mode-in-prompt (Off)
If set to On, add a character to the beginning of the prompt
indicating the editing mode: emacs (@), vi command (:) or vi
insertion (+).
You should be able to disable it in the current shell using
bind 'set show-mode-in-prompt off'
To disable it persistently, you will need to find where it is getting set, possibly your ~/.inputrc or /etc/inputrc files.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0