Tworzenie własnych funkcji w BASH-u

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 10972 razy

Funkcje w BASH-u deklaruje się w następujący sposób:

#!/bin/bash myfunction (){ echo "$#"; for i in $@; do echo "$i"; done } VAR=$(myfunction "parametr 1" "parametr 2"); echo $VAR;

Zapisanie powyższego skryptu i jego wywołanie spowoduje wyświetlenie następującego wyniku:

2
parametr 1
parametr 2

Jak widać, funkcje tak jak skrypty przyjmują również zmienną liczbę argumentów. Do argumentów funkcji można odwołać się tak samo jak do argumentów skryptu.

Wykonywanie kodu funkcji można przerwać za pomocą słowa kluczowego return:

#!/bin/bash myfunction (){ if [ "$#" != 2 ]; then return; fi echo "$#"; for i in $@; do echo "$i"; done } VAR=$(myfunction "parametr 1" "parametr 2" "parametr 3"); echo $VAR;

Wywołanie powyższego skryptu niczego nie wyświetli, ponieważ na wejście funkcji myfunction została podana zła liczba argumentów.