FreeBSD Shells

Jerold McAllister jerrymc at
Fri Sep 8 09:14:44 PDT 2006

Joshua Lewis writes: 

> My shell mysteriously changed. I don't know what port changed the shell
> but how do I put it back to normal. I liked how when I was logged in or
> su'ed to root I had a prompt with the computer name and a hash sign. Now
> I have a percent sign and when I try to change the shell with chsh I can
> not get it to work anymore. 
> I am doing chsh -s /bin/sh is that correct? Is that the default BSD
> shell? 

It sounds like either your .profile (for sh) or your .cshrc (for tcsh)
is what got changed.    That is where the prompt will be determined by
the setting of the 'prompt' variable. 

But, to your specific question, you should be able to set your shell
using chsh.   I think you only need the -s if you call it by 'chpass'
instead of chsh, but I am not sure. 

If you have root access, then you can also change your shell in the passwd
file directly using  vipw(8).   Just use vipw to edit the shell field
in the passwd file entry and write and exit out of vipw.  If you do not
have root access, then you cannot modify it with vipw. 

If there was no shell specified in the shell field, the system would have
given you /bin/sh by default.   If the shell you are trying to change to
or from is not listed in //etc/shells, then it will not allow you to
make the change with the chsh command.   If you have root access, you can
modify the content of /etc/shells to add any that you need to use. 

> _______________________________________________
> freebsd-questions at mailing list
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at" 

More information about the freebsd-questions mailing list