Tworzenie skryptów BASH-a wraz z parametrami

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

Uruchamianie skryptu

Skrypty BASH-a mogą być zapisywane z rozszerzeniem .sh, które jednak nie jest konieczne. Sposób uruchomienia skryptu zależy bowiem od tego, jakie uprawnienia plikowi go zwierającemu nadano i czy w pierwszej linijce pliku umieszczono następującą linijkę:

Listing 1
  1. #!/bin/bash

Linijka ta zawiera informację o położeniu programu interpretującego skrypt. Generalnie jednak każdy skrypt BASH-a może zostać uruchomiony w następujący sposób:

user@debian:/home/user# bash ./skrypt.sh

Jeżeli plikowi nadano uprawnienia do wykonywania:

user@debian:/home/user# chmod +x skrypt.sh

oraz w pierwszej linijce skryptu umieszczono wcześniej już wspomnianą linijkę kodu zawierającą lokalizację interpretera skryptu, to wystarczy w konsoli wpisać:

user@debian:/home/user# bash skrypt.sh

Uruchamianie skryptu z parametrami

Skrypt może zostać wywołany z parametrami, które można wypisać np. w następujący sposób:

Listing 2
  1. #!/bin/bash
  2. for i in "$@";
  3. do
  4. echo "$i";
  5. done

W powyższym skrypcie zapis $@ odwołuje się do tablicy parametrów skryptu. Teraz można zapisać powyższy skrypt w pliku o nazwie skrypt_parametry.sh i uruchomić go w następujący sposób:

user@debian:/home/user# bash ./skrypt_parametry.sh parametr1 "parametr 2" parametr 3

Wynik działania skryptu:

parametr1
parametr 2
parametr
3

Do konkretnego parametru skryptu można się odwołać w sposób bezpośredni wpisując po znaku $ numer parametru, np.:

Listing 3
  1. #!/bin/bash
  2. echo $1 $2

Wywołanie powyższego skryptu:

user@debian:/home/user# bash skrypt_parametry2.sh "parametr 1" "parametr 2"

wyświetli:

parametr 1 parametr 2

Możliwe jest również wyświetlenie liczby parametrów przekazanych do skryptu poprzez wpisanie $#:

Listing 4
  1. #!/bin/bash
  2. echo "Liczba parametrów skryptu: $#"
  3. for i in "$@";
  4. do
  5. echo "$i";
  6. done

Po zapisaniu powyższego skryptu do pliku skrytp_parametry3.sh i wywołaniu go w następujący sposób:

user@debian:/home/user# bash ./skrypt_parametry3.sh "parametr 1" "parametr 2"

powinien zostać wyświetlony następujący wynik działania skryptu:

Liczba parametrów skryptu: 2
parametr 1
parametr 2

Komentarze