How to enable tab to complete for new users in ubuntu

Posted April 2, 2014 18.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?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
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