O /bin/sh
shell (traço) é um shell de funcionalidade reduzida compatível com POSIX para ser mais eficiente (menor) para inicializar o sistema. Como parte disso, o histórico e a edição avançada da linha de comando não estão incluídos. É mais apropriado para scripts estritos do POSIX do que como um shell interativo. A ideia é que o shell de 'login' seja bash por padrão, mas o sistema de inicialização usaria o dash. A página de manual no Ubuntu 11.04 mostra que o dash tem histórico e edição de linha de comando, mas o programa não possui esses recursos. Dê uma olhada no tamanho dos executáveis base.
$ ls -l /bin/*ash /bin/sh
-rwxr-xr-x 1 root root 822420 Mar 31 15:26 /bin/bash
-rwxr-xr-x 1 root root 83848 Nov 15 2010 /bin/dash
lrwxrwxrwx 1 root root 4 May 17 21:15 /bin/rbash -> bash
lrwxrwxrwx 1 root root 4 May 17 21:15 /bin/sh -> dash
$ strings /bin/bash | egrep -ci 'fc|hist'
181
$ strings /bin/dash | egrep -ci 'fs|hist'
1
Tente se acostumar a correr $SHELL
ou em bash
vez de apenas sh
.