Tworzenie własnych funkcji w BASH-u

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

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

Listing 1
  1. #!/bin/bash
  2. myfunction (){
  3. echo "$#";
  4. for i in $@;
  5. do
  6. echo "$i";
  7. done
  8. }
  9. VAR=$(myfunction "parametr 1" "parametr 2");
  10. 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:

Listing 2
  1. #!/bin/bash
  2. myfunction (){
  3. if [ "$#" != 2 ];
  4. then
  5. return;
  6. fi
  7. echo "$#";
  8. for i in $@;
  9. do
  10. echo "$i";
  11. done
  12. }
  13. VAR=$(myfunction "parametr 1" "parametr 2" "parametr 3");
  14. 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.

Komentarze