Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Jun 1999 19:17:00 -0700 (PDT)
From:      Bart Trzynadlowski <trzy@powernet.net>
To:        Mark Ovens <markov@globalnet.co.uk>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: prompts
Message-ID:  <Pine.BSF.4.05.9906121911240.394-100000@Brzuszek>
In-Reply-To: <19990613015335.A255@marder-1>

next in thread | previous in thread | raw e-mail | index | archive | help

Well, I used the below method to implement the prompt along with # for
superuser and $ for user. However it only updates with cd, not chdir.

# set prompt and display it at start up before any cd command is used
case `id -u` in
	0) PS1="`pwd`# ";;		# for root... uid 0
	*) PS1="`pwd`$ ";;
esac
# update prompt with each cd -- will NOT update if chdir is used though
cd() {
	chdir "$@"
	case `id -u` in
		0) PS1="`pwd`# ";;
		*) PS1="`pwd`$ ";;
	esac
     }

However I still don't know how to make the # at the end of my csh prompt
expand to % for user and # for superuser. It's just static at # for all
users. But it does update the directory so thanks to everyone who helped
out! Shells are such a chore. I'm gonna have to get myself one of those
shell books.

Thanks!

Bart Trzynadlowski


On Sun, 13 Jun 1999, Mark Ovens wrote:

> On Sat, Jun 12, 1999 at 01:26:18PM -0700, Bart Trzynadlowski wrote:
> > 
> > 
> > So there is no automated way to make it so the shell expands
> > it to # or % according to the user class? I know that if the
> > prompt is just defined as:
> > set prompt = "\$ "
> > then csh expands it to # for root and % for a user.
> 
> I didn't know that. You've taught me something
> 
> > But I noticed that I cannot do:
> > set prompt "`pwd`\$"
> > ANYTHING I put in front of the \$ is ignored. 
> > 
> 
> Hmm, one would expect it to work. I'd be interested to know if it
> can be made to work.
> 
> > 
> > 
> > > For csh you put the alias in each users ~/.cshrc and for non-root
> > > users edit it, changing ``#'' to ``%''. Normally, if you don't set
> > > the ``prompt'' variable yourself, the shell uses % as the default
> > > for non-root users and # for root.
> > > 
> > > > In zsh I think /# sets # for superuser and % for user.  How
> > > > can I set the prompt up so that if I'm a superuser it
> > > > uses # and if I'm a user it uses $ under sh and csh. Do I just use "#"? I
> > > > tried doing
> > > > PS1="`pwd`# "
> > > > in sh but it printed # for the regular users.
> > > > 	
> > > > 
> > > > > For csh you need to alias ``cd''. If you just do a ``set prompt=''
> > > > > like you tried then it is static, that is you set the variable
> > > > > "prompt" to the value it was at that point in time (actually, what
> > > > > you did was wrong anyway, you needed ``set prompt = "`echo $cwd`#")
> > > > > 
> > > > > You need to update the variable "prompt" every time you ``cd''. To
> > > > > get what you want, add the following to ~/.cshrc (so it applies to
> > > > > all shells that you start):
> > > > > 
> > > > > alias cd 'cd \!*;set prompt="`pwd`# "'
> > > > > 
> > > > > 	% 
> > > > > 	% cd
> > > > > 	% alias cd 'cd \!*;set prompt="`pwd`# "'
> > > > > 	% 
> > > > > 	% 
> > > > > 	% cd
> > > > > 	/usr/marko# cd /etc
> > > > > 	/etc# cd /mnt
> > > > > 	/mnt#
> > > > > 
> > > > > HTH
> > > > > 
> > > > > 
> > > > > > Thanks a lot!
> > > > > > 
> > > > > > Bart Trzynadlowski
> > > > > > 
> > > > > > 
> > > > > > 
> > > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > > > > > with "unsubscribe freebsd-questions" in the body of the message
> > > > > > 
> > > > > 
> > > > > -- 
> > > > >       FreeBSD - The Power To Serve http://www.freebsd.org
> > > > >       My Webpage http://www.users.globalnet.co.uk/~markov
> > > > > _______________________________________________________________
> > > > > Mark Ovens, CNC Apps Engineer, Radan Computational Ltd. Bath UK
> > > > > CAD/CAM solutions for Sheetmetal Working Industry
> > > > > mailto:marko@uk.radan.com                  http://www.radan.com
> > > > > 
> > > > > 
> > > > > 
> > > > 
> > > > 
> > > 
> > > -- 
> > >       FreeBSD - The Power To Serve http://www.freebsd.org
> > >       My Webpage http://www.users.globalnet.co.uk/~markov
> > > _______________________________________________________________
> > > Mark Ovens, CNC Apps Engineer, Radan Computational Ltd. Bath UK
> > > CAD/CAM solutions for Sheetmetal Working Industry
> > > mailto:marko@uk.radan.com                  http://www.radan.com
> > > 
> > > 
> > > 
> > 
> > 
> > 
> > To Unsubscribe: send mail to majordomo@FreeBSD.org
> > with "unsubscribe freebsd-questions" in the body of the message
> > 
> 
> -- 
>       FreeBSD - The Power To Serve http://www.freebsd.org
>       My Webpage http://www.users.globalnet.co.uk/~markov
> _______________________________________________________________
> Mark Ovens, CNC Apps Engineer, Radan Computational Ltd. Bath UK
> CAD/CAM solutions for Sheetmetal Working Industry
> mailto:marko@uk.radan.com                  http://www.radan.com
> 
> 
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9906121911240.394-100000>