Bash: Setting Prompt

Jacob S stormspotter at 6Texans.net
Wed May 18 05:37:53 PDT 2005


On Wed, 18 May 2005 06:26:53 -0400 (Eastern Standard Time)
Gerard Seibert <gerard-seibert at rcn.com> wrote:

> FreeBSD 5.4 and Bash 3.00.16(1)
> 
> I hope that this is the right place to post this.
> 
> I have the following in my '.bash_profile' file.
> #
> #	Set the prompt to display the 'user at host' and the working 
> #	directory with a '#' for root and '$' for user.
> #
> PS1="\u@\h \w "
> case 'id -u' in
>  	0) PS1="${PS1}# ";;
>  	*) PS1="${PS1}$ ";;
> esac
> #
> #	Keep the environment when using su to become root
> #
> alias su='su -m'
> #
> It is suppose to set the prompt to display the 'user at host' and the
> working  directory with a '#' for root and '$' for user. Everything
> works except  for the '#' and '$' symbols. The '$' symbol is always
> displayed.
> 
> I must be doing something really stupid, but I do not know what. I
> hope  that someone can assist me.

Just a guess, as I haven't tested this, but try changing your case line
to look like this:

case `id -u` in (Note the backticks instead of apostrophes.)

HTH,
Jacob


More information about the freebsd-questions mailing list