Howto: Changing Linux Login Shell
Q. Can you tell me command to change login shell in Linux / UNIX operating system?
A. You don't have to edit /etc/passwd file to change your shell. You need to use chsh command. It changes the user login shell. This determines the name of the users initial login command. A normal user may only change the login shell for his/her own account, the super user i.e. root user may change the login shell for any account. Following is syntax of chsh command:
chsh -s {shell-name} {user-name}
Where,
- -s {shell-name} : Specify your login shell name. You can obtained list of avialble shell from /etc/shells file.
- User-name: It is optional, useful if you are a root user.
First, find out available shell list:
$ less /etc/shells
Output:
/bin/ash /bin/csh /bin/sh /usr/bin/es /bin/ksh /bin/tcsh /bin/sash /bin/zsh /bin/dash /usr/bin/screen /bin/bash /bin/rbash
Now change your shell name to /bin/tcsh:
$ chsh -s /bin/tcsh
Password:
When promoted for password, type your own password. If you just type chsh command, it will prompt for shell name interactively:
$ chsh
Output:
Password:
Changing the login shell for tv
Enter the new value, or press ENTER for the default
Login Shell [/bin/bash]:
Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
Related Other Helpful FAQs:
- Setting bash as default shell
- Freebsd changing password
- MySQL Change root Password
- Environment variable changing on Linux/FreeBSD
- Linux set or change user password how to
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: ash, chsh_command, csh, default login shell, etc passwd file, etc shells file, ksh, less_command, press enter, tcsh



Recent Comments
Today ~ 5 Comments
Today ~ 1 Comment
Yesterday ~ 1 Comment
Yesterday ~ 2 Comments
Yesterday ~ 10 Comments