Der zuvor veröffentlichte Artikel von Fahmida Yesmin [4] gibt Ihnen eine wunderbare Einführung in Bash -Variablen. Hier gehen wir weiter und erklären, wie Variablen in Bash so deklarieren können, dass Sie sie in anderen Umgebungen auf Ihrem Linux -System verwenden können und welche entsprechenden Nebenwirkungen Sie berücksichtigen müssen.
Eine kurze Beschreibung von Bash
Die Bash -Shell wurde erstmals 1989 veröffentlicht und als Standard -Anmeldeschale für die meisten Linux -Verteilungen verwendet. Brian Fox schrieb Bash als Unix -Shell und Befehlssprache für das GNU -Projekt als kostenloser Software -Ersatz für die Bourne Shell. Es ist ein Akronym für Bourne wieder Shell. Bash ist weitgehend kompatibel mit Sch und enthält nützliche Funktionen aus der Korn -Shell ksh und die C -Schale CSH [6].
Während das GNU -Betriebssystem andere Shells liefert, einschließlich einer Version von CSH, Bash ist die Standard -Interaktive -Shell. Es ist mit Berücksichtigung der Portabilität konzipiert und wird derzeit auf nahezu jeder Version von UNIX und anderen Betriebssystemen ausgeführt [9].
Bash -Variablen auf den Punkt gebracht
Variablen sind wesentliche Komponenten von Programmiersprachen. Sie werden in einem Computerprogramm verwiesen und manipuliert. Einfach ausgedrückt, Variablen repräsentieren benannte Speicherzellen. Dies gilt für Bash wie in jeder Programmiersprache. Dies ermöglicht uns als Menschen und Benutzer des Computers, Werte im „Gehirn“ des Computers zu speichern und sie über den zugewiesenen Namen der Variablen erneut zu finden.
Der Begriff Variable bezieht sich auf eine kombinierte Form von zwei Wörtern, ich.e., variieren + fähig, was bedeutet, dass sein Wert geändert werden kann und mehrmals für mehrmals verwendet werden kann. Im Gegensatz dazu werden Variablen, die nicht geändert werden können. [10]
Solange genügend Speicher für Ihr Skript verfügbar ist, können Sie Variablen frei erstellen und verwenden. Sie können sie einfach festlegen, indem Sie einen variablen Namen definieren und dann seinen Wert zuweisen. Ein variabler Name in Bash kann Buchstaben, Ziffern und Unterstriche enthalten. Sein Name kann nur mit einem Brief und einem Unterstrich gestartet werden. Gültige Variablennamen sind Größe, Tax5 und _tax20, jedoch nicht 5Rules.
Ein variabler Wert in Bash kann eine Zahl, ein einzelnes Zeichen, eine Zeichenfolge oder eine Liste von Elementen enthalten (als Array bezeichnet). Es hat keinen sichtbaren Datentyp, und der interne Datentyp der Variablen wird nach Zuordnung eines Werts automatisch herausgefunden (oder abgeleitet). Darüber hinaus besteht keine Notwendigkeit, die Variable zu deklarieren. Das Zuweisen eines Wertes seiner Referenz erstellt die Variable automatisch. Das folgende Beispiel -Bash -Skript zeigt dies für eine Zeichenfolgenzuweisung und eine numerische Zahlenzuweisung.
#! /Bin/Bash
Welcomemessage = "Hallo Welt!"
Echo $ Welcomemessage
Preis = 145
Echo $ Preis
Benennung von Konventionen von Bash -Variablen
Es gibt keine festen Regeln für die Schreibweise von Namen von Variablen, nur Konventionen. Diese Konventionen werden verwendet:
Für globale IT -Unternehmen ist es üblich, mit Style Guides zu arbeiten, um einen gemeinsamen Codierungsstil im Unternehmen zu gewährleisten. Weitere Informationen zu den Konventionen, denen sie folgen.
Variable Sichtbarkeit
Der Standardfall besteht. Das folgende Beispiel zeigt dies für die Variable $ Message, die zum Skript gehört, und $ Welcome, der zur Funktion OutputWelComEMessage () gehört, ().
#!/Bin/Bash
# Definieren Sie eine variable Nachricht in das Skript
Message = ”Hallo noch einmal!”
outputWelComemessage ()
# Definieren Sie eine lokale Variable
Willkommen = ”Hallo!”
Echo $ willkommen
outputWelComemessage () # Drucke Hallo!
Echo $ message # druckt wieder Hallo, noch einmal!
Um sicherzustellen, dass eine zuvor definierte Variable mit demselben Namen lokal gebunden ist. Ohne das Schlüsselwort lokal würde die Zuordnung in Zeile 8 auf die global definierte Variable mit dem zuvor definiertenselben Namen beziehen.
#!/Bin/Bash
# Definieren Sie eine variable Nachricht in das Skript
Message = ”Hallo noch einmal!”
outputWelComemessage ()
# Definieren Sie eine lokale Variable mit demselben Namen
Lokale Nachricht = “Hallo!”
Echo $ message
outputWelComemessage () # Drucke Hallo!
Echo $ message # druckt wieder Hallo, noch einmal!
Erweiterung des Umfangs einer Variablen
Um eine interne Variable für andere untergeordnete Prozesse sichtbar zu machen, ist ein zusätzlicher Schritt erforderlich. Dieser Schritt wird als Exportieren einer Variablen bezeichnet. Bash bietet die Verwendung des Keyword -Exports an, gefolgt vom variablen Namen. Die folgende Auflistung zeigt dies für den variablen Backuppath.
$ backUppath = ”/opt/backup/”
$ Export Backuppath
Der Exportbefehl ist ein integriertes Shell, mit dem die Variable als Subschalen (Shells aus dem Original hervorgeht) erben wird. Variablen, die exportiert werden, können dann von mehr als einem Prozess gelesen und geschrieben werden.
Die zweite Option besteht darin, die Variable als Umgebungsvariable von Anfang an zu deklarieren. Sie können dies tun, indem Sie das Schlüsselwort deklarieren, gefolgt von der Option „-x“ (siehe [5] für weitere Informationen zum Befehl deklarieren). Der Effekt ähnelt dem zuvor eingeführten Exportbefehl.
$ declare -x Backuppath = ”/opt/backup/”
Erben von anderen Sitzungen
Wenn Sie ein Programm ausführen, erbt es automatisch seine Umgebungsvariablen vom übergeordneten Prozess. Wenn beispielsweise $ home im übergeordneten auf /root eingestellt ist.
Weitere Befehle
Linux verfügt unter anderem mit nützlichen Befehlen und Optionen, die sich auf Variablen beziehen. Die ersten beiden werden Env und Printenv genannt. Sie listen alle Umgebungsvariablen auf.
Das Bild unten zeigt die Ausgabe des Befehlsumfelds in einem Terminal, das in einer X -Sitzung ausgeführt wird. Es enthält Variablen wie $ Xterm (Terminaltyp), $ Shell (das Programm, das auf Anmeldung aufgerufen wird, und zeigt /bin /bash für den Pfad zum Bash -Interpreter), $ ls_colors (die Farben, die verwendet werden, um verschiedene Dateien hervorzuheben Typen beim Aufrufen von LS) und $ Desktop_Session (die aktuelle X Desktop -Umgebung).
Der dritte und der vierte sind Optionen des Exportbefehls --p und -n. -P ist kurz für den Druck und zeigt nur alle exportierten Variablen in der aktuellen Shell mit dem Befehl deklarieren.
$ export -p
Declare -x Desktop_Session = "xfce"
Declare -x display = ": 0"
Declare -x glade_catalog_path = ":"
Declare -x glade_module_path = ":"
Declare -x glade_pixmap_path = ":"
Declare -x home = "/home/frank"
Declare -x Lang = "de_de.UTF-8 "
Die Option -n wird verwendet, um eine Umgebungsvariable zu verunreinigen. Die folgende Auflistung zeigt dies für den zuvor definierten variablen Backuppath.
$ export -n Backuppath
Abschluss
Bash ist eine sehr kluge, aber manchmal auch ein bisschen komplexe Umgebung. Variablen steuern, wie die verschiedenen Werkzeuge interagieren. Exportvariablen hilft bei der Kommunikation zwischen Prozessen und ist im Alltag einfach zu bedienen.
Über die Autoren
Jacqui Kabeta ist Umweltschützer, begeisterter Forscher, Trainer und Mentor. In mehreren afrikanischen Ländern hat sie in der IT -Branche und in der NGO -Umgebung gearbeitet.
Frank Hofmann ist IT -Entwickler, Trainer und Autor und arbeitet lieber aus Berlin, Genf und Kapstadt. Co-Autor des Debian-Paket-Management-Buches bei DPMB erhältlich.Org
Links und Referenzen