シバン後のサイン?


26

Apacheのhttpdプロジェクトの「サポート/ apxs.in」スクリプトで囲まれたテキストの@兆候が後に来ます#!。つまり、スクリプトの最初の行は次のとおりです。

#!@perlbin@ -w

これはPerlのものですか、それともUNIXカーネルのものですか?つまり、path/to/script/script_name.in?を使用してこのスクリプトを実行することが可能です。

そうでない場合、スクリプトを開始する理由は何#!ですか?


8
これらは.inファイル(テンプレート)
don_crissti

2
注意点として、@ので、ファイル名で結構ですもしあなたが呼ばれる実行持って@perlbin@受け入れる-wオプションを、そのファイルの内容を解釈することができますが、その後、はいあなたは、そのファイルを実行することができます。
バクリウ

@Bakuriu:「有効」、はい。「ファイン」?疑わしい。
モニカとの軽さのレース

回答:


47

これは、configureスクリプトで埋められるGNU Automakeテンプレートのプレースホルダーのように見えます。したがって、これはPerlでもUnixカーネルでもなく、GNU autotoolsでもあります。

これはおそらく、ソースディストリビューションのファイルからのものであり、システムにインストールされたファイルmake installやパッケージマネージャーからのものではありません。

あるいは、perlbin適切に定義されていないGNU autotoolsを使用した壊れたビルドからのものです。

ファイルに.in接尾辞が付いていることは、によって処理されることになっていることを確認しconfigureます。

いいえ、このファイルをそのまま実行することはできません。プレースホルダーは、perl実行時に実行可能ファイルへの適切なパスに置き換えられますconfigure


ええ、質問のリンクはソースコードリポジトリにつながっています。
モニカとの軽さレース

@LightnessRacesinOrbit知ってますよ、そこにリンクがあることさえ知りませんでした。
クサラナナンダ

1
Hehe私はそれがそうだったかもしれないと思った。私はそれに関するいくつかの問題を修正する編集を提案しました、これはそれらの1つです:)
モニカとの軽さのレース

1
Unix.SEのスタイリングに問題があるようです。リンクの色は通常のテキストの色とあまり区別されていません。
バーマー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.