Als ich Shell-Programmierung lernte, war ich durch die Verwendung verschiedener Klammern verwirrt. Mit zunehmender Vertrautheit und Anhäufung beherrschte ich schließlich die Verwendung aller Klammern. Nun möchte ich mit Ihnen teilen, was ich zusammengefasst habe.
Hinweis: Voraussetzung zum Lesen dieses Dokuments ist, dass Sie bereits über die Grundlagen der Bash- und Shell-Programmierung verfügen.
Einzelne Klammern ()
Es gibt jedoch zwei gemeinsame Funktionen von Klammern: Befehlsersetzung und Array-Initialisierung Die Klammern werden ausgeführt und das Ergebnis wird zurückgegeben muss der C-Sprachsyntax entsprechen. Bei der Verwendung von Variablennamen muss das $-Zeichen nicht hinzugefügt werden.
Doppelte Klammern werden häufiger verwendet. Sie können für Ganzzahlberechnungen verwendet werden (Dezimalzahlen werden nicht unterstützt). Zum Beispiel: $((3+2))# tmp=$(date)
# echo $tmp
Fri Sep 18 10:22:30 CST 2020
# 初始化数组
lnmp=(linux nginx mysql php)
# echo $((1+3)) 4 # n1=3 # echo $((n1+7)) 10
Doppelte Klammern, die häufig in for-Schleifen verwendet werden
# echo $((3+4>5 ? 1 :0)) 1 # echo $((3+4>9 ? 1 :0)) 0
Einzelne eckige Klammern[]
Einzelne eckige Klammern werden am häufigsten in logischen Urteilen verwendet. Darüber hinaus können sie auch als verwendet werden Indizes von Arrays und stellen einen Bereich in regulären Ausdrücken dar. Shell-Skripte. Wird bei der bedingten Beurteilung verwendet: # i=1;((i++));echo $i;
2
# i=1;((i=100));echo $i;
100
for ((i=0;i<5;i++));do echo -n $i;done
Wie einfache Klammern werden auch doppelte Klammern bei der bedingten Beurteilung verwendet, sie sind jedoch allgemeiner als einfache eckige Klammern. Hier ist ein Beispiel:
if [ 1 > 2 ] then …… fi
Einzelne geschweifte Klammer {}
Cure-Klammererweiterung. (Globbing) erweitert den in geschweiften Klammern eingeschlossenen Dateinamen. Innerhalb geschweifter Klammern ist kein Leerzeichen zulässig, es sei denn, das Leerzeichen wird in Anführungszeichen gesetzt oder mit Escapezeichen versehen.
Wenn Sie beispielsweise den Befehl rm -f {1,2}.txt eingeben, werden die Dateien 1.txt und 2.txt gelöscht. Die Rolle von .. in einfachen geschweiften Klammern
Die beiden Punkte hier stellen einen Bereich dar.
# echo ${lnmp[1]} nginx
geschweifte Klammern werden beispielsweise auch häufig in Shell-Skripten für Codeblöcke verwendet.
Zusätzlich zum ersten Mal können einzelne geschweifte Klammern auch zum Ersetzen und Löschen von Variableninhalten und zum Testen von Variableninhalten verwendet werden. Hier ist ein häufiges Beispiel. Wir stellen oft fest, ob eine Variable existiert, und wenn sie nicht existiert, legen wir einen neuen Wert für die Variable fest.
[0-9] 表示数子0-9都行
Der obige Code bedeutet, dass, wenn die Variable n1 nicht existiert oder leer ist, der Wert der Variablen val auf test gesetzt wird, andernfalls ist der Wert von val der Wert der Variablen n1
Das obige ist der detaillierte Inhalt vonErläutern Sie umfassend die Funktionen und Verwendung verschiedener Klammern in der Shell unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!