Bash -Funktions -Tutorial

Bash -Funktions -Tutorial
Eine Bash -Funktion ist eine Sammlung von Befehlen, die wiederholt ausgeführt werden können. Das Ziel der Funktion ist es, die Bash -Skripte leichter zu lesen und zu verhindern, dass Sie das gleiche Skript häufig eingeben. Bash -Funktionen sind im Vergleich zu den meisten Programmiersprachen erheblich eingeschränkt. Für die Schritt-für-Schritt-Ausführung enthält diese Datei verschiedene Befehle. Obwohl diese Befehle einfach in die Befehlszeile eingegeben werden können. Wir können diese Datei verwenden, um den angegebenen Satz von Befehlen, je nach unseren Anforderungen, ein einziges Mal oder mehrmals auszuführen. Wir werden die Grundlagen der Bash -Funktionen in dieser Lektion durchlaufen und zeigen, wie man sie in Shell -Skripten verwendet.

Beispiel 1

Eine Funktion ist ein Codeabschnitt, der mehrmals aufgerufen werden kann, um bestimmte Aufgaben bei der Programmierung auszuführen. Die Codelänge wird verringert und die Programmmodularität wird bereitgestellt. Die grundlegendste Illustration der Anwendung einer Funktion in Bash -Scripting ist im Folgenden dargestellt:

#!/Bin/Bash
Bashfunction ()
Echo Hallo, meine Linux -Freunde

Bashfunktion

Im vorherigen Skript haben wir die Funktion definiert Bashfunktion. Darin haben wir eine Echo -Erklärung. Dann haben wir die Funktion bezeichnet Bashfunktion Um die Funktion auszuführen.

Die Ausgabe der Bash Basic -Funktion wird auf dem Terminal gedruckt:

LinuxHint@HP34: ~ $ chmod +x Test.Sch; ./prüfen.Sch
Hallo, meine Linux -Freunde
LinuxHint@HP34: ~ $

Beispiel 2

Wir können Argumente übergeben und Daten mit Bash -Funktionen verarbeiten, wie in anderen Programmiersprachen. Ähnlich wie bei den Befehlszeilenparametern an ein Bash -Skript können wir Daten in die Funktion eingeben. Wir müssen die Parameter unmittelbar nach dem Funktionsnamen hinzufügen, um der Bash -Funktion eine beliebige Anzahl von Argumenten anzugeben. Wenn wir die Funktion aufrufen, können wir die Argumente direkt übergeben und die Werte $ 1, $ 2,… $ n verwenden, um innerhalb der Funktion auf sie zugreifen zu können.

#!/Bin/Bash
multiply_two_numbers ()
Lokales Produkt = $ (($ 1*$ 2))
Echo -Produkt von $ 1 und $ 2 ist $ produkt ist

multiply_two_numbers 5 2

Im vorherigen Skript haben wir die Funktion erstellt multiply_two_numbers. In der Funktion haben wir die Variable erstellt Produkt und zugewiesen die zu berechnende Gleichung des Produkts. Der Echo -Befehl wird dann verwendet, um das Ergebnis der Berechnung für das Produkt von zwei Werten zu drucken. Danach haben wir die beiden Argumente 5 und 2 vorgelegt, die der Funktion zugewiesen wurden multiply_two_numbers.

Die Terminalschale nach der Skriptausführung ist im folgenden Bild angezeigt:

LinuxHint@HP34: ~ $ chmod +x Test.Sch; ./prüfen.Sch
Das Produkt von 5 und 2 ist 10
LinuxHint@HP34: ~ $

Beispiel 3

Die meisten Programmiersprachen unterstützen die Idee von Funktionen, die einen Wert zurückgeben. Dies impliziert, dass die Funktion die Daten an den Ort zurückgeben muss, von dem sie genannt wird. Bash -Funktionen unterstützen nicht, einen Wert zurückzugeben, wenn sie aufgerufen werden, im Gegensatz zu Funktionen in echten Programmiersprachen. Sie geben uns jedoch die Möglichkeit, einen Rückgabebatus festzulegen, der ähnlich wie der Exit -Status, der von einem Programm oder Befehl zur Kündigung verwendet wird, ähnlich funktioniert.

Die Variable $? wird das Wort zugewiesen zurückkehren, Dies kann eingesetzt werden, um den aktuellen Zustand der Rendite zu beschreiben. Die Funktion wird mit der Return -Anweisung beendet, die auch als Exit -Status für die Funktion dient.

#!/Bin/Bash
my_function ()
Rückkehr 14

my_function
Echo der zurückgegebene Wert ist $?

Im Skript haben wir zunächst eine Funktion etabliert my_function. In der Funktion haben wir ein Rückgabe -Keyword, das den Wert nimmt 14. Dann haben wir die Funktion aufgerufen my_function, das hat eine Echo -Anweisung, die den Wert auf den Wert zurückgibt $?.

Das Bash -Skript gibt den Wert aus wie folgt für einen Rückgabebefehl:

LinuxHint@HP34: ~ $ chmod +x Test.Sch; ./prüfen.Sch
Der zurückgegebene Wert beträgt 14
LinuxHint@HP34: ~ $

Beispiel 4

In einem Skript ist eine globale Variable eine Variable, auf die von jedem Ort aus zugegriffen werden kann und keine Einschränkungen in ihrem Umfang enthält. Auch wenn eine Variable in einer Funktion deklariert wird, wird sie automatisch als globale Variable definiert. Variablen können auch lokal erstellt werden. Sobald sie erstmals zugewiesen wurden lokal. Nur diese Funktion ermöglicht es Ihnen, darauf zugreifen. Der gleiche Name kann lokalen Variablen gegeben werden, die in anderen Funktionen erstellt wurden.

#!/Bin/Bash
var1 = "cat"
Animal_names_fun ()
Lokale var2 = "Hund"
var3 = "Schaf"
echo "Der Name des ersten Tieres ist $ var1"
Echo "Der Name des zweiten Tieres ist $ var2"

Animal_names_fun
echo "Der Name des ersten Tieres ist $ var1"
echo "Der Name des ersten Tieres ist $ var2"
Echo "Der Name des ersten Tieres ist $ var3"

Das Bash -Skript beginnt mit der Erklärung der globalen Variablen var1 und initialisiert es mit dem Wert einer Zeichenfolge. Dann haben wir die Funktion erstellt Animal_names_fun. Zur Funktion Animal_names_fun, Wir haben die lokale Variable mit dem Schlüsselwort Lokal und einer globalen Variablen festgelegt. Die lokalen und globalen Variablen wurden mit den Namen definiert var2 Und var3, Und wir haben auch ihre Werte festgelegt. Dann haben wir die globale Variable wiederholt var1 Innerhalb der Funktion und der lokalen Variablen var2 Innerhalb der Funktion. Danach haben wir die Funktion bezeichnet Animal_names_fun und zugänglich auf die globalen Variablen var1 Und var3, die normalerweise ausführen, aber während wir versuchen, auf die lokale Variable zuzugreifen Val2 Außerhalb der angegebenen Funktion gibt es einen leeren Wert zurück.

Sie können die Ausgabe des Zugriffs auf die lokalen und globalen Variablen im Bash -Programm wie folgt benachrichtigen:

LinuxHint@HP34: ~ $ chmod +x Test.Sch; ./prüfen.Sch
Der Name des ersten Tieres ist Katze
Der Name des zweiten Tieres ist Hund
Der Name des ersten Tieres ist Katze
Der Name des ersten Tieres ist
Der Name des ersten Tieres ist Schafe
LinuxHint@HP34: ~ $

Beispiel 5

Indem wir eine Funktion genauso wie den Befehl benennen, den wir überschreiben möchten, können wir die Bash -Befehle überschreiben,. Zum Beispiel müssen wir eine Funktion namens schreiben Echo Wenn wir beabsichtigen, den Echo -Befehl zu überschreiben.

Diese Idee von übergeordneten Bash -Befehlen kann unter bestimmten Umständen hilfreich sein, z. B. wenn wir einen Befehl mit bestimmten Optionen verwenden möchten. Darüber hinaus gibt es Situationen, in denen wir den gesamten Befehl nicht mit Optionen innerhalb des Skripts wiederholen möchten. Wir können Optionen verwenden, um den integrierten Bash-Befehl in diesen Situationen zu ändern. Lassen Sie uns ein Beispiel verwenden, um die Idee, Befehle in Bash -Shell -Skripting zu überschreiben, besser zu verstehen:

#!/Bin/Bash
echo ()
BAUNINE ECHO -N 'DATUM +"[%M -%D%H:%M:%s]"' ":"
gebautes Echo $ 1

echo "Willkommen in meinen Blogs."

Im vorherigen Bash -Skript haben wir ein Funktion Echo. In der Echo-Funktion überschreiben wir den Befehl echo und haben die integrierte Zeitstempelmethode als Argument in den Echo-Befehl eingefügt.

Die Ausgabe der Bash Override -Funktion wird im folgenden Bild angezeigt:

LinuxHint@HP34: ~ $ chmod +x Test.Sch; ./prüfen.Sch
[12-06 15:54:50]: Willkommen in meinen Blogs.
LinuxHint@HP34: ~ $

Abschluss

Wir haben die Bash -Funktion zu diesem Thema besprochen. Ein Stück wiederverwendbarer Code für eine bestimmte Aufgabe wird als Bash -Funktion bezeichnet. Einmal definiert, kann es mehrmals in einem Skript verwendet werden. Bash beschäftigt sich mit dem Betriebssystem, um die von der Shell empfangenen Befehle nach dem Lesen auszuführen. Eine fantastische Funktion von Bash ist, dass Sie viele seiner Befehle und Funktionen zu einem einzigen ausführbaren Skript kombinieren können, was es einfacher macht, Ihre Arbeit zu organisieren.