Když používám shebang #!/usr/bin/env python
pro spuštění skriptu, jak systém pozná, který python
použít? pokud hledám python
cestu bin v proměnných prostředí nenacházím nic.
env | grep -i python
Přijatá odpověď:
Shebang očekává úplnou cestu k interpretu, který se má použít, takže následující syntaxe by byla nesprávná:
#!python
Nastavení úplné cesty může fungovat takto:
#!/usr/local/bin/python
ale nebylo by přenosné, protože python by mohl být nainstalován v /bin
, /opt/python/bin
nebo kdekoli jinde.
Pomocí env
#!/usr/bin/env python
je metoda umožňující přenosným způsobem specifikovat OS úplnou cestu ekvivalentní té, kde python
je nejprve umístěn v PATH
.