CHSH(1) User Commands CHSH(1)

chsh - change your login shell

chsh [-s shell] [-l] [-h] [-v] [username]

chsh is used to change your login shell. If a shell is not given on the command line, chsh prompts for one.

chsh supports non-local entries (kerberos, LDAP, etc.) if linked with libuser, otherwise use ypchsh, lchsh or any other implementation for non-local entries.

-s, --shell shell
Specify your login shell.
-l, --list-shells
Print the list of shells listed in /etc/shells and exit.
-h, --help
Display help text and exit.
-v, --version
Display version information and exit.

chsh will accept the full pathname of any executable file on the system.

The default behavior for non-root users is to accept only shells listed in the /etc/shells file, and issue a warning for root user. It can also be configured at compile-time to only issue a warning for all users.

Returns 0 if operation was successful, 1 if operation failed or command syntax was not valid.

Salvatore Valente <>

login(1), login.defs(5), passwd(5), shells(5)

The chsh command is part of the util-linux package and is available from
July 2014 util-linux