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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.