Beenden Sie das Bash-Skript

Muhammad Husnain 20 Juni 2023
  1. Was ist Bash-Skript
  2. Wann sollte die Verwendung von Bash-Skripten vermieden werden (d. h. Einschränkungen)
  3. So beenden Sie ein Skript
Beenden Sie das Bash-Skript

Dieser Artikel stellt das Bash-Skripting kurz vor und erläutert das Beenden eines Bash-Skripts im Falle eines Fehlers. Außerdem werden die Einschränkungen und Vorteile der Bash-Skripterstellung erörtert.

Was ist Bash-Skript

Ein Computerskript/-programm teilt dem Computer mit, was er tun und sagen soll. In ähnlicher Weise ist ein Bash-Skript eine Folge von Befehlen, die die Bash anleiten, welche Operationen auszuführen sind.

Ein Bash-Skript ist eine einfache Textdatei, die eine Reihe auszuführender Befehle enthält. Dieser Befehlssatz kann eine sequenzierte Kombination vieler Befehlszeilenanweisungen sein, die wir direkt auf der Bash-Oberfläche schreiben können (z. B. ls, cd, rm usw.).

Jeder Befehl, der von der Befehlszeilen-Eingabeaufforderung ausgeführt wird, kann auch in das Skript eingefügt werden und das gleiche Ergebnis liefern wie an der Befehlszeilen-Eingabeaufforderung. Ebenso kann jeder Befehl in einer Skriptdatei auch direkt in die Bash-Befehlszeilenschnittstelle eingegeben werden, und die Ergebnisse sind dieselben.

Es sind keine weiteren Anpassungen erforderlich. Sie müssen die Befehle nur entsprechend ihrer Syntax eingeben, und sie werden dieselben Ergebnisse liefern.

Anstatt sie in die Befehlszeile einzufügen, geben wir sie in eine einfache Textdatei ein.

Die Erweiterung .sh wird häufig bei Bash-Programmen verwendet (z. B. loopScript.sh). Wie Sie vielleicht wissen, ist Linux ein erweiterungsfreies Betriebssystem; Daher ist die Erweiterung nicht zwingend erforderlich, damit ein Skript ordnungsgemäß funktioniert.

Mehr zum Erstellen Ihrer ersten ausführbaren Bash-Skriptdatei finden Sie hier.

Wann sollte die Verwendung von Bash-Skripten vermieden werden (d. h. Einschränkungen)

Es gibt bestimmte Fälle, in denen Bash-Scripting vermieden werden sollte. Einige von ihnen sind:

  1. Aufgaben, die viele Ressourcen benötigen, insbesondere wenn Geschwindigkeit im Vordergrund steht (Sortierfunktionen, Hash-Funktionen, rekursive Funktionen usw.)
  2. Funktionen, die viele mathematische Operationen erfordern, wie z. B. Gleitkommaarithmetik, oder die komplexe Zahlen für Berechnungen verwenden (verwenden Sie stattdessen C++ oder FORTRAN). C oder Java sollten verwendet werden, wenn portable Anwendungen zwischen verschiedenen Plattformen erstellt werden.
  3. Für komplexe Anwendungen ist eine strukturierte Programmierung erforderlich.
  4. Geschäftskritische Programme, auf die Sie die Zukunft Ihres Unternehmens setzen.
  5. Situationen, in denen die Sicherheit von entscheidender Bedeutung ist, z. B. wenn Sie die Integrität Ihres Systems sicherstellen und vor Eindringlingen, Rissen oder Beschädigungen schützen müssen.
  6. Das Projekt besteht aus miteinander verbundenen Teilkomponenten.
  7. Dateiaktivitäten in großem Umfang sind erforderlich. (Bash kann auf serielle Dateien nur zeilenweise zugreifen.)
  8. Mehrdimensionale Arrays erfordern native Unterstützung.
  9. Datenstrukturen wie Warteschlangen oder Graphen sind erforderlich.
  10. Sie müssen visuelle oder grafische Benutzeroberflächen erstellen oder verwalten.
  11. Die Interaktion mit Hardware oder externen Peripheriegeräten ist erforderlich.
  12. I/O-Ports oder Sockets sind erforderlich.
  13. Sie müssen integrierte Bibliotheken oder alten Legacy-Code verwenden.
  14. Closed-Source, proprietäre Anwendungen (Shell-Skripte stellen den Quellcode jedem zur Verfügung, der ihn einsehen möchte.)

So beenden Sie ein Skript

Es gibt einige Fälle, z. B. haben wir ein Skript geschrieben, um Code zu testen, und wir müssen das Skript beenden, falls der Code fehlschlägt, dann können wir den Befehl exit im Skript verwenden. Ein Skript wird ähnlich wie ein C-Programm mit dem Befehl exit beendet.

Der exit-Befehl kann auch für die Kommunikation zwischen Prozessen verwendet werden (d. h. das an den exit-Befehl übergebene Argument wird an den übergeordneten Prozess des Skripts zurückgegeben).

Jeder Befehl erzeugt einen Erfolgs- oder Fehlerstatus (einen Rückgabestatus oder einen Beendigungscode). Ein erfolgreicher Befehl gibt 0 zurück; Ein nicht erfolgreicher Befehl erzeugt einen Wert ungleich Null, der allgemein als Fehlercode verstanden wird.

Bei erfolgreichem Abschluss geben die meisten gut erzogenen UNIX-Befehle, -Programme und -Dienstprogramme den Exit-Code 0 zurück, wobei es auch einige Ausnahmen gibt.

Sowohl die Funktionen eines Skripts als auch das Skript selbst geben einen Exit-Status zurück. Der Exit-Status wird durch den letzten Befehl der Funktion oder des Skripts bestimmt.

Die Syntax für den Befehl exit lautet:

exit nn

Ein exit nn-Befehl kann innerhalb eines Skripts verwendet werden, um der Shell einen nn-Exit-Status bereitzustellen (nn muss eine Ganzzahl im Bereich von 0 bis 255 sein). Der Exit-Status ist der Exit-Status des letzten im Skript ausgeführten Befehls, wenn es mit einem Exit ohne Parameter endet (vor dem Exit).

Beispiel:

#!/bin/bash

FIRST COMMAND
..
..
LAST COMMAND
# It will exit the script with the status of the last command.
exit

exit, exit $? oder einfach das Weglassen von exit haben alle dieselbe Bedeutung: Beenden mit dem Status des letzten Befehls. Nachdem das Skript beendet ist, können wir den Status mit dem Befehl echo $? überprüfen.

Bestimmte Exit-Codes haben einige reservierte Bedeutungen und sollten nicht von den Benutzern definiert werden. Solche Codes und ihre Bedeutung sind unten aufgeführt.

Exit-Code Beschreibung
1 Fangen Sie alle allgemeinen Fehler ab
2 wenn eingebaute Shell-Funktionen missbraucht werden
126 Der aufgerufene Befehl kann nicht ausgeführt werden
127 Der aufgerufene Befehl wurde nicht gefunden
128 ungültige Argumente übergeben
130 Das Skript wird mit den Tastenkombinationen Strg+C beendet
255* Exit-Status außerhalb des Bereichs
Muhammad Husnain avatar Muhammad Husnain avatar

Husnain is a professional Software Engineer and a researcher who loves to learn, build, write, and teach. Having worked various jobs in the IT industry, he especially enjoys finding ways to express complex ideas in simple ways through his content. In his free time, Husnain unwinds by thinking about tech fiction to solve problems around him.

LinkedIn

Verwandter Artikel - Bash Exit