10

I recently set up a new user using "adduser username" on my server and noticed that when I login I get:

$

Also, with my new user there is no folder highlighting, or tab completion.

However when I login as root I get a full terminal prompt plus highlighting, completion etc.

root@lin01:~#

Anyone have any idea what I did wrong?

Edit: Solution was to type

chsh -s /bin/bash

While logged in with the $.

1
  • For me a password was requested on execution of the command. (the user-pw). As well to mention: you need to re-login to enable the new settings (debian-jessie)
    – Alex
    Apr 30, 2015 at 11:55

2 Answers 2

14

Your new user's login shell has been set to /bin/sh, which on Ubuntu is dash. This is a shell intended to be small and fast, to run scripts efficiently. It doesn't have any interactive features. Change your shell to zsh (better) or bash (more common):

chsh -s /bin/bash

If you want to change adduser's default shell, edit /etc/adduser.conf:

DSHELL=/bin/bash
3
  • I tride typing chsh bash and it says "bash is not a user". So i typed "chsh username --shell bash" and it said "bash is an invalid shell". but I can type "bash" and it switches to the one i want. Any thoughts?
    – kidcapital
    May 6, 2011 at 19:46
  • ok well, it turns out the correct command for me was: chsh -s /bin/bash .. thanks for pointing me in the right direction
    – kidcapital
    May 6, 2011 at 19:49
  • @kidcapital: Yes, chsh -s /bin/bash was right, I indicated the right command but messed up its syntax. Sorry. May 6, 2011 at 19:58
0

I guess you are not using bash, but sh and your prompt is not set properly (if this is even possible with sh).

you can get your current shell by typing: echo $SHELL

if you want to start bash, just type bash

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .