2016-09-17 5 views
1

Ich fühle mich wie ein totaler Noob diese Frage zu stellen, aber ich frage mich, wie führt das Shebang in einem Programm (Ex: #!/usr/bin/env python) es ausführen?Wie führt der Shebang das Programm aus?

Ich weiß, dass die Datei von ausgeführt wird, aber wie läuft es mit dem richtigen Executor?

Wäre es dasselbe wie die Ausführung mit dem Befehl python? Wenn ja, wie leitet der Shebang es zum Befehl um?

+0

Die Shebang-Linie _specifies_ der richtige "Executor". So wird es gefunden (von [program loader] (https://en.wikipedia.org/wiki/Loader_%28computing%29)) –

+0

@SergioTullensev Wie wird die Datei von dort aus ausgeführt? Übergibt es den Dateinamen an das Programm? (Würde es "Dateiname" an "Python" übergeben?) Oder ist es wie ein symbolischer Link, der auf das eigentliche Python-Programm zeigt? – baranskistad

+1

Man schließt das andere nicht aus :) Sie können sich '/ usr/bin/env python' als" Symlink "zum aktuell installierten Python vorstellen, ja. –

Antwort

0

Sergio Beantwortet:

Die shebang Linie das Recht "Vollstrecker" angibt. So wird es gefunden (von der program loader).

Verwandte Themen