17

I'm new to Linux, trying Ubuntu 10.04, preconfigured by host.

When I log in (SSH) using the preconfigured account, the shell prompt is: user@hostname:~$

The up arrow scrolls through the list of recent shell commands, and tab-completion works as expected.

However, when I create an account and log in (SSH) using that account, the shell prompt is simply "$", and the up arrow just prints a control character (^[[A).

Can anyone tell me how to get my prompt, tab-completion, and up-arrow behavior set up? The fact that I'm getting control characters when I up-arrow makes me think that my account (or session) is in some mode I'm unfamiliar with.

I know there is tab-completion code stored in bashrc that I can uncomment, but that doesn't seem to have any effect, even after logging out and logging back in.

Am I in some strange mode when I SSH in with the new account, or are there just some session/account settings I need to set up, and can find information for anywhere on the Internet if I just knew what to look for?

pastorius
  • 273
  • 1
  • 2
  • 5

3 Answers3

34

My first guess is that the default shell is sh rather than Bash. Use chsh to change it. You will need to log out and log back in to make the change take effect.

Dennis Williamson
  • 60,515
  • 14
  • 113
  • 148
  • edited /etc/passwd , changed to /bin/bash.. Thank you Dennis Williamson :) –  Jul 17 '14 at 05:58
8

Other way is open /etc/passwd file and change the shell /bin/sh to /bin/bash

LINUX4U
  • 154
  • 9
1

As mentioned by Dennis Williamson the problem was the default shell. I was using Debian and my non-root user defaulted to sh.

chsh
/bin/bash

Re-logged in and problem solved.

JNB
  • 111
  • 1