El /bin/sh
shell (dash) es un shell de funcionalidad reducida que cumple con POSIX para que sea más eficiente (más pequeño) para arrancar el sistema. Como parte de eso, el historial y la edición avanzada de línea de comandos no están incluidos. Es más apropiado para secuencias de comandos POSIX estrictas que como un shell interactivo. La idea es que el shell de 'inicio de sesión' sea bash por defecto, pero el sistema de arranque usará un guión. La página del manual en Ubuntu 11.04 muestra que el guión tiene historial y edición de línea de comandos, pero el programa no tiene estas características. Eche un vistazo al tamaño de los ejecutables 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
Intenta acostumbrarte a correr $SHELL
o en bash
lugar de solo sh
.