Dans le script "support / apxs.in" du projet Apache httpd , un texte entouré de @
signes vient après #!
. Autrement dit, la première ligne du script est:
#!@perlbin@ -w
Est-ce une chose Perl ou une chose noyau UNIX? En d'autres termes, est-il possible d'exécuter ce script en utilisant path/to/script/script_name.in
?
Sinon, quelle est la raison de commencer le script avec un #!
?
.in
fichiers (c'est-à-dire des modèles)@
convient aux noms de fichiers, donc si vous avez un exécutable appelé@perlbin@
qui accepte l'-w
option et est capable d'interpréter le contenu de ce fichier, alors oui, vous pouvez exécuter ce fichier.Réponses:
Cela ressemble à un espace réservé dans un modèle GNU Automake qui va être rempli par un
configure
script. Ce n'est donc ni un noyau Perl ni Unix, mais un outil GNU autotools.Il s'agit probablement d'un fichier dans une distribution source, et non d'un fichier qui a été installé sur le système via
make install
ou un gestionnaire de packages.Alternativement, il s'agit d'une construction cassée avec des outils automatiques GNU qui n'ont jamais été définis
perlbin
correctement.Le fait que le fichier ait un
.in
suffixe confirme qu'il est censé être traité parconfigure
.Non, vous ne pouvez pas exécuter ce fichier tel quel. L'espace réservé sera remplacé par le chemin d'accès approprié à l'
perl
exécutable lorsque vous exécutezconfigure
.la source