BASH-Programmierung

Shebang Bash mit Beispielen erklärt

Shebang Bash mit Beispielen erklärt
Bash ist ein Dolmetscher für Kommandosprachen. Viele Betriebssysteme verwenden bash als Standardbefehlsinterpreter, insbesondere die meisten GNU/Linux-Systeme. Bash-Scripting ist eine Methode zur Automatisierung einer Reihe von Befehlen, die sonst interaktiv einzeln ausgeführt werden würden.

In dieser Anleitung erfährst du, was Shebang Bash ist und wie man es benutzt.

Shebang-Bash:

Beim Bash-Skripting ist Shebang eine Möglichkeit, zu deklarieren, welchen Interpreter das Betriebssystem verwendet, um den Rest der Datei zu analysieren. Der Shebang zeichnet sich durch die Zeichenfolge „#!“ (ohne Anführungszeichen).

Hier ist eine kurze Aufschlüsselung der Shebang-Interpreter-Direktive.

#! [Argumente]

Wenn zum Beispiel ein Skript mit der Bash-Shell geparst werden soll, dann sieht die Shebang-Interpreter-Direktive so aus.

#!/bin/bash

Die Shebang-Interpreter-Direktive hat bestimmte Eigenschaften.

  • Es muss die erste Zeile des Skripts sein.
  • Es muss mit einem Shebang beginnen (#!).
  • Nach dem Shebang kann es Leerzeichen geben oder auch nicht (#!).
  • Der Interpreter ist der vollständige Pfad zu einer Binärdatei.
  • Es kann Dolmetscherargumente geben oder auch nicht.

Hier ist eine Auswahlliste einiger der gebräuchlichsten Shebang-Interpreter-Anweisungen.

  • #!/bin/bash: Das Skript wird geparst mit bash.
  • #!/usr/bin/python: Das Skript wird mit dem Python binär.
  • #!/usr/bin/env perl: Das Skript wird mit dem perl ausführbar. Der Standort des perl ausführbare Datei wird von der bereitgestellt env Befehl.

Verwenden von Shebang Bash:

Skripte können keinen Shebang-Bash haben. Jedes solche Skript wird mit dem Standardinterpreter geparst. bash ist beispielsweise der Standardinterpreter für bash und sh für zsh. Während die meisten UNIX/Linux-Systeme standardmäßig Bash verwenden, haben Benutzer die Möglichkeit, andere zu verwenden. In einem solchen Szenario kann das Skript, ohne den Interpreter anzugeben, seine bevorzugte Aufgabe möglicherweise nicht ausführen.

Es gibt zwei Methoden, die Shebang-Direktive zu verwenden, um den Interpreter zu deklarieren. Die erste besteht darin, den Dateipfad zur ausführbaren Datei anzugeben.

#!/bin/bash

Eine andere Methode ist die Verwendung der env Dienstprogramm, um die ausführbare Datei zu finden.

#!/usr/bin/env bash

Der Vorteil der Verwendung des env-Dienstprogramms besteht darin, dass es unter der Umgebungsvariablen $PATH des aktuellen Benutzers nach der ausführbaren Datei sucht. In diesem Beispiel sucht env nach der bash. Wenn mehr als eine ausführbare Bash-Datei in der Variablen $PATH deklariert ist, wird die erste verwendet.

Wie bereits erwähnt, unterstützt Shebang bash auch ausführbare Argumente. Um bash beispielsweise mit dem Debug-Modus zu verwenden, würde die Shebang-Interpreter-Direktive so aussehen.

#!/bin/bash -x

Wenn es um die Verwendung geht env für die Shebang-Bash erfordert das Hinzufügen eines ausführbaren Arguments die Verwendung der Option „set“. Im Folgenden wird beispielsweise die Bash mit aktiviertem Debug-Modus verwendet.

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

Skriptbeispiel:

Wir haben die Grundlagen von Shebang Bash besprochen. Es ist Zeit, es in die Tat umzusetzen. Werfen wir einen Blick auf die Implementierung von Shebang bash.

Starten Sie den Texteditor Ihrer Wahl und geben Sie das folgende Skript ein:

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

Speicher die Datei. Um das Skript auszuführen, muss es als ausführbar markiert werden. Führen Sie den folgenden Befehl aus:

$ chmod +xx