Le shebang, représenté par #!, est un en-tête d’un fichier texte qui indique au système d’exploitation (de type Unix) que ce fichier n’est pas un fichier binaire mais un script (ensemble de commandes) ; sur la même ligne est précisé l’interpréteur permettant d’exécuter ce script.
Son nom est possiblement un mot-valise pour sharp (dièse, désignant ici improprement le croisillon, #) et bang (désignant le point d’exclamation, !)1. On trouve aussi d’autres dénominations : sha-bang, shabang, she-bang, hash-bang.
Tout de suite après le shebang se trouve un chemin d’accès (exemple : #!/bin/bash
). C’est le chemin vers le programme qui interprète les commandes de ce script, qu’il soit un shell, un langage de script, un langage de programmation ou un utilitaire. On peut le faire suivre des options qu’il reconnaît (par exemple -x pour un shell pour afficher le détail de son exécution). Ensuite, cet interpréteur de commandes exécute les commandes du script, en commençant au début (ligne 1), en ignorant les commentaires.
Exemples de shebang :
#!/bin/sh -x #!/bin/bash #!/usr/bin/perl #!/usr/bin/tcl #!/bin/sed -f #!/usr/awk -f #!/usr/bin/python -O — Execute using Python with optimizations to code
Le shebang est utilisé dans les fichiers texte de scripts dans les environnements de type Unix (GNU/Linux, BSD, etc.).
Source: https://fr.wikipedia.org/wiki/Shebang