How to enable tab to complete for new users in ubuntu

April 2, 2014 11.8k views
Hi, Currently, I bash-autocomplete or tab to complete only works for the default root user. I made a new user with sudo powers, but tab autocomplete never works. Even when trying to fill in the name of a file in the directory. Does anyone have any clues to fix this?
4 Answers
Sounds like you created this user with the `useradd` command. This is a low level command, and not the prefered way to create a user. By default it will point the user's shell to /bin/sh, not /bin/bash. So you will not get the nice autocompletion. You can use the `chsh` command to change the user's shell:

sudo -u $USERNAME chsh -s /bin/bash

This should give you bash autocompletion. You probably also want to copy /etc/skel/.bashrc to the user's home directory.

In the future, prefer the `adduser` command. Despite the similar name, it has different results. It will default to using /bin/bash as the shell and seed the new user's home directory with the files from /etc/skel/
If you are running bash and still cannot use autocompletion, it's most likely bash not having access to read the directories you're trying to autocomplete in. You can remedy that by starting a new shell running as root:
sudo -s
Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!