1

This question was previously answered in Unix Stack Exchange. It has not been answered here, in Emacs Stack Exchange. I believe new answers in a community fully dedicated to Emacs could go deeper. But maybe I am being naive.

If you agree, here goes a suggestive organization:

  • Similarities between eshell, shell, and term
  • Differences between eshell, shell, and term

If this is inappropriate, please indicate and I will close the question.

1
  • 2
    Too broad....... Commented May 16, 2022 at 23:22

1 Answer 1

1

It’s not written out explicitly in this format in the Emacs manual, but you can get this information just by reading chapter 38.2 Interactive Subshell and chapter 38.8 Emacs Terminal Emulator of the Emacs manual, and chapter 1.1 What is Eshell? of the Eshell manual.

Specifically, the first paragraph or two of each of them should be enough for you to understand this:

38.2 Interactive Subshell ========================= To run a subshell interactively, type ‘M-x shell’. This creates (or reuses) a buffer named ‘*shell*’, and runs a shell subprocess with input coming from and output going to that buffer. 
38.8 Emacs Terminal Emulator ============================ To run a subshell in a text terminal emulator, use ‘M-x term’. This creates (or reuses) a buffer named ‘*terminal*’, and runs a subshell with input coming from your keyboard, and output going to that buffer. … Some programs (such as Emacs itself) need to control the appearance of the terminal screen in detail. They do this by emitting special control codes. Term mode recognizes and handles ANSI-standard VT100-style escape sequences, which are accepted by most modern terminals, including ‘xterm’. (Hence, you can actually run Emacs inside an Emacs Term window.) 
1.1 What is Eshell? =================== Eshell is a “command shell” written in Emacs Lisp. Everything it does, it uses Emacs’s facilities to do. This means that Eshell is as portable as Emacs itself. It also means that cooperation with Lisp code is natural and seamless. 

But drew is correct; StackExchange is not the right place for long–form analysis or explanations of broad questions. Just read the manuals.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.