查看当前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 ~]#

浙公网安备 33010602011771号