Ein Anfängerleitfaden zur Verwendung von Bash -Funktionen!
- 1706
- 443
- Marleen Weight
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!"123 | Funktionsgruß 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ß1 | Gruß |
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 "12345 | Funktionsgruß 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 "1234567 | Funktion 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 21234567 | Funktion 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 $ i123456789 | Funktionenzahl 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?12345678910111213 | Funktion 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."1234567891011 | 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." |
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.