Wie man BASH für die Schleife verwendet
Einer der grundlegendsten Tricks beim Erstellen von Bash-Skripten ist das Erstellen einer Schleife, so dass Sie eine bestimmte Aufgabe mehrmals automatisch ausführen lassen können. Schließlich wird die Schleife eine vorbestimmte Testbedingung erreichen und plötzlich aufhören zu arbeiten. Loops wie diese funktionieren perfekt in bash auf Linux und macOS sowie der Bash-Shell in Windows 10 und sogar den verschiedenen Shells in FreeBSD. Natürlich können Sie in jeder Schleife den Befehl schreiben, den Sie bevorzugen, und jeden Vorgang so lange ausführen, wie Sie möchten. Während wir einige sehr einfache Loops schreiben, können Sie diese Fähigkeiten verwenden, um die gewünschten Skripte zu erstellen.
Es gibt viele Möglichkeiten, mit dem Schreiben eines Skripts zu beginnen, aber für diese Diskussion gehen wir davon aus, dass Sie eine Eingabeaufforderung geöffnet haben, indem Sie nach dem Terminal im Dash suchen, indem Sie in den Menüs KDE, MATE, LX oder Whisker darauf klicken indem Sie gleichzeitig Strg, Alt und T gedrückt halten. Während wir über vi / vim und nano als Editoren sprechen, ist die Frage, welcher Editor verwendet werden soll, sehr persönlich und Sie könnten mit allem arbeiten, mit dem Sie sich wohl fühlen.
Methode 1: Die bis Schleife
Vielleicht ist die einfachste Schleife in bash die til-Schleife. Es wird weiterhin Befehle ausführen, bis die von Ihnen festgelegte Testbedingung wahr wird. Wir gehen davon aus, dass Sie entweder nano oder vi verwendet haben, um eine nicht existierende Datei mit dem Namen "till.sh" zu öffnen und bereit sind, neuen Text einzufügen. Wir machen nur etwas, das in Ihrem Terminal zu 20 zählt, um dies zunächst einfach zu halten.
Beginnen Sie, indem Sie Folgendes eingeben:
#! / bin / bash
n = 0
bis [$ n -gt 20]
machen
echo $ n
((n ++))
erledigt
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 das Menü zu verlassen. Benutzer von vi wollen push escape und tippen Sie dann: wq um zu speichern und zu beenden.
Geben Sie als Nächstes chmod + x bisLoop an der Eingabeaufforderung ein, um es ausführbar zu machen, und geben Sie dann ./untilLoop ein, um es auszuführen. Sobald es ausgeführt wird, wird die Schleife weiterhin neue Zahlen auf Ihrem Terminal ausgeben, bis die Variable n 20 erreicht.
Die erste Zeile sagt übrigens Ihrer Umgebung, welche Shell beim Arbeiten mit diesen Skripten geladen werden soll. Einige Programmierer raten nur, #! / Bin / sh zu verwenden, um sicherzustellen, dass Ihr Skript bestimmten POSIX-Standards entspricht, aber diese einfachen Skripte sollten kein Problem haben, wenn sie auf den meisten modernen Systemen ausgeführt werden.
Methode 2: Die for-Schleife
Eine for-Schleife betrachtet jedes Element in einer gegebenen Liste und führt dann eine bestimmte Menge von Befehlen in dieser Liste aus. Wir werden einen erstellen, der einige Betriebssystemnamen ausdruckt, aber denken Sie daran, dass Sie damit alles tun könnten, wenn Sie möchten.
Geben Sie an der Eingabeaufforderung entweder nano forLoop oder vi forLoop ein und beginnen Sie mit der Eingabe dieses folgenden Skripts. Benutzer von vi müssen den Einfügemodus aufrufen, bevor sie dies tun.
#! / bin / bash
Unices = 'GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana Darwin HP-UX Minix'
für Unix in $ unices
machen
echo $ unix
erledigt
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken
Speichern Sie die Datei erneut mit der Methode Strg + O und dann Strg + X in Nano oder der Methode Esc: then: wq in vi, bevor Sie den Befehl chmod + x forLoop ausgeben, um die Datei ausführbar zu machen. Sobald Sie dies getan haben, führen Sie es aus, indem Sie an der Eingabeaufforderung ./forLoop eingeben. Die for-Schleife zwingt den echo-Befehl, nacheinander an jedem der Items in der Unices-Variable zu arbeiten. Sie könnten diese Liste noch einmal durch ein beliebiges Argument ersetzen und 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 anderen Editoren, die Sie verwenden möchten. Wenn Sie lieber einen grafischen Texteditor verwenden möchten, können Sie dies auch mit jedem dieser Projekte tun, solange Sie sicherstellen, dass die Datei innerhalb der Eingabeaufforderung in das Verzeichnis verschoben wird, in dem Sie gerade arbeiten .
In dieser Datei möchten Sie die Zeilen hinzufügen:
#! / bin / bash
n = 0
während [$ n -le 20]
machen
echo $ n
((n ++))
erledigt
Speichern Sie die Datei auf die gleiche Weise wie die anderen, und beenden Sie dann den Texteditor. Sobald Sie das Programm verlassen haben, geben Sie den Befehl chmod + x whileLoop aus, damit Sie es ausführen können, und führen Sie anschließend ./whileLoop aus, um es auszuführen. Sie werden die gleiche Ausgabe sehen, die aus dem Skript tillLoop von der ersten Methode kam, da sie in einem Bruchteil einer Sekunde 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 mit Loops auf diese Weise 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 arbeitet, oder andere könnten vorschlagen, dass Sie das nicht tun sollten. Ehrlich gesagt, gibt es wahrscheinlich viele richtige Wege, um ein Problem zu lösen.
Fühlen Sie sich frei, Ihre Skripte zu löschen, sobald Sie damit fertig sind.
PRO TIPP: Wenn das Problem bei Ihrem Computer oder Laptop / Notebook auftritt, sollten Sie versuchen, die Reimage Plus Software zu verwenden, die die Repositories durchsuchen und beschädigte und fehlende Dateien ersetzen kann. Dies funktioniert in den meisten Fällen, in denen das Problem aufgrund einer Systembeschädigung auftritt. Sie können Reimage Plus herunterladen, indem Sie hier klicken