O Bourne Shell ( sh no passado) do ramo AT&T do Unix foi aprimorado e substituído pelo Korn Shell, ksh . O ksh também saiu do AT&T Bell Labs e não era da GPL (a versão atual é a Licença Pública do Eclipse). O C-shell, csh , saiu da versão Berkeley do Unix e também não era GPL (licença BSD) e também usava sintaxe diferente da sh. O Z-shell, zsh é uma melhoria no sh, mas não no GPL (licença semelhante ao MIT). O Bash foi uma melhoria no sh, usou a GPL e o GNU. Apenas com a licença Bash provavelmente teria sido a escolha para um sistema operacional GPL. Particularmente com uma concha sendo uma parte essencial de uma distribuição.
Mas o Bash também era um projeto GNU, dando a ele, acho, um desenvolvimento mais ativo e facilitando as contribuições do que um produto herdado do Berkeley Unix ou da AT&T Unix. Pode-se argumentar muito bem que o zsh é e tem sido um shell melhor que o Bash, mas não o suficiente para superar sua licença diferente e o status do projeto não-GNU.
Quando as distros do Linux apareceram pela primeira vez e escolheram seu shell padrão (no início dos anos 90), não havia github (2008) ou mesmo um SourceForge (1999). Nesse ponto, acho que os projetos GNU tinham uma vantagem real sobre os projetos não-GNU em serem notados, desenhar e incluir novos desenvolvedores. Portanto, as distros podem considerar o Z-shell melhor, mas também esperam que o Bash receba um bom suporte e manutenção daqui para frente e também tenham mais recursos adicionados a ele, permitindo que ele atinja o zsh.
Agora que o Bash tem anos de status padrão, tornou-se um padrão defacto, com livros escritos sobre isso. Há um livro que cobre o Bash e o Z-shell , mas nenhum livro que o cobre exclusivamente, enquanto há vários que o fazem para o Bash.
E, nesse ponto, se as distros alterassem o padrão para atualizações de um sistema existente, as configurações seriam interrompidas, pois alguns arquivos de inicialização têm nomes diferentes (por exemplo, .bashrc versus .zshrc) e o conteúdo dos arquivos pode ter sintaxe incompatível. Portanto, eles ficariam muito relutantes em fazer isso, deixando novos downloads com o zsh como padrão e as atualizações com o bash. Dois padrões diferentes para a mesma distribuição são algo que eles provavelmente não querem ter suporte e os usuários / empresas também não querem lidar com isso.
ksh
, também é verdade que a maioria das pessoas usa um shell diferente, e isso por si só explicaria por queksh
não é o shell padrão. No entanto, acho que não é esse o motivo, vamos aguardar uma resposta matadora que tenho certeza de que essa pergunta receberá.