Use Rights: All users
Command: CHSH
Usage:shell>> CHSH
Description: Change the user shell settings
Example:
Shell>> Chsh
changing fihanging shell for User1
Password: [del]
New Shell [/bin/tcsh]: ### [is currently used Shell]
[Del]
Shell>> chsh-l ### Display/etc/shells archive contents
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
Recommended reading: Select Shell with chsh command
1 I want to know which shells are installed on my machine?
There are two ways to view:
First type:
[Rocrocket@jb51.net ~]$ Chsh-l
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
The second type:
[Rocrocket@jb51.net ~]$ Cat/etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/zsh
In fact, Chsh-l also to view this file.
2 I want to know which shell I am currently using?
[Rocrocket@jb51.net ~]$ Echo $SHELL
/bin/bash
Note that the shell must be capitalized. As you can see, the shell I'm currently using is/bin/bash.
3 after zsh, do I see the current shell type still/bin/bash?
Please note that although we have implemented zsh, the so-called "current shell" is a concept of a large environment, for a logged-on user. And our executive Zsh just started a ZSH interpreter program, and it didn't change the big environment. If you want to change the "current Shell", then you still have to use CHSH.
4 I want to change my shell into zsh!.
[Rocrocket@jb51.net ~]$ chsh-s/bin/zsh
changing shell for Rocrocket.
Password:
Shell changed.
[Rocrocket@jb51.net ~]$
Use CHSH plus option-S to modify the login shell!
You'll find that you're still outputting/bin/bash when you perform echo $SHELL, because you need to reboot your shell to fully engage in the zsh embrace.
5 chsh-s In the end is changed where?
Let me tell you the secret. Chsh-s actually modified is the/etc/passwd file and your user name corresponds to the line. Now let me look at the following:
[Rocrocket@jb51.net ~]$ Cat/etc/passwd|grep ^rocrocket
Rocrocket:x:500:500:rocrocket,china:/rocrocket/psb/home:/bin/zsh
Look! You can see that the last part of the output has become/bin/zsh! The next time you reboot, Linux will read this command to start your shell!
Well, I'm going to get back to work, and I'm going to change the shell/bin/bash I'm familiar with!
[Rocrocket@jb51.net ~]$ chsh-s/bin/bash
changing shell for Rocrocket.
Password:
Shell changed.