Im vorherigen Artikel zum grundlegenden Studium von Linux-Shell-Skripten haben wir über „If“, „Select“ und „Case“ des Steuerungsprozesses im Linux-Shell-Skript gesprochen. Hier stellen wir die Schleife und Anführungszeichen des Steuerungsprozesses vor Es gibt mehr Inhalte im Linux-Shell-Skript, und einige der Inhalte beziehen sich auf das hier aufgeführte Dokument.
4.loop
Schleifenausdruck:
while ...; do .... done
while-Schleife wird ausgeführt, bis der Ausdruckstest wahr ist. wird ausgeführt, solange der Ausdruck, auf den wir testen, wahr ist.
Das Schlüsselwort „break“ wird verwendet, um aus der Schleife auszubrechen. Mit dem Schlüsselwort „continue“ kann direkt zur nächsten Schleife gesprungen werden, ohne den restlichen Teil auszuführen.
Der for-Schleifenausdruck betrachtet eine Liste von Zeichenfolgen (durch Leerzeichen getrennte Zeichenfolgen) und weist sie einer Variablen zu:
for var in ....; do .... done
Im folgenden Beispiel wird ABC separat gedruckt der Bildschirm:
#!/bin/sh for var in A B C ; do echo "var is $var" done
Hier ist ein nützlicheres Skript showrpm, dessen Funktion darin besteht, einige Statistiken von RPM-Paketen auszudrucken:
#!/bin/sh # list a content summary of a number of RPM packages # USAGE: showrpm rpmfile1 rpmfile2 ... # EXAMPLE: showrpm /cdrom/RedHat/RPMS/*.rpm for rpmpackage in $*; do if [ -r "$rpmpackage" ];then echo "=============== $rpmpackage ==============" rpm -qi -p $rpmpackage else echo "ERROR: cannot read file $rpmpackage" fi done
hier Ein zweites Special Es erscheint die Variable $*, die die Werte aller eingegebenen Befehlszeilenparameter enthält.
Wenn Sie showrpm openssh.rpm w3m.rpm webgrep.rpm ausführen
Zu diesem Zeitpunkt enthält $* 3 Zeichenfolgen, nämlich openssh.rpm, w3m.rpm und webgrep.rpm.
5. Anführungszeichen
Das Programm erweitert Platzhalter und Variablen, bevor es Parameter an das Programm übergibt. Die sogenannte Erweiterung bedeutet hier, dass das Programm Platzhalterzeichen (z. B. *) durch entsprechende Dateinamen und Variablen durch Variablenwerte ersetzt. Um zu verhindern, dass das Programm diese Ersetzung vornimmt, können Sie Anführungszeichen verwenden: Sehen wir uns ein Beispiel an, in dem wir davon ausgehen, dass sich im aktuellen Verzeichnis einige Dateien befinden, zwei JPG-Dateien, mail.jpg und tux.jpg.
1.2 Kompilieren Sie das SHELL-Skript
#ch#!/bin/sh mod +x filename
cho *.jpg ∪ langsam 螅谛果暙耄?./filename, um Ihr Skript auszuführen.
Dadurch werden die Ergebnisse von „mail.jpg tux.jpg“ ausgedruckt.
Anführungszeichen (einfach und doppelt) verhindern diese Platzhaltererweiterung:
#!/bin/sh echo "*.jpg" echo '*.jpg'
Dadurch wird „*.jpg“ zweimal gedruckt.
Einfache Anführungszeichen sind strenger. Es verhindert jegliche Variablenerweiterung. Doppelte Anführungszeichen verhindern die Erweiterung durch Platzhalter, ermöglichen jedoch die Erweiterung durch Variablen.
#!/bin/sh echo $SHELL echo "$SHELL" echo '$SHELL'
Das laufende Ergebnis ist:
/bin/bash /bin/bash $SHELL
Schließlich gibt es noch eine andere Möglichkeit, diese Erweiterung zu verhindern, nämlich die Verwendung des Escape-Zeichens-Backslash Rod :
echo *.jpg echo $SHELL
Dies wird Folgendes ausgeben:
*.jpg $SHELL
Das ist alles für die Grundlagen von Linux-Shell-Skripten, den Kontrollfluss und ein wenig mehr Inhalt von hier Dokumentieren Sie das nächste Mal erneut. Analysieren Sie es erneut.
Das Obige ist eine detaillierte Einführung in das grundlegende Erlernen von Linux-Shell-Skripten (IV). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!