Parce que les interprètes tels que zsh, bash, Python, perl peuvent être situés à différents endroits du système de fichiers, les scripts ont souvent un shebang qui utilise env
pour la portabilité, par exemple #!/usr/bin/env zsh
. Cependant, comme http://en.wikipedia.org/wiki/Shebang_(Unix)#Portabilité explique, de nombreux systèmes, y compris Linux, ne permettent pas de passer des arguments à l'interpréteur.
Souvent, j'aimerais faire quelque chose comme #!/usr/bin/env zsh -f
pour éviter que mon script ne lise jamais mon ~/.zshenv
ou je voudrais faire #!/usr/bin/env perl -w
etc. Cela fonctionne sous OS X, mais pas sous Linux.
Quelle est la solution de contournement pour cela ? Puis-je avoir le meilleur des deux mondes : portabilité et arguments pour l'interprète ? Si possible, donnez une solution de contournement générale qui fonctionne pour tous les interpréteurs, pas seulement zsh.