Ich habe gerade einige Test-Python-Codes geschrieben test.py
und starte sie wie folgt:
perl test.py
Nach einer Weile erkannte ich meinen Fehler. Ich sage "nach einer Weile", weil der Python-Code tatsächlich korrekt ausgeführt wird, wie im Python-Interpreter!
Warum interpretiert mein Perl mein Python? test.py
sieht aus wie das:
#!/usr/bin/python
...Python code here...
Interessanterweise python something.pl
bekomme ich viele Syntaxfehler , wenn ich das Gegenteil mache (dh aufrufe ).
#!
am Anfang der Datei. In der Tat, wenn ich den Knall entferne, bekomme ich das erwartete Verhalten. Ist das aus Sicherheitsgründen überhaupt keine schlechte Idee?Antworten:
Von Perlrun ,
Beispielsweise,
quelle
#! /usr/bin/env foo
.indir
war ein Programm, das entwickelt wurde, um andere Programme indirekt auszuführen. Ich erinnere mich, dass es besonders in bestimmten Situationen nützlich sein sollte, in denen das Betriebssystem nicht nativ bereitstellte Sie helfen viel und / oder vielleicht in Situationen, in denen der Betriebssystemkern Sie auf 32 Zeichenbefehlszeilen beschränkt hat. "