>>106701821
>can eshell run sh scripts?
yes, any script for that matter. the only thing that matters in a script is that the shebang at the top of the file points to the appropriate interpreter. the shell you're using and the language the script is written in are two independent things
>does eshell have a re-implementation of elisp in elisp?
not sure what you mean by this. it has some coreutils rewritten in elisp, which are just functions, and it can run any other elisp function or command that emacs offers. you can see what is being evaluated when you run a command by using eshell-parse-command
$ eshell-parse-command 'emacs -Q'
(eshell-with-copied-handles
(eshell-trap-errors (eshell-named-command "emacs" (list "-Q"))) t)
eshell-named-command in turn calls eshell-plain-command, which is defined like this in esh-cmd.el
(defun eshell-plain-command (command args)
"Insert output from a plain COMMAND, using ARGS.
COMMAND may result in either a Lisp function being executed by name,
or an external command."
(if-let ((sym (eshell--find-plain-lisp-command command)))
(eshell-lisp-command sym args)
(eshell-external-command command args)))