Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Somehow my bash prompt got changed to "elementary:~ steven$" and I want to change it back to the default prompt. I've added the following first to ~/.bashrc then to ~/.profile:

export PS1="\s-\v\$ "

Neither get executed when I open Terminal. If I run the command source on either file it works fine for the remainder of that session.

Is there something I'm overlooking here?

EDIT: Here's output from what Ian suggested:

elementary:~ steven$ bash --login --verbose
# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
    eval `/usr/libexec/path_helper -s`
/usr/libexec/path_helper -s
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/Library/Frameworks/Python.framework/Versions/3.2/bin:/usr/local/AVRMacPack/bin"; export PATH;

if [ "${BASH-no}" != "no" ]; then
    [ -r /etc/bashrc ] && . /etc/bashrc
# System-wide .bashrc file for interactive bash(1) shells.
if [ -z "$PS1" ]; then

PS1='\h:\W \u\$ '
# Make bash check its window size after a process completes
shopt -s checkwinsize
if [ -e "/usr/local/AVRMacPack" ]; then
export PATH

# Setting PATH for Python 3.2
# The orginal version is saved in .bash_profile.pysave
export PATH
elementary:~ steven$ which bash
which bash
share|improve this question
What was the default prompt before? Are you talking about a hostname change to 'elementary'? – Jesse Jackson Sep 12 '11 at 3:43

.bashrc is only executed for non-interactive shells according to the bash man page.

.bash_profile is executed for login shells.

The .profile file is loaded by Korn shells. I don't know that bash pays any attention to this at all. I couldn't find any reference to it in the bash man page.

On OS X the program runs a login shell for every single new window you open.

So you want to put your prompt setup in .bash_profile.

You could always do the following in .bash_profile. It's not uncommon but I can't say what kind of repercussions it could have:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc

Then you wouldn't have to maintain two files.

share|improve this answer
Still not working. Is there something that could be overriding it? – Steven Zezulak Sep 12 '11 at 3:14
It's possible bash is being invoked with --noprofile or --norc. Try this, from a prompt run: bash --login --verbose -- does it print anything useful about what it's running? Also: which bash -- check to make sure bash hasn't been aliased. – Ian C. Sep 12 '11 at 3:17
I updated the first post with the output. It doesn't look like anything interesting or nulling is being executed. – Steven Zezulak Sep 12 '11 at 3:36
Add the following to the start of ~/.bash_profile and ~/.bashrc: echo "Start of file $0". And to the end of each file: echo "End of file $0" and then try bash --login --verbose -- do you see the output from those? Are the files being sourced as expected? – Ian C. Sep 12 '11 at 3:53
.profile is read by bash as well, but only if .bash_profile does not exist. – grawity Sep 12 '11 at 7:38

I might be incorrect but if bash is your shell, you must place that in your ~/.bash_profile and not your .bashrc.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.