No sinal depois de shebang?

25

Em o script "support / apxs.in" do projeto Apache httpd , um texto cercado com sinais @ vem depois de #! . Ou seja, a primeira linha do script é:

#!@perlbin@ -w

Isso é coisa do Perl ou do kernel do UNIX? Em outras palavras, é possível executar esse script usando path/to/script/script_name.in ?

Se não, então qual é o motivo para iniciar o script com um #! ?

    
por Utku 02.02.2017 / 19:48

1 resposta

47

Isto se parece com um espaço reservado em um modelo GNU Automake que será preenchido por um script configure . Então não é uma coisa do kernel Perl ou Unix, mas uma coisa de autotools do GNU.

Provavelmente é de um arquivo em uma distribuição de origem, não de um arquivo que foi instalado no sistema por meio de make install ou de um gerenciador de pacotes.

Alternativamente, é de uma construção quebrada com autotools GNU que nunca definiram perlbin corretamente.

O arquivo com um sufixo .in confirma que é suposto ser processado por configure .

Não, você não pode executar este arquivo como está. O espaço reservado será substituído pelo caminho correto para o executável perl quando você executar configure .

    
por 02.02.2017 / 20:01