Shebang Bash a expliqué avec des exemples

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

Dans ce guide, consultez ce qu'est Shebang Bash et comment l'utiliser.

Shebang Bash:

Dans Bash Scripting, Shebang est un moyen de déclarer quel interprète le système d'exploitation utilisera pour analyser le reste du fichier. Le shebang est caractérisé par l'ensemble des personnages "# #!" (sans citations).

Voici une ventilation rapide de la directive d'interprète Shebang.

#! [arguments]

Par exemple, si un script doit être analysé à l'aide du Shell Bash, alors la directive d'interprète Shebang ressemblerait à ceci.

#!/ bac / bash

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

  • Ce doit être la première ligne du script.
  • Il doit commencer par un shebang (#!).
  • Il peut y avoir ou non un espace après le shebang (# #!).
  • L'interprète 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ète Shebang les plus courantes.

  • #!/ bin / bash: le script sera analysé en utilisant frapper.
  • #!/ usr / bin / python: le script sera analysé en utilisant le python binaire.
  • #!/ usr / bin / env perl: le script sera analysé en utilisant le perler exécutable. L'emplacement du perler exécutable sera fourni par le env commande.

Utilisation de Shebang Bash:

Les scripts ne peuvent pas avoir de bash de shebang. Un tel script sera analysé en utilisant l'interprète par défaut. Par exemple, Bash est l'interprète par défaut pour Bash et Sh pour Zsh. Alors que la plupart des systèmes UNIX / Linux ont le bash par défaut, les utilisateurs ont des options pour 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. Le premier consiste à déclarer le chemin du fichier vers l'exécutable.

#!/ bac / bash

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

#!/ usr / bin / env bash

L'avantage de l'utilisation du SEV est, il recherchera l'exécutable dans le cadre de la variable d'environnement $ Path de l'utilisateur actuel. Dans cet exemple, Env cherchera 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 d'interprète Shebang ressemblerait à ceci.

#!/ bin / bash -x

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

#!/ usr / bin / env bash
$ set -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:

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

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

$ chmod + xx

Exécutez le script:

$ ./ //

Pas très difficile, à droite? Maintenant, essayons d'utiliser les différentes expressions Shebang bash. Essayez ceux donnés ci-dessous:

$ #!/ usr / bin / env bash
$ set -x
$ echo "hello_world_bash_debug"

Superposant le bash de Shebang:

Alors que le Shebang Bash définit l'interprète à utiliser, dans certaines situations, vous voudrez peut-être utiliser un interprète différent. Il est possible de remplacer l'interpréteur défini par le script en spécifiant explicitement l'interprète au shell.

Par exemple, jetez un œil au script suivant:

$ #!/ bac / sh
$ echo "hello_world_sh"

Par défaut, il serait exécuté en utilisant shot. Pour l'exécuter à l'aide de bash, utilisez la méthode suivante:

$

Notez que pour les cas d'utilisation normaux en utilisant la valeur par défaut shot ou frapper L'interprète est assez bon et le remplacement n'est pas pertinent.

Dernières pensées:

Shebang Bash est un concept très simple. Pour les scripts bash, il est très important de le comprendre et de l'implémenter.

Intéressé plus sur les scripts de bash? Consultez ce guide de débutant sur la façon d'écrire un simple script bash.

Happy Computing!