查看当前shell

1. echo $SHELL

2. env |grep SHELL

 

 

默认shell为bash,从bash进入ksh后,如何查看出当前shell为ksh?
在bash下,输入echo $SHELL,可以看到当前shell为/bin/bash。
但是在ksh中输入echo $SHELL后,仍然输出/bin/bash

当前所使用的SHELL是针对某个用户而言的 执行KSH命令 只能说运行了一个ksh的shell解释器 并没有改变用户所使用的SHELL 除非执行chsh

 

使用chsh后,重新登录,发现shell已经改变

chsh - 更换你登入时所用的shell  

语法
chsh [ -s shell ] [ -l ] [ -u ] [ -v ] [ username ]

描述
chsh 用来更换你登入时所用的shell 。在命令列没指定shell。 chsh 会提示一个给你。  

有效的shell

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 ~]#

posted @ 2014-01-07 14:54  alxe_yu  阅读(326)  评论(0)    收藏  举报