Files
mkdocs/docs/macos/terminal/shebang.md
2020-01-25 06:47:22 +01:00

16 lines
854 B
Markdown

# shebang
Le shebang `#!/usr/bin/perl` indique à Bash (ou zsh...) que le script est en Perl et que l'exécutable se trouve à /usr/bin/perl
On pourrait avoir un autre shebang comme `#!/opt/perl-5.18.2/bin/perl` pour une autre version de Perl.
Avec un shebang et le bit exécutable, le script lancé par `./myscript.pl` ou `myscript.pl` est exécuté avec la
version de Perl indiquée dans le shebang.
Si il est lancé par `perl myscript.pl`, il est exécuté par la 1ere version de Perl trouvée dans $PATH (qui peut être différent de celle du shebang)
On peut aussi utiliser un shebang comme `#!/usr/bin/env perl`
Dans ce cas, Bash commence par exécuter la commande `env` avec l'argument env pour trouver la 1ere version de Perl dans le PATH. C'est cette version qui sera dans tous les cas (`./myscript.pl` ou `perl myscript.pl`) utilisée.