Variablen werden zum Speichern von Werten verschiedener Typen während der Programmausführung verwendet. Beim Bash-Skripting gibt es zwei Arten von Variablen: global und lokal.
Globale Variablen können von allen Bash-Skripten auf Ihrem System verwendet werden, während lokale Variablen nur innerhalb des Skripts (oder der Shell) verwendet werden können, in dem sie definiert sind.
Globale Variablen werden im Allgemeinen standardmäßig auf dem System bereitgestellt und sind hauptsächlich Umgebungs- und Konfigurationsvariablen. Lokale Variablen hingegen sind benutzerdefiniert und haben willkürliche Verwendungen.
Lokale Bash-Variablen
Um eine Variable zu erstellen, müssen Sie Ihrem Variablennamen einen Wert zuweisen. Bash ist eine nicht typisierte Sprache, sodass Sie beim Definieren Ihrer Variablen keinen Datentyp angeben müssen.
var1=Hallo
Bash erlaubt auch mehrere Zuweisungen in einer einzigen Zeile:
a=6 b=8 c=9
Wie viele andere Programmiersprachen verwendet Bash den Zuweisungsoperator = Variablen Werte zuweisen. Es ist wichtig zu beachten, dass auf beiden Seiten des Zuweisungsoperators keine Leerzeichen stehen dürfen. Andernfalls erhalten Sie einen Kompilierungsfehler.
Verwandt: Was bedeutet „Bash“ unter Linux?
Ein weiterer wichtiger Punkt, den Sie beachten sollten: Bash erlaubt es Ihnen nicht, zuerst eine Variable zu definieren und ihr später einen Wert zuzuweisen. Sie müssen der Variablen bei der Erstellung einen Wert zuweisen.
var2 # Kompilierungsfehler
var2=Welt
Manchmal müssen Sie Ihrer Variablen möglicherweise eine Zeichenfolge zuweisen, die ein Leerzeichen enthält. Schließen Sie in einem solchen Fall die Zeichenfolge in Anführungszeichen ein.
# var3=Hallo Welt
# obige Zuweisung funktioniert nicht
var3='Hallo Welt'
Beachten Sie die Verwendung von einfachen Anführungszeichen. Diese Anführungszeichen werden auch als „starke Anführungszeichen“ bezeichnet, da sie den Wert genau so zuweisen, wie er geschrieben ist, ohne Rücksicht auf Sonderzeichen.
Im obigen Beispiel hätten Sie auch doppelte Anführungszeichen ("schwache Anführungszeichen") verwenden können, obwohl dies nicht bedeutet, dass sie immer austauschbar verwendet werden können. Dies liegt daran, dass doppelte Anführungszeichen Sonderzeichen ersetzen (wie die mit $), anstatt sie wörtlich zu interpretieren.
Siehe das Beispiel unten:
var4=89
echo "Die Nummer ist $var4"
echo 'Die Nummer ist $var4'
# Erste Ausgabedrucke: 89
# Die zweite Ausgabe lässt "$var4" unverändert
Wenn Sie Ihrer Variablen eine Befehlszeilenausgabe zuweisen möchten, verwenden Sie Backquotes (``). Sie behandeln die in ihnen eingeschlossene Zeichenfolge als Terminalbefehl und geben ihr Ergebnis zurück.
var5="Sie arbeiten gerade in diesem Verzeichnis: `pwd`"
Parametererweiterung in Bash
Parametererweiterung bezieht sich einfach auf den Zugriff auf den Wert einer Variablen. In seiner einfachsten Form verwendet es das Sonderzeichen $ gefolgt vom Variablennamen (ohne Leerzeichen dazwischen):
var6=Jack
Echo Mein Name ist $var6
Sie können auch die Syntax verwenden ${Variablenname} um auf den Wert einer Variablen zuzugreifen. Diese Form ist besser geeignet, wenn Verwirrung um den Variablennamen entstehen kann.
m=Med
echo Med steht für ${m}ical
Lässt man die geschweiften Klammern weg, ${m}ical wird als zusammengesetzte Variable interpretiert (die nicht existiert). Diese Verwendung von geschweiften Klammern bei Variablen wird als "Substitution" bezeichnet.
Globale Variablen
Wie bereits erwähnt, verfügt Ihr Linux-System über einige integrierte Variablen, auf die über alle Ihre Skripte (oder Shells) zugegriffen werden kann. Auf diese Variablen wird mit der gleichen Syntax wie auf lokale Variablen zugegriffen.
Verwandt: Wie man Bash-Skripte unter Linux erstellt und ausführt
Die meisten dieser Variablen sind in BLOCK-Buchstaben. Einige sind jedoch einzelne Zeichen, die nicht einmal alphanumerische Zeichen sind.
Hier sind einige allgemeine nützliche globale Variablen:
HEIMAT: Stellt das Home-Verzeichnis des Benutzers bereit
HÜLSE: Liefert den verwendeten Shell-Typ (z. B. Bash, csh..etc)
?: Liefert den Exit-Status des vorherigen Befehls
Um eine Liste globaler Variablen auf Ihrem System zu erhalten, führen Sie die printenv (oder env) Befehl:
$ printenv
Schleifen in Bash-Skripten
Jetzt wissen Sie, was Variablen sind, wie Sie sie zuweisen und wie Sie mit ihnen grundlegende Bash-Logik ausführen.
Schleifen ermöglichen es Ihnen, mehrere Anweisungen zu durchlaufen. Bash passt Pro Schleifen und während Schleifen mit einer einfachen Syntax für all Ihre Schleifenanforderungen.
Wenn Sie die Kunst der Bash-Entwicklung beherrschen, Pro Schleifen sollten als nächstes auf Ihrer Liste stehen.
Warum den gleichen Code immer wieder in Ihrem Shell-Skript ausführen, wenn Sie es von einer for-Schleife erledigen lassen können?
Lesen Sie weiter
- Programmierung
- Linux-Bash-Shell
- Codierungstipps
Jerome ist ein fester Autor bei MakeUseOf. Er behandelt Artikel über Programmierung und Linux. Er ist auch ein Krypto-Enthusiast und behält die Kryptoindustrie immer im Auge.
Abonniere unseren Newsletter
Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!
Klicken Sie hier, um sich anzumelden