Shebang (Unix)

Shebang (Unix)

Shebang

Le shebang, représenté par #!, est un en-tête d'un fichier qui indique au système que ce fichier est un ensemble de commandes pour l'interpréteur indiqué, possiblement un mot-valise pour sharp-bang[1].

On trouve aussi d'autres dénominations : sha-bang, shabang, she-bang, hash-bang.

Techniquement, les caractères #! sont en fait un « nombre magique » (magic number), composé de deux octets, un marqueur spécial qui désigne un type de fichier, ou un script shell exécutable (la commande man magic donne plus de détails sur ce thème).

Tout de suite après le shebang se trouve un chemin (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

Le shebang est utilisé dans les fichiers texte de scripts dans les environnements de type UNIX (GNU/Linux, BSD, etc).

On peut utiliser le programme env au lieu d'un interpréteur de commandes pour chercher celui-ci dans le PATH (ce qui évite de devoir réécrire la première ligne des scripts si on doit les porter sur une autre machine par exemple) :

#!/usr/bin/env python

...mais le problème est que l'on risque de ne pas appeler la bonne version de l'interpréteur si plusieurs sont présentes sur la machine.

Notes et références

  1. (en) shebang
  • Portail de l’informatique Portail de l’informatique
Ce document provient de « Shebang ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Shebang (Unix) de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • Shebang (Unix) — In computing, a shebang (also called a hashbang, hashpling, or pound bang) refers to the characters #! when they are the first two characters in a script file. Unix like operating systems take the presence of these two characters as an indication …   Wikipedia

  • Shebang — is a slang term for the matter at hand, as in the phrase, the whole shebang . The word is also slang for a party, gathering or event, such as I m throwing a little shebang at the barn tonight . The word can also refer to:* Shebang (Unix), the #!… …   Wikipedia

  • Shebang — es, en la jerga de Unix, el nombre que recibe el par de caracteres #! que se encuentran al inicio de los programas ejecutables interpretados. A continuación de estos caracteres se indica la ruta completa al intérprete de las órdenes contenidas en …   Wikipedia Español

  • Shebang — Die Shebang Zeichen – hash bang Shebang (auch Magic Line) bezeichnet bei unixoiden Betriebssystemen die Zeichenkombination #! am Anfang eines Skriptprogramms. Die Markierung führt dazu, dass das folgende Kommando mitsamt allen angegebenen… …   Deutsch Wikipedia

  • Shebang — Le shebang, représenté par #!, est un en tête d un fichier qui indique au système que ce fichier est un ensemble de commandes pour l interpréteur indiqué, possiblement un mot valise pour sharp bang[1]. On trouve aussi d autres dénominations  …   Wikipédia en Français

  • Unix-Shell — Die Unix Shell oder kurz Shell (en. Hülle, Schale) bezeichnet die traditionelle Benutzerschnittstelle unter Unix oder unixoiden Computer Betriebssystemen. Der Benutzer kann in einer Eingabezeile Kommandos eintippen, die der Computer dann sogleich …   Deutsch Wikipedia

  • bash — У этого термина существуют и другие значения, см. Bash (значения). GNU Bourne Again SHell Типичная сессия в bash …   Википедия

  • Октоторп — # Октоторп Пунктуация апостроф (’ …   Википедия

  • Расширение имени файла — (англ. filename extension, часто говорят просто расширение файла или расширение)  последовательность символов, добавляемых к имени файла и предназначенных для идентификации типа (формата) файла. Это один из распространённых способов, с… …   Википедия

  • env — UNIX‐утилита, исполняющая команду с изменением окружения. Входит, например, в gettext от GNU. Содержание 1 Использование 2 Параметры запуска 3 Примеры …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”