Ein Anfängerleitfaden zur Verwendung von Bash -Funktionen!

Ein Anfängerleitfaden zur Verwendung von Bash -Funktionen!

Bash -Funktionen sind eine praktische Möglichkeit, eine Reihe von Befehlen zu gruppieren, die Sie häufig zusammen verwenden. Sie ermöglichen es Ihnen, Code wiederzuverwenden, Ihre Skripte organisierter und leichter zu lesen und Ihnen Zeit zu sparen, indem Sie nicht immer wieder dieselben Befehle eingeben müssen.

Um eine Funktion in Bash zu erstellen, verwenden Sie das Schlüsselwort der Funktion, gefolgt vom Namen der Funktion und einem Paar lockiger Klammern, die die Befehle einschließen, aus denen die Funktion besteht. Zum Beispiel:

Funktionsgruß echo "Hallo, Welt!"
123Funktionsgruß echo "Hallo, Welt!"

Dadurch wird eine Funktion namens genannt 'Gruß' Das gibt einfach die Zeichenfolge aus "Hallo Welt!” Wenn es genannt wird.

Um eine Funktion aufzurufen, geben Sie einfach ihren Namen in Ihr Shell -Skript ein. Zum Beispiel:

Gruß
1Gruß

Dadurch werden die Befehle innerhalb der ausgeführt 'Gruß' Funktion, die in diesem Fall nur der Echo -Befehl ist.

Bash -Funktion mit Argumenten

Sie können auch Argumente an eine Funktion übergeben, indem Sie sie in den Klammern auflisten, wenn Sie die Funktion aufrufen. Zum Beispiel:

Funktionsgruß echo "Hallo, $ 1!" Begrüßung" John Doe "
12345Funktionsgruß echo "Hallo, $ 1!" Begrüßung" John Doe "

Dies wird ausgeben „Hallo John Doe!” weil das '$ 1' Die Variable innerhalb der Funktion bezieht sich auf das erste Argument, das an die Funktion übergeben wurde (in diesem Fall „John Doe“). Sie können 2 US -Dollar, 3 US -Dollar und so weiter verwenden, um sich auf die zweite, dritte und nachfolgende Argumente zu beziehen.

Sie können auch Standardwerte für Argumente angeben, wenn sie nicht bereitgestellt werden, wenn die Funktion aufgerufen wird. Zum Beispiel:

Funktion Begrüßung name = $ 1: -World echo "Hallo, $ Name!" Begrüßung" John "
1234567Funktion Begrüßung name = $ 1: -World echo "Hallo, $ Name!" Begrüßung" John "

Der erste Anruf zum "Gruß" wird ausgegeben "Hallo Welt!” Da die Namensvariable auf den Standardwert „Welt“ festgelegt ist, wenn kein Argument bereitgestellt wird. Der zweite Anruf zum "Gruß" wird ausgegeben "Hallo John!” Weil die Namensvariable auf den Wert des ersten Arguments festgelegt ist („John“).

Definieren

Verwendung der 'erklären' In erbautem Befehl können Sie auch die Argumenten angeben, die eine Funktion erwartet. Zum Beispiel:

Funktion add deklarieren -i num1 = $ 1 deklarieren -i num2 = $ 2 echo $ ((num1 + num2)) add 1 2
1234567Funktion add deklarieren -i num1 = $ 1 deklarieren -i num2 = $ 2 echo $ ((num1 + num2)) add 1 2

Diese Funktion erwartet zwei ganzzahlige Argumente und fügt sie mit der zusammen '$ ((…)' '' Arithmetische Expansionssyntax. Der "Declare -i" Flag fordert Bash an, die Variablen als Ganzzahlen zu behandeln.

Bash -Funktionen mit lokalen Variablen

Bash -Funktionen haben auch lokale Variablen, die Variablen sind, die nur innerhalb der Funktion sichtbar sind und außerhalb dessen nicht zugänglich sind. Um eine lokale Variable zu erstellen, verwenden Sie die 'lokal' Schlüsselwort gefolgt vom Namen der Variablen. Zum Beispiel:

Funktionenzahl lokal i für i in 1… 5; echo $ i tat count echo $ i
123456789Funktionenzahl lokal i für i in 1… 5; wiederholt $ ich habe countecho $ i

Die Zählfunktion erstellt eine lokale Variable, die genannt wird 'ich' Das wird verwendet, um von 1 bis 5 zu zählen. Das Echo '$ ich' ' Anweisung außerhalb der Funktion wird nichts ausgeben, weil die 'ich' Variable ist außerhalb der Funktion nicht definiert.

Funktion mit Rückgabewerten

Sie können auch einen Wert aus einer Funktion mit dem zurückgeben 'zurückkehren' Gebäudebefehl. Der Wert des Rückgabebefehls ist der Exit -Status der Funktion, eine Zahl, die angibt, ob die Funktion erfolgreich ausgeführt wurde oder einen Fehler auftritt. A 'zurückkehren' Wert von '0' ' zeigt den Erfolg an, während ein Wert ungleich Null einen Fehler angibt.

Zum Beispiel:

Funktion add if [[$# -ne 2]]; Return 1 fi Declare -i Num1 = $ 1 Declare -i Num2 = $ 2 Return $ ((num1 + num2)) add 1 2 echo $? Fügen Sie 1 Echo $ hinzu?
12345678910111213Funktion add if [[$# -ne 2]]; Return 1 fi Declare -i Num1 = $ 1 Declare -i Num2 = $ 2 Return $ ((Num1 + Num2)) add 1 2echo $?Fügen Sie 1Echo $ hinzu?

Die Funktionsprüfungen hinzufügen, um sicherzustellen, dass genau zwei Argumente erhalten wurden. Wenn dies nicht der Fall ist, gibt es einen Wert von 1 zurück, um einen Fehler anzuzeigen. Andernfalls fügt es die beiden Argumente zusammen und gibt das Ergebnis zurück.

Der 'Echo $?'' Befehl Nach jedem Aufruf zur Funktion hinzufügen Ausgabe des Rückgabewerts der Funktion. Der erste Anruf wird 3 ausgegeben, während der zweite Anruf 1 ausgibt.

Drucken Werte in der Funktion

Zusätzlich zum Rückgabewert können Sie den Befehl echo auch verwenden, um einen Wert aus einer Funktion zu drucken. Zum Beispiel:

Funktion add if [[$# -ne 2]]; Return 1 fi Declare -i Num1 = $ 1 Declare -i Num2 = $ 2 Echo $ ((Num1 + Num2)) Ergebnis = $ ($ (10 20) Echo "Das Ergebnis ist $ Ergebnis."
1234567891011Funktion add if [[$# -ne 2]]; Return 1 fi Declare -i Num1 = $ 1 Declare -i Num2 = $ 2 Echo $ ((Num1 + Num2)) Ergebnis = $ ($ (10 20) Echo "Das Ergebnis ist $ Ergebnis."

Dieser Code wird ausgegeben „Das Ergebnis ist 30.” Da die Funktion add aufgerufen wird, unter Verwendung der Befehlssubstitution ($ (…) Syntax) und das Ergebnis in der Ergebnisvariablen gespeichert wird.

Bash -Funktionen können sehr leistungsfähig sein und sind ein wertvolles Instrument zur Organisation und Vereinfachung Ihrer Skripte. Sie ermöglichen es Ihnen, Code wiederzuverwenden, Ihre Skripte lesbarer zu machen und Ihnen Zeit zu sparen, indem Sie nicht immer wieder dieselben Befehle eingeben müssen.