GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Bash-Declare-Anweisung:Syntax und Beispiele

Einführung

Eine Variable in Bash wird erstellt, indem ihrer Referenz ein Wert zugewiesen wird. Obwohl das eingebaute declare -Anweisung muss nicht verwendet werden, um eine Variable explizit in Bash zu deklarieren, der Befehl wird oft für fortgeschrittenere Variablenverwaltungsaufgaben verwendet.

Dieses Tutorial zeigt Ihnen, wie Sie mit Variablen und ihren Attributen arbeiten, indem Sie die Bash declare verwenden Befehl.

Voraussetzungen

  • Zugriff auf das Terminal/die Befehlszeile.
  • Sudo-Benutzerrechte.

Bash-Declare-Syntax

Die Syntax für die Verwendung der Bash declare Befehl ist:

declare [options] [variable-name]="[value]"

Bash deklariert Optionen

Die declare Der Befehl funktioniert mit den folgenden allgemeinen Optionen:

Option Beschreibung
-f Deklarieren Sie eine Bash-Funktion, keine Variable.
-F Den Namen und die Attribute der Funktion anzeigen.
-g Wenden Sie den globalen Gültigkeitsbereich auf alle Variablenoperationen innerhalb einer Shell-Funktion an. Die Option funktioniert nicht außerhalb von Shell-Funktionen.
-p Optionen und Attribute von Variablen anzeigen.

Die Optionen in der folgenden Tabelle werden verwendet, um ein Attribut auf eine Variable festzulegen.

Option Beschreibung
-a Die Variable ist ein indiziertes Array. Sie können dieses Attribut nicht deaktivieren.
-A Die Variable ist ein assoziatives Array. Sie können dieses Attribut nicht deaktivieren.
-i Der Wert der Variablen ist eine ganze Zahl. Deaktivieren Sie das Attribut mit +i .
-l Der Variablenname besteht nur aus Kleinbuchstaben. Deaktivieren Sie das Attribut mit +l .
-n Die Variable wird zur Namensreferenz für eine andere Variable. Deaktivieren Sie das Attribut mit +n .
-r Die Variable ist schreibgeschützt. Deaktivieren Sie das Attribut mit +r .
-t Bei Verwendung mit Funktionen erbt das Element DEBUG und RETURN Traps von der Eltern-Shell. Deaktivieren Sie das Attribut mit +t .
-u Der Variablenname besteht nur aus Großbuchstaben. Deaktivieren Sie das Attribut mit +u .
-x Exportieren Sie die Variable in untergeordnete Prozesse, ähnlich wie beim Exportbefehl. Deaktivieren Sie das Attribut mit +x .

Wie man eine Variable in Bash deklariert

Das folgende Beispiel zeigt, wie eine Variable mit dem Namen testvar deklariert wird und weisen Sie ihm den Wert 100 zu .

declare testvar="100"

Bei erfolgreicher Ausführung erzeugt der Befehl keine Ausgabe. Verwenden Sie das -p Option, um zu überprüfen, ob die Variable erfolgreich erstellt wurde. Da der Befehl alle derzeit auf dem System vorhandenen Variablen auflistet, schränken Sie ihn mit dem grep-Befehl ein.

declare -p | grep testvar

Der doppelte Bindestrich (-- ) Zeichen vor dem Variablennamen bedeutet, dass die Variable keine Argumente hat.

Verwenden Sie die folgende Syntax, um ein Attribut auf eine Variable festzulegen. Das Beispiel setzt -x -Attribut zu testvar Variable.

declare -x testvar

Suchen Sie erneut nach der Variable und bestätigen Sie, dass das Attribut gesetzt wurde.

declare -p | grep testvar

Um das Attribut zu entfernen, stellen Sie ihm ein Plus voran (+ ) Schild.

declare +x testvar

Ganzzahlen

Das -i Die Option begrenzt die Variable nur auf ganzzahlige Werte.

declare -i testvar

Um dies zu testen, versuchen Sie, den Wert der Variablen in eine Zeichenkette zu ändern.

declare testvar="example"

Verwenden Sie den echo-Befehl, um den Wert der Variablen zu sehen.

echo $testvar

Die Ausgabe zeigt den Wert Null (0 ):

Der Wert einer Variablen kann auch das Ergebnis einer mathematischen Operation sein.

declare testvar="3*3"

Im obigen Beispiel ist die testvar Variable wurde der Wert 3*3 gegeben . Überprüfen des Variablenwerts mit echo zeigt das Ergebnis.

echo $testvar

Das Ergebnis der mathematischen Operation muss keine ganze Zahl sein.

declare testvar="10/3"

Wenn die Variable jedoch den -i Attribut gesetzt, wird das Ergebnis auf die nächste ganze Zahl gerundet.

echo $testvar

Der Versuch, einen nicht ganzzahligen Wert für eine Variable zu deklarieren, während -i Option gesetzt ist, führt zu einem Fehler.

declare testvar="1.5"

Fälle

Verwenden Sie das -u -Attribut, um alle Buchstaben in Großbuchstaben umzuwandeln. Das folgende Beispiel deklariert die testvar -Variable und weist ihr den Wert example zu .

declare -u testvar="example"

Da jedoch -u -Attribut festgelegt wurde, zeigt die Überprüfung des Werts der Variablen, dass sie den Wert EXAMPLE hat .

echo $testvar

Das -l -Attribut hat den gegenteiligen Effekt.

declare -l testvar="EXAMPLE"

Wenn Sie es setzen, werden Großbuchstaben in Kleinbuchstaben umgewandelt.

echo $testvar

Nur Lesen

Setzen Sie -r Attribut zu den Variablen, die Sie vor versehentlicher Änderung schützen möchten.

declare -r testvar="100"

Der Versuch, den Wert der schreibgeschützten Variablen zu ändern, führt zu einem Fehler.

declare testvar="50"

Arrays

Bash-Variablen können mehr als einen Wert haben. Um einer einzelnen Bash-Variablen mehrere Werte zuzuweisen, konvertieren Sie sie in ein Array, indem Sie Folgendes eingeben:

declare -a testvar

Wenn die Variable vor der Konvertierung einen Wert hatte, ist dieser Wert jetzt das erste Element des Arrays mit der Indexnummer 0 . Geben Sie Folgendes ein, um den Wert des ersten Elements im Variablenarray zu überprüfen:

echo ${testvar[0]}

Deklarieren Sie weitere Elemente des Arrays, indem Sie die Indexnummer des Elements angeben.

declare testvar[1]="200"

Listen Sie alle Elemente des Arrays auf, indem Sie Folgendes eingeben:

echo ${testvar[*]}

Linux
  1. Bash-Scripting(I)

  2. Bash-If-Else-Anweisung mit Beispielen

  3. Beispiele für Bash-For- und While-Schleifen

  4. 5 Beispiele für Bash-Case-Anweisungen

  5. Exportieren Sie eine Variable aus Bash und verwenden Sie sie in Python

So erhöhen und verringern Sie die Variable in Bash (Zähler)

Bash-Skripting – While- und Until-Schleife mit Beispielen erklärt

Bash-Scripting – Variablen mit Beispielen erklärt

Bash If Else Syntax mit Beispielen

Bash If Else und andere bedingte Anweisungen verstehen

Bash-Variablen-Tutorial – 6 praktische Bash-Beispiele für globale und lokale Variablen