Programmation BASH

Shebang Bash expliqué avec des exemples

Shebang Bash expliqué avec des exemples
Bash est un interpréteur de langage de commande. De nombreux systèmes d'exploitation intègrent bash comme interpréteur de commandes par défaut, en particulier la plupart des systèmes GNU/Linux. Les scripts Bash sont une méthode d'automatisation d'un ensemble de commandes qui seraient autrement exécutées de manière interactive une par une.

Dans ce guide, découvrez ce qu'est le shebang bash et comment l'utiliser.

Shebang Bash :

Dans les scripts bash, Shebang est un moyen de déclarer quel interpréteur le système d'exploitation utilisera pour analyser le reste du fichier. Le Shebang se caractérise par le jeu de caractères « #!" (sans citations).

Voici un aperçu rapide de la directive sur les interprètes Shebang.

#! [arguments]

Par exemple, si un script doit être analysé à l'aide du shell Bash, la directive de l'interpréteur Shebang ressemblera à ceci.

#!/bin/bash

La directive d'interprétation Shebang a certaines propriétés.

  • Ce doit être la première ligne du script.
  • Cela doit commencer par un shebang (#!).
  • Il peut y avoir ou non des espaces après le shebang (#!).
  • L'interpréteur sera le chemin complet vers un fichier binaire.
  • Il peut y avoir ou non des arguments d'interprète.

Voici une liste restreinte de certaines des directives d'interprétation Shebang les plus courantes.

  • #!/bin/bash : le script sera analysé en utilisant frapper.
  • #!/usr/bin/python : le script sera analysé à l'aide du python binaire.
  • #!/usr/bin/env perl : Le script sera analysé en utilisant le perl exécutable. L'emplacement de la perl exécutable sera fourni par le env commander.

Utilisation de Shebang Bash :

Les scripts ne peuvent pas avoir de bash Shebang. Tout script de ce type sera analysé à l'aide de l'interpréteur par défaut. Par exemple, bash est l'interpréteur par défaut pour bash et sh pour zsh. Alors que la plupart des systèmes UNIX/Linux ont bash par défaut, les utilisateurs ont la possibilité d'en utiliser d'autres. Dans un tel scénario, sans déclarer l'interprète, le script peut ne pas effectuer sa tâche préférée.

Il existe deux méthodes d'utilisation de la directive Shebang pour déclarer l'interprète. La première consiste à déclarer le chemin du fichier vers l'exécutable.

#!/bin/bash

Une autre méthode consiste à utiliser le env utilitaire pour localiser l'exécutable.

#!/usr/bin/env bash

L'avantage d'utiliser l'utilitaire env est qu'il recherchera l'exécutable sous la variable d'environnement $PATH de l'utilisateur actuel. Dans cet exemple, env recherchera le bash. S'il y a plus d'un exécutable bash déclaré dans la variable $PATH, alors le premier sera utilisé.

Comme mentionné, Shebang bash prend également en charge les arguments exécutables. Par exemple, pour utiliser bash avec le mode de débogage, la directive de l'interpréteur Shebang ressemblerait à ceci.

#!/bin/bash -x

Lorsqu'il s'agit d'utiliser env pour le bash Shebang, l'ajout d'un argument exécutable nécessite l'utilisation de l'option « set ». Par exemple, le suivant utilisera bash avec le mode débogage activé.

#!/usr/bin/env bash
$ ensemble -x

Exemple de script :

Nous avons discuté des bases de Shebang bash. Il est temps de le mettre en pratique. Jetons un coup d'œil à la mise en œuvre de Shebang bash.

Lancez l'éditeur de texte de votre choix et tapez le script suivant :

$ #!/bin/sh
$ echo "hello_world_bash"

Enregistrer le fichier. Pour exécuter le script, il doit être marqué comme exécutable. Exécutez la commande suivante :

$ chmod +xx