This question already has an answer here:
- What does it mean to be “sh compatible”? 2 answers
For a long time I have been wondering about the existence of many shells in GNU/Linux. To make the question a bit focused I have used only three shells - bash, dash and zsh.
From wikipedia articles https://en.wikipedia.org/wiki/Almquist_shell , https://en.wikipedia.org/wiki/Z_shell , https://en.wikipedia.org/wiki/Comparison_of_command_shells and other sources arguably, the modern bash seems to be the father of all shells.
There doesn't seem to be any coherent story which shares how all the shells started at various parts of time. Can anybody help out here sharing the motivations of various developers at specific points of time and issue they were trying to solve?