En el script "support / apxs.in" del proyecto Apache httpd , aparece un texto rodeado de @
signos #!
. Es decir, la primera línea del guión es:
#!@perlbin@ -w
¿Es esto una cosa de Perl o de UNIX? En otras palabras, ¿es posible ejecutar este script usando path/to/script/script_name.in
?
Si no, ¿cuál es la razón para comenzar el script con un #!
?
.in
archivos (es decir, plantillas)@
está bien en los nombres de archivo, por lo que si tiene un ejecutable llamado@perlbin@
que acepta la-w
opción y puede interpretar el contenido de ese archivo, sí , puede ejecutar ese archivo.Respuestas:
Esto se ve como un marcador de posición en una plantilla de GNU Automake que se completará con un
configure
script. Por lo tanto, no es una cuestión de kernel de Perl o Unix, sino una cuestión de herramientas automáticas GNU.Probablemente sea de un archivo en una distribución de origen, no de un archivo que se instaló en el sistema a través de
make install
un administrador de paquetes.Alternativamente, es de una compilación rota con herramientas automáticas GNU que nunca se definieron
perlbin
correctamente.El hecho de que el archivo tenga un
.in
sufijo confirma que se supone que debe procesarloconfigure
.No, no puede ejecutar este archivo tal como está. El marcador de posición se reemplazará con la ruta adecuada al
perl
ejecutable cuando ejecuteconfigure
.fuente