Короче говоря eshell
- эмулятор оболочки (написан на Emacs-Lisp), в то время как shell
- это интерфейс к sh
или любой (внешней) системной оболочкевы используете.
eshell
должен вести себя подобно большинству оболочек "в стиле Борна", с которыми вы знакомы, но не имеет внешней зависимости, которую имеет shell
.Таким образом, он может быть запущен в любой системе, в которой работает emacs.