GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen und rufen Sie Funktionen in Bash auf

Eine Kurzanleitung zum Erstellen und Aufrufen von Funktionen in Bash.

Eine Funktion ist ein Block wiederverwendbaren Codes, der verwendet wird, um eine Aktion auszuführen. Mit Funktionen erhalten wir eine bessere Modularität und ein hohes Maß an Wiederverwendung von Code.

Bash bietet einige eingebaute Funktionen wie echo und read , aber wir können auch unsere eigenen Funktionen erstellen.

Erstellen einer Funktion in Bash

Es gibt zwei Möglichkeiten, wie wir Funktionen in Bash erstellen können:

Eine Möglichkeit besteht darin, einfach den Funktionsnamen zu verwenden, z. B.:

functionName(){
  // scope of function
}

Kompaktversion:

functionName(){ echo "hello"; }

Eine andere Möglichkeit besteht darin, eine Funktion mit function zu deklarieren Stichwort:

function functionName {
  // scope of function
}

Kompaktversion:

function functionName { echo "hello"; }

Beachten Sie, dass wir den () nicht benötigen bei Verwendung des function Schlüsselwort zum Erstellen einer Funktion.

Wichtige Hinweise zu Bash-Funktionen:

  • Der Code zwischen den geschweiften Klammern {} ist der Funktionskörper und -bereich
  • Beim Aufrufen einer Funktion verwenden wir einfach den Funktionsnamen von irgendwo im Bash-Skript
  • Die Funktion muss definiert werden, bevor sie verwendet werden kann
  • Bei Verwendung der Kompaktversion muss der letzte Befehl ein Semikolon ; haben

Beispiel:

Der folgende Code erstellt eine Funktion, die „Hello World“ auf der Konsole ausgibt. Der Name der Funktion heißt printHello :

#!/bin/bash

printHello(){
    echo "Hello World!"
}

Aufruf einer Funktion in Bash

Wie rufen wir die obige Funktion auf? Alles, was Sie in Ihr Bash-Skript tun müssen, ist, den Namen der Funktion zu schreiben, und sie wird aufgerufen.

Zum Beispiel:

#!/bin/bash

printHello(){
    echo "Hello World!"
}

# Call printHello function from anywhere in the script by writing the name

printHello

Ausgabe:

"Hello World"

Argumente übergeben

Die obige Funktion printHello() hat keine Parameter. Jedes Mal, wenn wir es aufrufen, erhalten wir die Ausgabe „Hello World“. Aber was wäre, wenn wir eine allgemeinere Funktion erstellen wollten? Zum Beispiel können wir die Funktion mit einem Argument aufrufen und sie wird drucken, was wir ihr senden.

Dafür gibt es zwei Möglichkeiten.

Zuerst können wir die printHello() ändern Funktion, um die übergebenen Argumente auszugeben:

Zum Beispiel:

#!/bin/bash

printAny(){
    echo "Hello " $1
}

printAny World
printAny DevQa
printAny I love coding!

Ausgabe:

Hello World
Hello DevQA
Hello I

Beachten Sie, wie die dritte print-Anweisung printAny I love coding! nur „Hallo, ich“ ausgegeben.

Dies liegt daran, dass unsere Funktion so konzipiert ist, dass sie nur 1 Parameter $1 akzeptiert . Das Wort „Ich liebe Programmieren!“ ist eigentlich 3 Parameter.

Wenn wir alles drucken wollten, müssten wir den Text in Anführungszeichen setzen

Zum Beispiel:

#!/bin/bash

printAny(){
    echo "Hello " $1
}

printAny "I love coding!"

Ausgabe:

Hello I love coding

Ein weiteres Beispiel, wir können auch Ziffern übergeben:

#!/bin/bash

add() {
    result=$(($1 + $2))
    echo "Result is: $result"
}

add 1 2

Ausgabe:

Result is: 3

Rückgabewerte

Bash-Funktionen können auch Werte zurückgeben.

Zum Beispiel:

#!/bin/bash

add() {
    result=$(($1 + $2))
}

add 1 2
echo "The sum is: "$result

Ausgabe:

The sum is: 3

Eine andere Möglichkeit, Werte von einer Funktion zurückzugeben, besteht darin, das Ergebnis einer Variablen zuzuweisen, die bei Bedarf verwendet werden kann.

Zum Beispiel:

#!/bin/bash

add () {
  local result=$(($1 + $2))
  echo "$result"
}

result="$(add 1 2)"
echo "The sum is: "$result

Ausgabe:

The sum is: 3

Linux
  1. So definieren und verwenden Sie Funktionen in Linux Shell Script

  2. Funktionen in Shell-Variablen?

  3. Wie rufe ich eine Bash-Funktion in einem Bash-Skript in Awk auf?

  4. Bash-Anfängerserie Nr. 9:Verwenden von Funktionen in Bash

  5. Aufrufen von C-Funktionen in C++, C++-Funktionen in C (C und C++ mischen)

So erstellen Sie ein SNS-Thema und einen Abonnenten auf AWS

Bash Scripting – Funktionen mit Beispielen erklärt

So erstellen Sie Dokumente mit Bash-Skripten

So erstellen und wiederherstellen Sie VM-Snapshots in VirtualBox

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

Bash-Scripting Teil 6 – Erstellen und Verwenden von Bash-Funktionen