Quand j'utilise le shebang #!/usr/bin/env python pour exécuter un script, comment le système sait-il quel python utiliser? si je cherche un python chemin bin dans les variables d'environnement je ne trouve rien.
env | grep -i python
Réponse acceptée :
Le shebang attend un chemin complet vers l'interpréteur à utiliser, donc la syntaxe suivante serait incorrecte :
#!python
La définition d'un chemin complet comme celui-ci peut fonctionner :
#!/usr/local/bin/python
mais ne serait pas portable car python pourrait être installé dans /bin , /opt/python/bin , ou n'importe où ailleurs.
Utilisation de env
#!/usr/bin/env python
est une méthode permettant de manière portable de spécifier à l'OS un chemin complet équivalent à celui où python est d'abord situé dans le PATH .