≡ Menu

chsh command

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}


  • -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



Now change your shell name to /bin/tcsh:
$ chsh -s /bin/tcsh

When promoted for password, type your own password. If you just type chsh command, it will prompt for shell name interactively:
$ chsh


Changing the login shell for tv
Enter the new value, or press ENTER for the default
       Login Shell [/bin/bash]: