It is widely used and quite popular for its interactive facilities. The working group invented and standardized functionality in these areas, which Bash implements. There exist multiple incompatible implementations of the test builtin, which tests files for type and other attributes and performs arithmetic and string comparisons. There are a number of minor differences between Bash and the version of sh present on most other versions of Unix. The Bourne shell does not have such features as brace expansion, the ability to have a variable and a function with the same name, local variables in shell functions, the ability to enable and disable individual builtins or write a function to replace a builtin, or a means to export a shell function to a child process.
Bash provides a much more powerful environment for both interactive use and programming.
This section details a few of the features which make Bash unique. Most of them provide improved interactive use, but a few programming improvements are present as well. Full descriptions of these features can be found in the Bash documentation. Startup Files Bash executes startup files differently than other shells. Ease of use won out here.