When comparing DASH vs eltclsh, the Slant community recommends DASH for most people. In the question“What are the best Bash replacements?” DASH is ranked 4th while eltclsh is ranked 11th. The most important reason people chose DASH is:
Dash has a very fast startup, this happens because the shell is started a lot of times during boot and dash minimizes the work it does during this process.
Ranked in these QuestionsQuestion Ranking
Pros
Pro Fast startup
Dash has a very fast startup, this happens because the shell is started a lot of times during boot and dash minimizes the work it does during this process.
Pro Low memory usage, which matters a lot in embedded
It is designed to be very lightweight and has no support for shell specific extensions that are not POSIX.
Pro Default shell on Debian systems
DASH is the default shell for Debian based systems due to it speed, full POSIX compliance and low overhead.
Pro Full POSIX support
It's fully POSIX compatible, so if your script runs on dash it will probably run on all other shells.
Pro A perfect clone
It's a clone of the original System V4 Bourne shell.
Pro A more consistent alternative to the POSIX shell
Tcl is a saner scripting language built on the same principle as the Unix shell (everything is a string) with more than a hint of Lisp. eltclsh makes it possible to use Tcl interactively with tab completion for both language constructs and file paths. The result is that you can develop a snippet of Tcl code interactively and then paste it in your script.
Pro TclVFS
TclVFS allows you access files inside ZIP archives or on remote HTTP and FTP servers like you would local files. If you put "package require vfs::urltype; vfs::urltype::Mount http"
in your ~/.eltclshrc you can do things like "file copy http://example.com/file /tmp/file" (HTTPS is currently not supported by TclVFS.)
Cons
Con Doesn't support all bash features
Dash does not support all bash features, sometimes called 'bashisms' unless explicitly pointed at /bin/sh
.
Con Stability
eltclsh crashes on mismatched delimiters.