linux切换shell

1. $SHELL这一环境变量用于保存当前用户使用的shell,所以我们可以输出$SHELL来查看当前使用的shell是什么:

2. 查看/etc/shells文件,可以看到当前系统中安装的有效的shell:

3. 使用chsh可以切换当前用户使用的登录shell,比如我当前使用的是bash,我想改为sh:

4. 你以为这就完了吗?不!我们再输出一次$SHELL看结果是多少:

5. 真是尴尬,到底是啥原因呢?我想这是修改了登录shell,难道是要重新登录的问题?然后使用了login命令(注:login命令必须要有系统权限,也就是要sudo,如果这个用户不是sudoers,就要先su转变为超级用户再用login),重新输入帐号密码,再次登录以后,就发现shell变成了我改的sh了:

竟然被我猜中了,所以我们每次要切换shell的时候,可能需要重新登录一下(注:另外一种快速切换用户的方法,su - USER,然后输入密码即可,其中USER为用户名,当用户名为当前用户的时候就相当于重新登陆了,但是切记su - 后面的“-”不要漏了,我们重新登录就是为了刷新环境变量,如果漏了“-”,会有很大差别,在su和su - 的本质区别这篇文章中会提到)。就这样愉快地切换自己想要使用的shell吧~

实验系统:ubuntu15.04

原文地址:https://www.cnblogs.com/Cccarl/p/6691266.html