When comparing sh vs DASH, the Slant community recommends DASH for most people. In the question“What are the best Bash replacements?” DASH is ranked 4th while sh is ranked 8th. 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 Truely the most broadly available shell
It may not be the best if you want power, but if you want to write a POSIX script that will run everywhere, it's a pretty good choice.
Pro Most influential Unix shell alongside csh
Bourne shell introduced features such as piping, here documents, command substitution, variables, control structures for condition-testing and looping and filename wildcarding.
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.
Cons
Con Not suitable for interactive use
The Bourne shell has always been criticized (most notably by Bill Joy, author of csh) as being unfriendly for interactive use.
It has no tilde (~) expansion. Limited file test operators. Limited math operators.
Con Doesn't support all bash features
Dash does not support all bash features, sometimes called 'bashisms' unless explicitly pointed at /bin/sh
.
