Entdecken Sie die Grundlagen der Bash Script erstellung und erfahren Sie, wie Sie ein Bash Script schreiben.
Eine Shell ist eine Art Computerprogramm, das eine Schnittstelle zum Betriebssystem darstellt. Der Name Shell leitet sich von der Tatsache ab, dass es sich um die äußerste Schicht des Betriebssystems handelt.
Um die Interaktion zwischen Benutzern und Betriebssystem zu verwalten, fordert die Shell eine Eingabe an und interpretiert diese Eingabe dann für das Betriebssystem, bevor sie die empfangenen Ausgaben verarbeitet. Diese Eingabe kann über eine Befehlszeilenschnittstelle (CLI) oder eine grafische Benutzeroberfläche (GUI) bereitgestellt werden, je nach Vorgang und Rolle des Computers.
Schauen Sie sich unseren Artikel „Was ist eine Shell?“ an , um genauer zu erfahren, was eine Shell ist und wie sie Ihnen helfen kann.
Im Wesentlichen ermöglicht eine Shell Benutzern und anderen Programmen, direkt mit den Komponenten eines Betriebssystems zu kommunizieren.
Eine Einführung in Shell-Skripting
Shell-Skripting ist ein wichtiger und dennoch leicht zu erlernender Teil der Kommunikation mit dem Betriebssystem eines Computers (selbst wenn Sie keine Programmierkenntnisse haben). Unter Skripting verstehen wir eine Abfolge von Shell- und Betriebssystembefehlen, die geschrieben und dann in einer Datei gespeichert werden: Zu den typischen Operationen, die von Shell-Skripten ausgeführt werden, gehören Aufgaben wie Dateimanipulation, Programmausführung und Textdruck.
Erfahren Sie in unserem Kurs mehr über die Datenverarbeitung in Shell .
Das Erlernen dieses einfachen Verfahrens kann Entwicklern viel Entwicklungszeit sparen, da bestimmte Befehle nicht wiederholt manuell geschrieben werden müssen. Es ist sogar möglich, die automatische Ausführung von Skripten zu planen.
Unix- und Linux-Benutzern stehen verschiedene Shells zur Verfügung. Im weiteren Verlauf dieses Tutorials konzentrieren wir uns speziell auf die Bourne Again SHell (bash) , eine erweiterte Version der Bourne-Shell und eine der gängigsten Befehlszeilenschnittstellen für Unix-basierte Betriebssysteme (einschließlich Linux).
Was ist ein Bash Script?
Bash ist eine Unix-Befehlszeilenschnittstelle, die für die Interaktion mit dem Betriebssystem eines Computers zuständig ist. Ähnlich wie Filmskripte Schauspielern mitteilen, welche Aktionen sie ausführen sollen, sagt ein Bash Script der Bash-Shell, was sie tun soll. Ein Bash Script ist daher eine nützliche Möglichkeit, Befehle zu gruppieren, um ein Programm zu erstellen .
Jeder Befehl, den Sie direkt von der Befehlszeile aus ausführen könnten, kann in ein Bash Script eingegeben werden, und Sie können davon ausgehen, dass es dieselben Aktionen ausführt wie von der Befehlszeile aus. Alternativ könnte jeder Befehl, den Sie in Ihr Bash Script eingeben, direkt von der Befehlszeile aus ausgeführt werden, und das Ergebnis sollte dasselbe sein. Mit anderen Worten: Wenn Sie wissen, wie Sie von der Befehlszeile aus mit Ihrem Computer interagieren, wissen Sie bereits einiges über Bash Script.
Einer der Hauptunterschiede besteht darin, dass ein Bash Script eine reine Textdatei ist, die .shper Konvention mit einer Erweiterung gespeichert wird (sie können auch ohne die .shErweiterung ausgeführt werden).
Ein weiteres Unterscheidungsmerkmal von Bash Script ist das „Shebang“, das in der ersten Zeile aller Skripte vorkommt. Im Wesentlichen ist das Shebang ein absoluter Pfad zum Bash-Interpreter, der aus einer Kombination aus Bash-„#“ und Bang „!“ besteht, gefolgt vom Bash-Shell-Pfad. Es wird verwendet, um dem Linux-Betriebssystem mitzuteilen, welcher Interpreter zum Parsen der Datei verwendet werden soll.
So schreiben Sie ein Bash Script
Wir werden ein einfaches „Hallo Welt“-Bash Scriptbeispiel erstellen, um Ihnen den Einstieg in Bash Script zu erleichtern. Wenn Sie tiefer in Bash Script eintauchen möchten, sehen Sie sich den Kurs Einführung in Bash Script an .
Schritt 1: Erstellen Sie eine neue reine Textdatei
Der erste Schritt besteht darin, eine neue reine Textdatei zu erstellen. Sie können dies tun, indem Sie den folgenden Befehl in Ihrer Eingabeaufforderung ausführen:
Hinweis : Beim Ausführen dieses Befehls werden Sie möglicherweise gefragt, ob Sie eine neue Datei erstellen möchten. Wählen Sie „Ja“.
Schritt 2: Interpreter festlegen
In der ersten Zeile unseres Skripts müssen wir angeben, welchen Interpreter wir zum Parsen unseres Skripts verwenden möchten. In diesem Szenario ist es Bash. Daher müssen wir den Shebang in die erste Zeile unseres Skripts einfügen.
Schritt 3: Befehle implementieren
Der Zweck unseres Bash Script besteht darin, „Hallo Welt!“ auszudrucken. Um diese Aufgabe auszuführen, wechseln Sie zu einer neuen Zeile und verwenden Sie den Echo-Befehl, gefolgt von der Zeichenfolge, die wir drucken möchten.
Wenn Sie fertig sind, speichern Sie die Datei und öffnen Sie Ihr Git Bash.
Hinweis : Sie können Git Bash von Git-Downloads herunterladen . Wählen Sie einfach die Git-Version aus, die Ihrem Betriebssystem entspricht.
Führen Sie als Nächstes den folgenden Befehl aus:
Die Ausgabe sollte „Hallo Welt!“ lauten, wie in Abbildung 1 dargestellt.
So erfassen Sie Benutzereingaben in Bash Script
Jetzt wissen Sie, wie Sie ein einfaches „Hallo Welt!“-Skript schreiben. Sehen wir uns an, wie wir mit Bash Skripte schreiben können, die Benutzereingaben erfordern. In diesem Beispiel erstellen wir einen Aktivitätsgenerator, der den Benutzer nach seinem Namen fragt und dann aus einer Reihe von Aktivitäten eine zufällige Aktivität auswählt, zu der der Benutzer eingeladen wird.
Die Schritte zum Erstellen der Datei sind dieselben wie unter „So schreiben Sie einBash Script“ – der Unterschied liegt in den Befehlen, die wir in unser Bash Script eingeben.
- Erstellen Sie mit dem Editor in der Eingabeaufforderung eine neue Nur-Text-Datei.
- Geben Sie den Bash-Interpreter an, indem Sie den Shebang in die erste Zeile des Skripts eingeben.
- Schreiben Sie die Befehle zum Ausführen des Skripts und speichern Sie dann die Datei.
Wenn wir jetzt unser Bash Script vom Terminal aus aufrufen, sollten wir dieselbe Ausgabe wie in Abbildung 2 erwarten.
So erstellen Sie eine Funktion in einem Bash Script
In der Programmierung werden Funktionen verwendet, um eine Reihe wiederholter Anweisungen zu bündeln – erfahren Sie mehr über Funktionen in Python . Der Zweck des Schreibens von Funktionen besteht darin, das ständige Schreiben desselben Codes zu vermeiden und Ihren Code auch lesbarer zu machen.
Eine Bash-Funktion kann als typische Funktion betrachtet werden: eine Reihe von Befehlen, die mehrmals aufgerufen werden können. Allerdings sind Bash-Funktionen im Vergleich zu den meisten Programmiersprachen etwas eingeschränkter (z. B. können Sie beim Aufrufen von Bash-Funktionen keinen Wert zurückgeben).
Bevor wir ein Bash Script mit einer Funktion erstellen, schauen wir uns die Syntax zum Deklarieren einer Bash-Funktion an. Wir können eine Funktion definieren, indem wir einen Funktionsnamen schreiben, gefolgt von Klammern und geschweiften Klammern für den Funktionskörper – das ist die gängigste Art, eine Bash-Funktion zu schreiben. So sieht es im Code aus:
Die andere Möglichkeit, eine Bash-Funktion zu formatieren, besteht darin, die Zeile mit dem reservierten Bash-Schlüsselwort „function“ zu beginnen, dann den Funktionsnamen und geschweifte Klammern für den Funktionskörper einzugeben – die Klammern benötigen wir nicht.
Durch das Definieren der Funktion werden die Befehle nicht ausgeführt. Um eine Bash-Funktion aufzurufen, müssen Sie den Funktionsnamen wie folgt aufrufen:
Oben haben wir eine Hallo-Welt-Funktion erstellt, die „Hallo Welt!“ ausgibt, wenn das Bash Script ausgeführt wird SQL MINUS.
Übergeben von Argumenten an Bash-Funktionen
Argumente sind Variablen, die in einer bestimmten Funktion verwendet werden. In Bash können wir keine Argumente an Funktionen übergeben, wie Sie es in höheren Programmiersprachen wie Python, Julia usw. tun würden. Stattdessen haben Bash-Funktionen ihre eigenen Befehlszeilenargumente und wir können Parameter an eine Funktion übergeben, indem wir sie nach einem Aufruf des Funktionsnamens platzieren – getrennt durch ein Leerzeichen, wenn es mehrere Argumente gibt.
Im Wesentlichen werden Funktionsargumente als Positionsparameter behandelt und Shell-Variablen ($1, $2, …, $n) werden verwendet, um auf die an die Funktion übergebenen Argumente zuzugreifen.
Im obigen Bash Script haben wir zwei Argumente, John und Doe, an unsere Greet-Funktion übergeben. Wenn das Bash Script jetzt ausgeführt wird, sollten wir die folgende Ausgabe sehen:
Schreiben von „If“-Anweisungen in Bash
„If“-Anweisungen sind bedingte Anweisungen, die in Programmiersprachen verwendet werden. Wenn sich eine Anweisung als wahr erweist, wird eine Bedingung ausgeführt. Mit dieser Funktion können wir die Umstände bestimmen, unter denen ein bestimmter Codeabschnitt ausgeführt werden soll.
In Bash beginnen wir die Bedingung mit einer if-Anweisung und beenden sie mit fi (wenn rückwärts geschrieben). Hier ist ein Beispiel für ein Bash Script mit if-Bedingungen:
Im obigen Bash Script wird der Benutzer aufgefordert, eine Zahl einzugeben. Wenn die vom Benutzer angegebene Zahl größer als 10 ist, wird „Ihre Zahl ist größer als 10“ an das Terminal ausgegeben, andernfalls wird das Programm beendet. Abbildung 3 ist ein Beispiel für die Übergabe einer Zahl größer als 10.
Einpacken
Bash Script sind eine nützliche Methode, um Befehle elegant zu gruppieren. Sie können die Leistung eines Bash Script für eine Reihe von Anwendungsfällen nutzen, z. B. zum Ausführen eines Shell-Befehls, zum gemeinsamen Ausführen mehrerer Befehle, zum Anpassen administrativer Aufgaben, zum Durchführen von Aufgabenautomatisierung und mehr.
Wenn Sie die Schritte im obigen Tutorial befolgen, wissen Sie jetzt, wie Sie mit Bash ein einfaches Skript zum Drucken von „Hallo Welt!“ erstellen.