# chsh is not working for me.



## prdeltoid (Jun 16, 2010)

I've tried using chsh a few ways (chsh and edit file, chsh -s /bin/..., and as root chsh -s /bin/ user) and it isn't working my shell is and remains sh. I installed via FTP. I didn't choose (obviously, if you know the setup) to use sh as my default. I want to use tcsh. chsh is not working for me.


----------



## prdeltoid (Jun 16, 2010)

Sorry for double posting, I thought you could edit... The more I read about it the more it seems like a bad idea to switch to tcsh anyways, and it seems to be a hassle. I should stick with sh. If you have any pointers feel free to leave them here, though... at least if someone else really wants to they can find help for it I guess. :beergrin


----------



## phoenix (Jun 16, 2010)

`$ chsh -s /bin/tcsh` will change the shell entry in /etc/passwd.  However, you need to logout and login in order for the change to take effect.

Feel free to use any shell you want for normal user accounts.  There are several listed in the ports tree (/usr/ports/shells/*).

Just don't change root's shell.  Searching the forums will bring up many threads where people have done so to their own detriment.


----------



## prdeltoid (Jun 16, 2010)

Well, after I posted this I read that since sh is so compatible and everything else good about it, that it's not a good idea to change it. I was thinking that maybe it would be smart... but I really miss tab completion, for one thing. I was just thinking maybe sh would be really good to learn and use because it is so... I don't know the word I'm looking for... standard... and compatible.


----------



## wblock@ (Jun 16, 2010)

You don't have to have sh as your interactive shell in order to use it for shell scripts.

sh is poor for interactive use, good for scripts.
csh/tcsh is poor for scripts, good for interactive use.


----------



## gilinko (Jun 16, 2010)

prdeltoid said:
			
		

> Well, after I posted this I read that since sh is so compatible and everything else good about it, that it's not a good idea to change it. I was thinking that maybe it would be smart... but I really miss tab completion, for one thing. I was just thinking maybe sh would be really good to learn and use because it is so... I don't know the word I'm looking for... standard... and compatible.



Or just start your favorite shell once you are root. I use tcsh as my main shell and when I su to root I get sh. Just type `# tcsh`, and you have all the things that you want with tab completion etc.


----------



## phoenix (Jun 16, 2010)

Note:  /bin/sh in -CURRENT just incorporated filename tab completion.


----------



## prdeltoid (Jun 16, 2010)

Huh. I figured that would never happen. I just switched to tcsh. I've never used it or read about it, feel like a change anyways. I would use sh for scripting, though... I've read elsewhere that it's a very good idea.


----------



## DutchDaemon (Jun 17, 2010)

I haven't looked at the code, but filename completion (working in the current directory) and command completion (looking at $PATH) are two different things.


----------

