你的位置:首页 > 操作系统

[操作系统]ubuntu中用户使用的shell如何指定

  在机器上给同事开了一个账号,结果ssh登陆后,补全,高亮都没有,但是我自己的账号都可以.首先怀疑是.bashrc文件设置有问题,对比2个用户目录的这个文件并未发现可以的地方.搜索得知可能是所使用的shell不同,因为补全一般是通过一个与之对应的补全脚本或者内置补全功能,所有推断2个用户使用的shell不同,于是在2个用户下分别 echo $SHELL,果不其然,一个是/bin/bash,一个是/bin/sh,而sh又是一个符号链接,指向/bin/dash,ubuntu默认采用的是dash,一般通过/bin/sh的符号链接来指向,如果要切换它指向bash,执行:

sudo dpkg-reconfigure dash

选择是,否即可切换ubuntu默认shell,但是这样一来就影响了其他用户,能否针对于不同的用户单独指定其使用的shell呢?打开/etc/passwd文件:

用户对应的最后一个字段就指定了用户登陆时使用的shell类型,如果不指定,那么就使用默认的/bin/sh.如何修改这个设置呢?

 sudo usermod -s 用户名 shell类型