É permitido espaço entre #! e / bin / bash em shebang?


Respostas:


48

Sim, isso é permitido.

O artigo da Wikipedia sobre o shebang inclui um email de 1980 de Dennis Ritchie, quando ele estava introduzindo o suporte ao kernel para o shebang (como parte de um pacote mais amplo chamado diretivas de intérpretes ) na Versão 8 Unix (ênfase minha):

O sistema foi alterado para que, se um arquivo sendo executado comece com os caracteres mágicos #!, o restante da linha seja entendido como o nome de um intérprete para o arquivo executado. [...]

Para aproveitar essa maravilhosa oportunidade, coloque

#! /bin/sh

na margem esquerda da primeira linha de seus scripts de shell. Os espaços em branco depois !estão OK.

Portanto, os espaços após o shebang já existem há um bom tempo e, de fato, o exemplo de Dennis Ritchie está usando-os.

Observe que as versões anteriores do Unix tinham um limite de 16 caracteres nessa linha de intérpretes, então você não podia ter uma quantidade arbitrária de espaço em branco lá. Essa restrição não se aplica mais aos kernels modernos.


38

Sim, espaços em branco são permitidos após o #!. Havia até um pensamento (equivocado) de que alguns sistemas poderiam exigir isso, mas sempre foi opcional.

Para ler mais, tente aqui

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.