Embora o seu projeto possa agora consistir apenas de 50 scripts Bash, mais cedo ou mais tarde ele começará a acumular scripts escritos em outras linguagens, como Perl ou Python (para os benefícios que essas linguagens de script têm que o Bash não possui).
Sem uma linha #!
adequada em cada script, seria extremamente difícil usar os vários scripts sem também saber qual interpretador usar. Não importa se cada script é executado de outros scripts , isso apenas move a dificuldade dos usuários finais para os desenvolvedores. Nenhum desses dois grupos de pessoas precisa saber em que idioma um script foi escrito para poder usá-lo.
Shell scripts executados sem uma #!
-line e sem um interpretador explícito são executados de diferentes maneiras, dependendo do shell que os invoca (ver, por exemplo, a pergunta Qual interpretador de shell executa um script sem shebang? e especialmente A resposta de Stéphane ), que não é o que você quer em um ambiente de produção (você quer um comportamento consistente e possivelmente até portabilidade).
Os scripts executados com um interpretador explícito serão executados por esse interpretador, independentemente do que a linha #!
diz. Isso causará problemas mais adiante se você decidir reimplementar, digamos, um script Bash em Python ou qualquer outro idioma.
Você deve gastar essas teclas extras e sempre adicionar uma #!
-line a cada script.
Em alguns ambientes, existem textos jurídicos com vários parágrafos em cada script em cada projeto. Fique muito feliz por ser apenas uma #!
-line que parece "redundante" em seu projeto.