Shebang'dan sonraki tabelada?


26

In Apache projenin "destek / apxs.in" komut ile çevrili bir metin @işaretleri sonra gelir #!. Bu, betiğin ilk satırı:

#!@perlbin@ -w

Bu bir Perl olayı mı yoksa UNIX bir çekirdek olayı mı? Başka bir deyişle, bu betiği kullanarak çalıştırmak mümkün path/to/script/script_name.inmü?

Eğer değilse, betiği a ile başlatmak için sebep #!nedir?


8
bunlar .indosyalar (yani şablonlar)
don_crissti

2
Bir yan not olarak, @Dosya adlarında gayet böylece eğer aradığınız bir yürütülebilir var @perlbin@kabul ettiği -wseçeneği ve bu dosyanın içeriğini yorumlamak daha sonra yapabiliyor evet o dosyayı çalıştırabilirsiniz.
Bakuriu

@Bakuriu: "Geçerli", evet. "İnce"? Şüpheli.
Monica ile

Yanıtlar:


47

Bu, bir configurekomut dosyası tarafından doldurulacak olan GNU Automake şablonundaki bir yer tutucuya benziyor . Yani bu bir Perl veya Unix çekirdeği meselesi değil, bir GNU autotools meselesi.

Muhtemelen, kaynak dağıtımdaki bir dosyadan, sistemde yüklü bir dosyadan make installveya bir paket yöneticisinden değil.

Alternatif olarak, hiçbir zaman perlbindoğru bir şekilde tanımlanmayan GNU otomatik araçlarına sahip kırılmış bir yapıdan gelir .

Dosyanın bir .insonekinin olması, tarafından işlenmesi gerektiğini doğrular configure.

Hayır, bu dosyayı olduğu gibi çalıştıramazsınız. Yer tutucu, perlçalıştırdığınızda yürütülebilir dosyaya uygun yolla değiştirilecektir configure.


Evet, sorudaki bağlantı bir kaynak kodu deposuna götürüyor.
Monica ile

@LightnessRacesinOrbit Biliyor musunuz, orada bir bağlantı olduğunu bile görmedim.
Kusalananda

1
Hehe olabileceğini düşündüm. Birkaç problemi çözen bir düzenleme önerdim, bu onlardan biriydi :)
Hafiflik Yarışları Monica ile

1
Unix.SE'nin stiliyle ilgili bir sorun gibi görünüyor - bağlantı rengi normal metin renginden çok farklı değil.
Barmar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.