[root@TEST log]# echo $SHELL
/bin/bash
[root@TEST log]# ksh
# env | grep SHELL
SHELL=/bin/bash
 
 当前所使用的SHELL是针对某个用户而言的 执行KSH命令 只能说运行了一个ksh的shell解释器 并没有改变用户所使用的SHELL 除非执行chsh
 
chsh
可用指定路径全名的方式来指定任何一个可执行的档案。 然而,如果此 shell并没纪录在 /etc/shells 档上,则chsh会提出警告讯息。

选项
-s, --shell 变更你的登入shell.  
-l, --list-shells  
列出纪录在 /etc/shells 的shell。  
-u, --help  
使用短讯。  
-v, --version

[root@localhost ~]# chsh
Changing shell for root.
New shell [/bin/csh(系统当前默认的shell)]: /bin/ksh(更改一个已存在的新的shell)
Shell changed.
[root@localhost ~]# chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/ash
/bin/bsh
/bin/ksh
/usr/bin/ksh
/usr/bin/pdksh
/bin/tcsh
/bin/csh
[root@localhost ~]# more /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/ash
/bin/bsh
/bin/ksh
/usr/bin/ksh
/usr/bin/pdksh
/bin/tcsh
/bin/csh
[root@localhost ~]# echo $SHELL
/bin/csh
[root@localhost ~]# bash
[root@localhost ~]# echo $SHELL
/bin/csh
[root@localhost ~]#