Eu tenho algumas perguntas sobre o número mágico #!
, o shebang.
Eu li que foi introduzido por Dennis Ritchie nos anos 70 como uma maneira de ver um script como um arquivo executável.
Eu não entendo porque foi introduzido. O que o levou a apresentá-lo? O que ele gosta?
A segunda coisa que não entendo é: por que preciso declarar o script como um executável? Quero dizer, por que eu tenho que fazer chmod +x myscript
?
Acho que da seguinte maneira, uma vez que eu coloquei a string #! myinterpter
então quando eu vou fazer ./myscript
o SO vai pegar esse arquivo, ele vai ver que ele contém o shebang e então ele vai chamar o intérprete apropriado. Então, por que preciso usar chmod +x
? Por que o sistema operacional (unix, linux) precisa de mim para tornar meu script executável?
Tags executable shebang