/bin/sh
(Тир) оболочка представляет собой POSIX - совместимая, ограниченная функциональность оболочки , чтобы быть более эффективной (меньше) для загрузки системы. Как часть этого, история и расширенное редактирование командной строки не включены. Это больше подходит для строгих сценариев POSIX, чем в качестве интерактивной оболочки. Идея состоит в том, что оболочка 'login' будет по умолчанию bash, но система загрузки будет использовать dash. Страница man в Ubuntu 11.04 показывает, что dash имеет историю и редактирование в командной строке, но программа не имеет этих функций. Посмотрите на размер базовых исполняемых файлов.
$ 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
Попробуйте привыкнуть к бегу $SHELL
или bash
вместо просто sh
.