BASH-Programmierung

So erstellen Sie eine Bash-Funktion, die ein Array zurückgibt

So erstellen Sie eine Bash-Funktion, die ein Array zurückgibt
Es mag auf den ersten Blick erscheinen, dass die Rückgabe eines Arrays von einer Bash-Funktion nicht realistisch ist. In Anbetracht all der Vorteile kann es nützlich sein, mehrere Methoden aufzurufen, um Arrays zu konstruieren, um den Prozess des Sammelns aller geeigneten Parameter für einen YAD-Aufruf aufzuteilen.

Es gibt viele Gründe, ein BASH-Array wiederherzustellen:

Sie glauben vielleicht, dass Bash die Fähigkeit verliert, Funktionsarrays zurückzugeben. Das ist aber nicht ganz richtig. Es ist möglich, das resultierende Array per Referenz in eine Methode zu verschieben und dabei Hinweise von C/C++-Entwicklern zu nehmen. Eine solche Strategie ermöglicht es der Methode, weiterhin frei von Referenzen auf eine globale Variable zu sein. Der folgende Artikel zeigt klare Beispiele für diesen Fall.

Beispiel 1: Zurückgeben eines Arrays

Melden Sie sich bei Ihrem Linux-System an und öffnen Sie das Befehlsterminal, um fortzufahren. Wir werden eine Bash-Datei namens „script“ erstellen.sh“ mit dem berühren Befehl, um das Array mit der Bash-Funktion zurückzugeben. Das Skript lautet wie folgt:

$ Touch-Skript.Sch

Sie können die neu erstellte Datei im Zuhause Verzeichnis. Öffnen Sie diese Datei und schreiben Sie den angehängten Code unverändert hinein. Hier versuchen wir, ein assoziatives Array durch ein Argument in einer Methode aus einem Listendurchlauf zu erstellen.

Zunächst haben wir die Funktion erstellt foo().

In diesem Programm haben wir den Begriff „declare“ entfernt, bei dem es sich um einen vorkonfigurierten Bash-Befehl handelt, der es uns ermöglicht, die Attribute, die Methoden der Shell, die auf die Variablen verschmiert sind, zu ändern oder anzupassen und die Werte dieser Attribute innerhalb des zu demonstrieren Spannweite unseres Shell-Befehlsterminals. Darüber hinaus kann es verwendet werden, um eine lange Variable zu definieren. Schließlich wird es verwendet, um die Variablen zu definieren.

Wir haben den Wert „fooval“ zum Array „arr“ hinzugefügt.

Das Schlüsselwort „-A“ wird verwendet, um die NAMEN assoziatives Array, falls unterstützt. Wir müssen die Liste/das Array als globale Variable verwenden, was bedeutet, dass nur eine Methode, kein Skript, diese Aktion ausführen kann.

Wir haben auch ein weiteres Array namens „myarr“ als Referenz erstellt. Bash erlaubt, dass der Name einer relativen Variablen arr unähnlich ist vom Namen der relativen Variablen myarr.

Danach haben wir in der achten Zeile das Array „myarr“ an die Bash . übergeben foo() als Referenz fungieren.

In der Vergangenheit haben wir die „for“-Schleife verwendet, um sowohl die Arrays „arr“ als auch „myarr“ an die foo() Funktion.

Wir werden jetzt das Ergebnis dieses Codes überprüfen. Führen Sie den Bash-Befehl aus, um den obigen Code auszuführen. Sie können sehen, dass das Array an die Funktion zurückgegeben und dann gedruckt wurde.

$ Bash-Skript.Sch

Beispiel 2: Ein anderes Array zurückgeben

Sehen wir uns ein weiteres Beispiel für die Rückgabe von Arrays an eine Funktion an. Öffnen Sie Ihr Befehlsterminal und erstellen Sie eine neue Datei mit dem Namen "openvpn".log“ mit dem berühren Befehl wie folgt:

$ berühren openvpn.Log

Öffnen Sie nun „openvpn“.log“-Datei und schreiben Sie den folgenden Text in diese Datei, wie gezeigt. Speichern Sie diese Datei und schließen Sie sie.

Öffnen Sie erneut die Befehlsshell und erstellen Sie eine weitere Datei namens "script".sch“, mit dem berühren Befehl zum Hinzufügen des Bash-Skripts zur Datei.

$ Touch-Skript.Sch

Öffnen Sie als nächstes das „Skript“.sh“-Datei und fügen Sie den folgenden Code unverändert in diese Datei ein. Speichern und schließen Sie diese Datei. Dieses Skript verwendet eine Methode, die Werte/Strings aus einem Dokument liest und ein Array zurückgibt:

Lassen Sie uns nun einen detaillierten Blick auf die Funktionsweise dieses Skripts werfen.

Lassen Sie uns nun die Ausgabe dieses Bash-Skripts überprüfen. Führen Sie den Bash-Befehl aus, um das „Skript“ auszuführen.sh“-Datei. Wie Sie sehen, druckt die erste echo-Anweisung den gesamten Text aus dem "openvpn".log“-Datei, die im Array „clients“ als eine Zeile gespeichert wurde. Die zweite echo-Anweisung zeigt die String-Nachricht an. Die dritte echo-Anweisung zeigt das Array „clients“ in indizierter Form an, da es gerade konvertiert wurde. Beim vierten wird wieder eine Nachricht angezeigt. Der letzte zeigt den Inhalt des Arrays „clients“ einzeln an.

Fazit

In diesem Artikel wurde anhand von zwei Beispielen gezeigt, wie Sie Arrays (insbesondere assoziative Arrays) mithilfe des integrierten Befehls „declare“ an eine Funktion zurückgeben. Ich hoffe, dass dieser Artikel Ihnen geholfen hat, dieses Thema besser zu verstehen.

So verwenden Sie Xdotool zum Stimulieren von Mausklicks und Tastenanschlägen in Linux
Xdotool ist ein kostenloses Open-Source-Befehlszeilentool zum Simulieren von Mausklicks und Tastenanschlägen. Dieser Artikel enthält eine kurze Anleit...
Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...