W skrypcie „support / apxs.in” projektu httpd Apache pojawia się tekst otoczony @
znakami #!
. Oznacza to, że pierwszy wiersz skryptu to:
#!@perlbin@ -w
Czy to jest sprawa Perla czy jądra UNIXa? Innymi słowy, można wykonać ten skrypt za pomocą path/to/script/script_name.in
?
Jeśli nie, to jaki jest powód uruchomienia skryptu z #!
?
.in
pliki (tzn. szablony)@
jest dobry w nazwach plików, więc jeśli masz plik wykonywalny o nazwie,@perlbin@
który akceptuje-w
opcję i jest w stanie interpretować zawartość tego pliku, to tak , możesz uruchomić ten plik.Odpowiedzi:
To wygląda jak symbol zastępczy w szablonie GNU Automake, który zostanie wypełniony przez
configure
skrypt. Więc nie jest to ani jądro Perla, ani Uniksa, ale narzędzie do autotoolingu GNU.Prawdopodobnie pochodzi z pliku w dystrybucji źródłowej, a nie z pliku zainstalowanego w systemie za pośrednictwem
make install
menedżera pakietów.Alternatywnie, pochodzi z uszkodzonej wersji z autotoolami GNU, które nigdy nie zostały
perlbin
poprawnie zdefiniowane .To, że plik ma
.in
sufiks, potwierdza, że ma zostać przetworzony przezconfigure
.Nie, nie można wykonać tego pliku w obecnej postaci. Symbol zastępczy zostanie zastąpiony odpowiednią ścieżką do
perl
pliku wykonywalnego podczas uruchamianiaconfigure
.źródło