Shell Scripting - Introduction & Shebang
Inhaltsverzeichnis:
- Shebang-Dolmetscher-Richtlinie
- Verwendung von Shebang in Bash-Skripten
- Beispielskript
- Den Shebang überschreiben
- Fazit
Diese Zeichenfolge (
#!
) Heißt shebang und teilt dem Betriebssystem mit, mit welchem Interpreter der Rest der Datei analysiert werden soll.
Shebang-Dolmetscher-Richtlinie
Die Shebang-Interpreter-Direktive hat folgende Form:
#!interpreter
- Die Direktive muss die erste Zeile im Skript sein. Die Direktive muss mit shebang
#!Leerzeichen nach den shebang-Zeichen sind optional. Interpreter ist der vollständige Pfad zu einer Binärdatei (z. B./bin/sh,/bin/bash). Interpreter-Argumente sind optional.
Beispiele:
-
#!/bin/bash- Verwendetbashzum Parsen der Datei.#!/usr/bin/env perl- Verwendet den Befehlenv, um den Pfad zur ausführbarenperlDatei zu ermitteln.#!/usr/bin/pythonFührt die Datei mit derpythonBinärdatei aus.
Verwendung von Shebang in Bash-Skripten
Wenn kein shebang angegeben ist und der Benutzer, der das Bash-Skript ausführt, eine andere Shell verwendet, wird das Skript von dem Standardinterpreter analysiert, der von dieser Shell verwendet wird. Der Standardinterpreter für
bash
ist beispielsweise
bash
und für
zsh
ist
sh
. Um sicherzustellen, dass Ihr Skript immer mit Bash interpretiert wird, müssen Sie den ausführbaren Pfad mit shebang angeben.
Es gibt zwei Möglichkeiten, die Shebang-Direktive zu verwenden und den Interpreter festzulegen.
-
Verwenden des absoluten Pfads zur Bash-Binärdatei:
#!/bin/bashVerwenden des Dienstprogramms
env:#!/usr/bin/env bash
Der Vorteil des zweiten Ansatzes besteht darin, dass nach der ausführbaren
bash
Datei in der Umgebungsvariablen
$PATH
des Benutzers gesucht wird. Wenn mehr als ein Pfad zum
bash
, wird der erste vom Skript verwendet.
Wenn Sie mit der ersten Option eine Option zum Bash-Shell-Angebot hinzufügen, übergeben Sie diese an den Interpreter. Um das Skript beispielsweise in einem Debug-Modus auszuführen, verwenden Sie
#!/bin/bash -x
. Wenn Sie die
env
Methode verwenden, müssen Sie
set
, um die Option zu deklarieren. Um den Debug-Modus zu aktivieren, fügen Sie nach der shebang-Zeile
set -x
hinzu.
Beispielskript
Lassen Sie uns mit shebang ein einfaches Skript erstellen, das "Hello, World" ausgibt. Öffne deinen Texteditor und füge die folgende Zeile ein:
nano hello_world
Hallo Welt
#!/bin/bash echo "Hello, World"
Um das Skript ohne Angabe des Interpreters über die Befehlszeile ausführen zu können, müssen Sie die Datei ausführbar machen:
chmod +x hello_world
Wenn Sie das Skript jetzt ausführen können, indem Sie
./
gefolgt vom
./
eingeben:
./hello_world
Den Shebang überschreiben
Wenn Sie aus irgendeinem Grund den in der Shebang-Zeile festgelegten Interpreter überschreiben möchten, müssen Sie das Skript ausführen, indem Sie die gewünschte Shell explizit angeben.
Wenn Sie beispielsweise ein Skript ausführen möchten, für das in der Shebang-Zeile
#!/bin/sh
angegeben ist, verwenden Sie die
bash
Shell, die Sie
bash
würden:
bash hello_world
Bitte beachten Sie, dass es keine gute Idee ist, den Shell-Interpreter zu überschreiben, da dies zu einem unerwarteten Verhalten des Skripts führen kann.
Fazit
Inzwischen sollten Sie ein gutes Verständnis dafür haben, was Shebang ist und wie Sie es in Ihren Bash-Skripten verwenden können.
Bash-TerminalMicrosoft Research Asia veranstaltet Gates zum 10-Jahres-Bash
Microsoft Research Asia ist von einem Dutzend Personen 1998 auf über 350 ein Jahrzehnt später gewachsen.
Ausführen von Bash unter Ubuntu unter Windows 10
Wenn Sie Windows Subsystem für Linux aktivieren, können Sie Bash unter Ubuntu in Bash-Skripten von Windows 10 ausführen , Linux-Kommandozeilen-Tools, Linux-First-Tools.
Bash-Arrays
Arrays sind eine der am häufigsten verwendeten und grundlegendsten Datenstrukturen. In diesem Artikel werden die Bash-Arrays behandelt und erläutert, wie Sie sie in Ihren Bash-Skripten verwenden.







