Programmierung in Bash - Teil 2

Teil zwei Dies Mini-Tutorial Programmierung in Bash, wo wir lernen zu benutzen ciclos und andere Tools, die uns helfen, die Funktionen unserer zu verbessern Skripte.

Die If-Bedingung

Die Funktion von If besteht darin, einen Filter anzuwenden und eine Operation oder Aufgabe für jeden angewendeten Filtertyp auszuführen. Seine Struktur ist wie folgt:

If [Bedingung]; dann elif befiehlt [Bedingung]; dann sonst Befehle; fi Befehle

Ein Beispiel wird neben der For-Schleife in ihrem jeweiligen Abschnitt gezeigt.

Ciclos

1. While-Schleife: Diese Schleife führt alle zwischen „do“ und „done“ angegebenen Befehle aus, solange die Bedingung erfüllt ist. Wenn Sie Vergleichsoperatoren verwenden möchten, muss der Ausdruck in eckige Klammern gesetzt werden.

während CONDITION / COMMAND Befehle ausführen

Beispiel: Multiplikationstabelle einer Zahl

#! / bin / bash X = 1 echo "Geben Sie eine Zahl ein und drücken Sie die EINGABETASTE" read M #Die Schleife steuert, dass X kleiner oder gleich 10 ist, während [$ X –le 10] #In R speichern wir die Multiplikation von X mit MR = $ [X * M] # Diese Multiplikation wird auf dem Bildschirmecho "$ M * $ X = $ R" gedruckt. #Mit let erhöhen wir den Wert von X um 1 Einheit let X = $ X + 1 done

2. For: Speichert eine Liste von Elementen in einer Variablen, die verwendet wird, um in jeder Schleife bestimmte Operationen durchzuführen.

Für VARIABLE in ELEMENTS werden Befehle ausgeführt

Beispiel: Programm, das eine Datei von einem Ordner in einen anderen kopiert und eine alte Datei ersetzt.

# / bin / bash #Wir richten Quell- und Zielverzeichnisse ein ORIGIN = / home / user / Downloads DESTINATION = / home / user / Dokumente # Wir positionieren uns in der Quell-CD $ ORIGIN # Von allen Dateien wollen wir nur das, das # ist Rufen Sie FILE für FILE in * do ARCH-DESTINATION = "$ DESTINATION / $ FILE" auf. # -f filtert uns reguläre Dateien, da Verzeichnisse # nichts Gutes für uns sind. –Nt filtert # Dateien heraus, die „neuer“ sind als die im Zielordner gefundenen #, wenn [-f $ FILE] && [$ FILE –nt $ ARCH-DESTINATION]; dann echo "Kopieren von $ FILE ..." # wir kopieren die Datei mit cp cp $ FILE $ ARCH-DESTINATION fi done #Wir cd, um die Quellordner-CD zu verlassen

Ein weiteres Beispiel: Skript, bei dem der Benutzer eine vom Computer generierte Zufallszahl erraten muss.

# / bin / bash #Eine Zufallszahl wird von 1 bis 10 generiert. Sie wird # in RANDOM RANDOM = $ [$ RANDOM% 10 + 1] gespeichert, während [1] echo –n "Geben Sie eine Zahl ein:" read NUM # Vergleichen Sie, ob die vom Benutzer gewählte Nummer # gleich RANDOM ist. Denken Sie daran, $ zu verwenden, um die #Werte der Variablen und nicht ihre Namen auszuwerten, wenn [“$ NUM –eq“ $ RANDOM ”]; dann Echo "Du hast es richtig gemacht!" #break ermöglicht das Beenden der Schleife während break #Wenn die Zahl kleiner als RANDOM ist elif [“$ NUM –gt“ $ RANDOM ”]; dann echo "Es ist weniger" "Wenn nicht, ist es größer als ZUFÄLLIG sonst echo" ES IST größer "fi erledigt

3. Until: Strukturell sehr ähnlich wie While, mit dem Unterschied, dass der Code immer so lange ausgeführt wird, wie die Bedingung negativ ausgewertet wird, d. h. das Programm wird so lange ausgeführt, „bis die Bedingung eintritt“.

bis CONDITION / COMMAND Befehle ausführen

Beispiel: Drucken Sie die Zahlen 10-20 in absteigender Reihenfolge

#! / bin / bash CONT = 20 # Solange der Zähler kleiner als 10 ist (-lt, "niedriger als"), wird der Code ausgeführt, bis [$ CONT -lt 10]; Echo "COUNTER $ CONT" #A CONT wird von einer Einheit subtrahiert, die CONT- = 1 erledigt

4. Auswählen: Diese letzte Schleife ist ein Sonderfall, da sie im Allgemeinen dazu dient, schnell Menüs zu erstellen. Sie funktioniert ähnlich wie die For-Schleife.

Wählen Sie VARIABLE in der Liste der ausgeführten Befehle

Beispiel: Geben Sie dem Benutzer die Möglichkeit, das Skript fortzusetzen oder zu beenden.

#! / bin / bash #item ist eine Variable, die auf die vom #Benutzer gewählten Optionen reagiert. Weiter und Fertig stellen sind die # Optionen, die ihm zur Verfügung stehen. Es können jedoch auch andere Optionen hinzugefügt werden. # Weitere Elemente in Fortsetzung Fertig stellen auswählen #Wenn der Benutzer dies wünscht Beenden Sie das Programm, und mit Pause verlassen wir den Zyklus. if [$ item = "Finish"]; dann brechen fi fertig
Vielen Dank, Juan Carlos Ortiz!

Als bevorzugte Quelle in Google hinzufügen