<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">今天在ubuntu上使用useradd新建了一个用户,发现用新建的用户登陆无法使用tab键补全,这个问题是否让人恼火,所以来解决一下。</span>
查资料后发现是因为 useradd 后默认使用的是 sh 而不是 bash shell,所以解决的方法如下:
用root账户登陆机器,使用命令
chsh -s /bin/bash newUserName
一劳永逸的方法:
sudo vim /etc/default/useradd
修改 $SHELL 为
$SHELL = /bin/bash
重新登陆即可
另外,如果是突然tab无法使用了,还可能是因为补全功能没启动,可以编辑文件 /etc/bash.bashrc
把bash completion相关字段改为以下:
#enable bash completion in interactive shells
if ! shopt -oq posix; then
if [-f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion]; then
. /etc/bash_completion
fi
fi
然后source 一下: source /etc/bash.bashrc