Wenn ich den Shebang #!/usr/bin/env python
verwende Um ein Skript auszuführen, woher weiß das System, welcher python
benutzen? wenn ich nach einem python
suche bin Pfad in den Umgebungsvariablen finde ich nichts.
env | grep -i python
Akzeptierte Antwort:
Der Shebang erwartet einen vollständigen Pfad zum zu verwendenden Interpreter, daher wäre die folgende Syntax falsch:
#!python
Das Festlegen eines vollständigen Pfads wie folgt könnte funktionieren:
#!/usr/local/bin/python
wäre aber nicht portierbar, da Python in /bin
installiert werden könnte , /opt/python/bin
, oder an einem anderen Ort.
Verwenden von env
#!/usr/bin/env python
ist eine Methode, die es ermöglicht, dem Betriebssystem auf tragbare Weise einen vollständigen Pfad anzugeben, der dem entspricht, in dem python
steht zunächst im PATH
.