Difference Between Bash and Dash

Table of Contents

Main Difference

Dash is a shell that has poor usability by modern necessities when used as an interactive log-in shell, nonetheless is faster in executing POSIX-compliant scripts than Bash.Bash has many further choices and is especially preferable when used interactively (although it does embrace further programming choices too). Bash is normally equipped as a result of the default interactive shell, whereas Debian and Debian-derivatives like Ubuntu current Dash as a result of the /bin/sh implementation, thereby inflicting scripts with #!/bin/sh shebangs to be interpreted by Dash barely than Bash by default. For scripts that require Bash for execution, Bash will nonetheless be used as a result of the interpreter if the shebang is #!/bin/bash. Numerous shell conditions are started as part of the Ubuntu boot course of. Rather than change each of them individually to run explicitly beneath /bin/dash, a change which could require necessary ongoing repairs and which is likely to be liable to regress if not paid shut consideration, the Ubuntu core enchancment group felt that it was biggest merely to differ the default shell.

What is Bash?

Bash is the Bourne-Once extra shell. Bash is an outstanding full-featured shell acceptable for interactive use; definitely, it is nonetheless the default login shell. Bash is designed for human beings and provides a superset of POSIX efficiency.

What is Dash?

Dash is the Debian Almquist Shell. Dash implements the Single Unix Spec, then it would not should do further to satisfy that formal spec. Dash is for non-interactive script execution. Dash Only helps POSIX compliant choices.

Key Differences

  • Bash is an outstanding full-featured shell acceptable for interactive use; definitely, it is nonetheless the default login shell. However, it is barely large and sluggish to start out out up and operate by comparability with dash.
  • Dash implements the Single Unix Spec, then it would not should do further to satisfy that formal spec. But among the many “bashisms” are useful, would add little to the size of dash, and would make it far less complicated to utilize dash instead.
  • Plenty of shell scripts which embrace the command set –okay shouldn’t supported by dash nonetheless supported by bash.
  • Bash Supports the equivalent scripting directions as Dash along with its private additional directions, Dash Only helps POSIX compliant choices.
  • Bash is designed for human beings and provides a superset of POSIX efficiency, Dash is for non-interactive script execution.
  • Bash helps tab completion and Supports a command historic previous.
  • Dash is barely 100Okay as compared with Bash’s 900Okay.
  • Dash is for Faster start-up and script execution as as compared with Bash.
  • ncG1vNJzZmivp6x7pbXFn5yrnZ6Ysm%2FDyKSgaJqRqLVuwtJmm5qrmGQ%3D