Souvent, je vois des scripts commencer par une ligne de shebang qui utilise #!/usr/bin/env interpreter_name
pour n'importe quel interprète, avec la justification que différents systèmes peuvent avoir l'interpréteur dont ils ont besoin pour fonctionner installé à différents endroits. Par exemple, si je suppose qu'il python
est installé /usr/bin/python
alors un utilisateur qui a décidé de l'installer car /opt/python
pour une raison quelconque ne pourra pas l'utiliser aussi facilement.
Mais la question évidente est la suivante: existe-t-il une garantie qui env
sera installée à /usr/bin/env
(ou d'ailleurs à un endroit particulier), ou s'agit-il simplement de "déplacer le problème" pour ainsi dire?
Cette question légèrement liée a un commentaire qui dit que c'est une mauvaise idée et qu'il est préférable de l'installer avec le chemin réel de l'interpréteur et cite la spécification Unix unique mais ne répond pas vraiment à cette question.
python
perl
etc, vous n'avez plus qu'à traquerenv
, donc le même problème, mais une cible différente. Il semble que ceenv
soit beaucoup plus facile à trouver et évidemment beaucoup plus polyvalent, donc c'est toujours très favorable. Ce qui répond parfaitement à ma question. Je vous remercie!