Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >Erläutern Sie umfassend die Funktionen und Verwendung verschiedener Klammern in der Shell unter Linux

Erläutern Sie umfassend die Funktionen und Verwendung verschiedener Klammern in der Shell unter Linux

齐天大圣
齐天大圣Original
2020-09-18 16:53:293726Durchsuche

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
Solange es der Operationserweiterung der C-Sprachgrammatik entspricht, kann es in Klammern geschrieben werden
# 初始化数组
lnmp=(linux nginx mysql php)
Zu diesem Zeitpunkt können Sie den Variablenwert nicht hinzufügen das $-Zeichen außerhalb der Klammern

# 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
. Kann auch als Array-Index verwendet werden:
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn