What is difference between shell and eshell in emacs?

2.1k views Asked by At

What is the difference between eshell (M-x eshell) and shell (M-x shell) in emacs. Both seems to work same but when i try to run su command or sudo command in eshell then it create a buffer named tramp/su root:localhost. but don't do the work which i want to do as super user.

1

There are 1 answers

2
harpo On

In short eshell is a shell emulator (written in Emacs-Lisp), while shell is an interface to sh or whatever (external) system shell you're using.

eshell should behave like most "Bourne-style" shells that you're familiar with, but does not have the external dependency that shell has. Thus, it can be run on any system that runs emacs.