/bin/sh(Тир) оболонка являє собою POSIX - сумісна, обмеженою функціональністю оболонки , щоб бути більш ефективною (менше) для завантаження системи. Як частина цього, історія та розширене редагування командного рядка не включені. Він більше підходить для строгого сценарію POSIX, ніж як інтерактивна оболонка. Ідея полягає в тому, що оболонка 'login' за замовчуванням буде bash, але система завантаження використовує тире. Сторінка 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.