So verwenden Sie BASH for Loop

Einer der grundlegendsten Tricks beim Erstellen von Bash-Skripten besteht darin, eine Schleife zu erstellen, damit eine bestimmte Aufgabe mehrmals automatisch ausgeführt werden kann. Schließlich erreicht die Schleife eine vorbestimmte Testbedingung und hört plötzlich auf, ausgeführt zu werden. Schleifen wie diese funktionieren perfekt in Bash unter Linux und MacOS sowie in der Bash-Shell in Windows 10 und sogar in den verschiedenen Shells in FreeBSD. Natürlich können Sie jeden gewünschten Befehl in eine beliebige Schleife schreiben und jeden Prozess beliebig lange ausführen. Während wir einige extrem einfache Schleifen schreiben, können Sie diese Fähigkeiten verwenden, um beliebige Arten von Skripten zu erstellen.

Es gibt viele Möglichkeiten, mit dem Schreiben eines Skripts zu beginnen. Für diese Diskussion wird jedoch davon ausgegangen, dass Sie eine Eingabeaufforderung geöffnet haben, indem Sie entweder im Dash nach einem Terminal suchen, in den Menüs KDE, MATE, LX oder Whisker darauf klicken oder indem Sie gleichzeitig Strg, Alt und T gedrückt halten. Während wir vi / vim und nano als Redakteure diskutieren, ist die Frage, welchen Editor Sie verwenden sollen, sehr persönlich und Sie können mit allem arbeiten, mit dem Sie sich wohl fühlen.

Methode 1: Die Bis-Schleife

Die vielleicht grundlegendste Schleife in bash ist die till-Schleife. Befehle werden so lange ausgeführt, bis die von Ihnen festgelegte Testbedingung erfüllt ist. Wir gehen davon aus, dass Sie entweder nano oder vi verwendet haben, um eine nicht vorhandene Datei mit dem Namen till.sh zu öffnen, und bereit sind, neuen Text darin einzufügen. Wir machen nur etwas, das bis 20 in Ihrem Terminal zählt, um dies zunächst einfach zu halten.

Geben Sie zunächst Folgendes ein:

#! / bin / bash

n = 0

bis [ $n -gt 20 ]

machen

echo $ n

((n ++))

getan

Wenn Sie Nano verwenden, speichern Sie es, indem Sie die Strg-Taste gedrückt halten und dann O und schließlich X drücken, um den Vorgang zu beenden. Benutzer von vi möchten Escape drücken und dann Folgendes eingeben: wq zum Speichern und Beenden.

Nächster Typ chmod + x tillLoop an der Eingabeaufforderung, um es ausführbar zu machen, und geben Sie dann ein ./untilLoop um es auszuführen. Sobald es ausgeführt wird, druckt die Schleife so lange neue Nummern auf Ihrem Terminal aus, bis die Variable n 20 erreicht.

Übrigens teilt die erste Zeile Ihrer Umgebung mit, welche Shell beim Arbeiten mit diesen Skripten geladen werden soll. Einige Programmierer empfehlen, immer nur #! / Bin / sh zu verwenden, um sicherzustellen, dass Ihr Skript bestimmten POSIX-Standards entspricht. Diese einfachen Skripte sollten jedoch auf den meisten modernen Systemen problemlos ausgeführt werden können.

Methode 2: Die for-Schleife

Eine for-Schleife betrachtet jedes Element in einer bestimmten Liste und führt dann einen bestimmten Befehlssatz für diese Liste aus. Wir werden einen erstellen, der einige Betriebssystemnamen druckt, aber denken Sie erneut daran, dass Sie damit alles tun können, wenn Sie möchten.

Geben Sie entweder ein Nano forLoop oder wir forLoop Geben Sie an der Eingabeaufforderung das folgende Skript ein. Benutzer von vi müssen vorher in den Einfügemodus wechseln.

#! / bin / bash

unices = ‘GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix’

für Unix in $ Unices

machen

echo $ unix

getan

Speichern Sie die Datei erneut, indem Sie entweder die Strg + O- und dann die Strg + X-Methode in nano oder die Esc then: wq-Methode in vi verwenden, bevor Sie den Befehl ausgeben chmod + x forLoop um es ausführbar zu machen. Sobald Sie haben, führen Sie es durch Eingabe aus ./forLoop an der Eingabeaufforderung. Die for-Schleife zwingt den Befehl echo, nacheinander an jedem der Elemente in der Variablen unices zu arbeiten. Sie können diese Liste erneut durch ein beliebiges Argument ersetzen und das Echo durch einen beliebigen Befehl ersetzen, um lange Prozesse zu automatisieren.

Methode 3: Die while-Schleife

Beginnen Sie mit der Bearbeitung einer dritten Datei namens whileLoop mit nano, vi oder einem anderen Editor, den Sie verwenden möchten. Wenn Sie lieber einen grafischen Texteditor verwenden möchten, können Sie dies auch für jedes dieser Projekte tun, sofern Sie sicherstellen, dass sich die Datei in demselben Verzeichnis befindet, in dem Sie arbeiten, und zwar über die Eingabeaufforderung .

In dieser Datei möchten Sie die folgenden Zeilen hinzufügen:

#! / bin / bash

n = 0

während [ $n -le 20 ]

machen

echo $ n

((n ++))

getan

Speichern Sie die Datei genauso wie die anderen und beenden Sie den Texteditor. Geben Sie nach dem Beenden den Befehl aus chmod + x whileLoop damit Sie es ausführen und dann ausführen können ./while-Schleife um es auszuführen. Sie werden dieselbe Ausgabe sehen, die aus dem tillLoop-Skript der ersten Methode stammt, da sie in mehr als wahrscheinlich Sekundenbruchteilen von 0 bis 20 zählt.

Dies ist eine hervorragende Demonstration der Tatsache, dass es mehr als eine Möglichkeit gibt, Dinge zu tun, wenn Sie auf diese Weise mit Loops arbeiten. Obwohl es technisch gesehen keinen falschen Weg gibt, werden Sie wahrscheinlich auf Skriptautoren stoßen, die behaupten, dass Sie Ihre Skripte näher an die Art und Weise schreiben sollten, wie die Programmiersprache C die Dinge tut, oder alternativ könnten andere vorschlagen, dass Sie dies nicht tun sollten. Ehrlich gesagt gibt es wahrscheinlich viele richtige Wege, um ein Problem zu lösen.

Sie können Ihre Skripte jederzeit löschen, wenn Sie mit dem Üben fertig sind.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *