Re: Misadventures with bash shell

---------------------------------

StackSmith asked[1] people to comment on their favourite shells. My

answer's a bit more wacko than most. I use and mostly love eshell,

which is a pure emacs-lisp program that mimics the behaviour of more

traditional shells like bash.

I like this because:

1. Combined with TRAMP (emacs' subsystem for allowing remote access to

files and programs over ssh), it means that I have one common shell

for controlling both local and a variety of remote machines.

2. I can run both regular programs and emacs functions directly from

the command line. This is particularly useful as there are many elisp

wrappers/replacements for common tools such as man, diff and others

which open results in new buffers and are generally nicer to use from

emacs. (I can also directly run elisp expressions at the prompt,

although one can really do this anywhere in emacs.)

3. Having my shell transcript always in an emacs buffer and directly

editable is immensely useful in ways that aren't easy to describe.

For sure eshell is not perfect - I drop into a real shell whenever

I need to do anything with pipes - but it's orders of magnitude better

than being trapped in terminal emulator hell.

p.s. I realise that other answers have focused more on the use of

shells as scripting languages. I still write scripts for bash. I

don't consider this a concession, as I also write awk scripts despite

never using awk as an interactive shell.

[1] gemini://gemini.ctrl-c.club/~stack/gemlog/2022-08-01.bash.gmi


Source