Dalam skrip "support / apxs.in" proyek Apache httpd , sebuah teks yang dikelilingi dengan @
tanda muncul setelahnya #!
. Artinya, baris pertama skrip adalah:
#!@perlbin@ -w
Apakah ini hal Perl atau kernel UNIX? Dengan kata lain, apakah mungkin untuk mengeksekusi skrip ini menggunakan path/to/script/script_name.in
?
Jika tidak, lalu apa alasan untuk memulai skrip dengan #!
?
.in
file (yaitu templat)@
tidak masalah dalam nama file jadi jika Anda memiliki panggilan yang dapat dieksekusi@perlbin@
yang menerima-w
opsi dan dapat menafsirkan isi file itu, maka ya Anda dapat menjalankan file itu.Jawaban:
Ini terlihat seperti placeholder dalam templat GNU Automake yang akan diisi oleh
configure
skrip. Jadi ini bukan kernel Perl atau Unix, tapi GNU autotools.Mungkin dari file dalam distribusi sumber, bukan dari file yang diinstal pada sistem melalui
make install
atau manajer paket.Atau, itu berasal dari bangunan yang rusak dengan autotool GNU yang tidak pernah didefinisikan
perlbin
dengan benar.Bahwa file tersebut memiliki
.in
akhiran menegaskan bahwa itu seharusnya diproses olehconfigure
.Tidak, Anda tidak dapat menjalankan file ini apa adanya. Placeholder akan diganti dengan jalur yang tepat ke
perl
executable ketika Anda menjalankanconfigure
.sumber