[ Pobierz całość w formacie PDF ]
Omawiając problematykę pisania skryptów działających w powłoce bash należy również
wspomnieć o możliwości wykonywania obliczeń arytmetycznych, do których używa się
operatora expr odpowiadającego za wykonanie wszystkich operacji. Jego użycie wygląda w
następujący sposób:
WYNIK_DZIALANIA=`expr 13 7` # za zmienna WYNIK_DZIALANIA zostanie
podstawiony wynik odejmowania liczby 7 od liczby 13.
Zapis operacji matematycznych:
a + b odpowiednik `expr a + b` #dodawanie
a - b odpowiednik `expr a - b` #odejmowanie
a * b odpowiednik `expr a \* b` #mnożenie
a / b odpowiednik `expr a / b` #dzielenie
a % b odpowiednik `expr a % b` #reszta z dzielenia a przez b
Przykładowy skrypt wykonujący podstawowe działania matematyczne:
#!/bin/bash
A=$1
B=$2
echo n Wynik dodawania liczby $1 do liczby ${2}:
WYNIK=`expr $A +$B`
echo $WYNIK
echo n Wynik odejmowania liczby $1 od liczby ${2}:
WYNIK=`expr $B - $A`
echo $WYNIK
echo n Wynik mnozenia liczby $1 przez liczbe ${2}:
WYNIK=`expr $A \* $B`
echo $WYNIK
echo n Wynik dzielenia liczby $1 przez liczbe ${2}:
WYNIK=`expr $A / $B`
echo $WYNIK
echo n Reszta z dzielenia liczby $1 przez liczbe ${2}:
WYNIK=`expr $A % $B`
echo $WYNIK
13. Funkcje
Pisząc skrypty w bashu programista może również tworzyć funkcje, które w bardzo dużej
mierze przyczyniają się do skrócenia kodu skryptu i zwiększają jego przejrzystość.
Ogólna postać funkcji wygląda następująco:
nazwa_funkcji()
{
instrukcje do wykonania
}
Przykładową funkcję można zapisać w następujący sposób:
dodawanie()
{
WYNIK=$(($1 + $2))
echo $WYNIK
}
Utworzoną funkcję wywołuje się podając jej nazwę i jeśli zachodzi taka potrzeba parametry, z
jakimi ma zostać ona uruchomiona, np.:
dodawanie 12 69
Podobnie jak w przypadku parametrów skryptu przekazywanych w linii poleceń bezpośrednio
po nazwie pliku zawierającego kod skryptu, tak i w przypadku funkcji, parametry funkcji
umieszczane są w tablicy $*, a odwoływanie się do poszczególnych parametrów odbywa się
poprzez konstrukcję $1, $2, $3 & itd, jednakże parametry te, na czas działania funkcji,
zastępują parametry skryptu przekazane w linii poleceń. Po zakończeniu działania funkcji
można wykonywać działania na parametrach skryptu, ponieważ wartość tych parametrów nie
uległa zmianie.
Wewnątrz funkcji można oczywiście używać wszystkich konstrukcji, które zostały omówione
w niniejszym kursie.
Przykładowy skrypt zawierający funkcje wygląda następująco:
#!/bin/bash
dzielenie_liczb()
{
WYNIK=`expr $1 / $2`
echo wynik dzielenia wykonanego przez funkcje wynosi: $WYNIK
}
WYNIK=`expr $1 / $2`
echo wynik dzielenia wykonanego poza funkcja (przed jej wykonaniem) wynosi $WYNIK
dzielenie_liczb 10 5 #wywołanie funkcji wraz z parametrami
WYNIK=`expr $1 / $2`
echo wynik dzielenia wykonanego poza funkcja (po jej wykonaniu) wynosi $WYNIK
Przykładowe wywołanie powyższego skryptu wygląda następująco:
./nazwa_skryptu 20 4
W wyniku wykonania powyższego skryptu na ekranie monitora pojawi się następujący wynik
jego działania:
wynik dzielenia wykonanego poza funkcja (przed jej wykonaniem) wynosi 5
wynik dzielenia wykonanego przez funkcje wynosi: 2
wynik dzielenia wykonanego poza funkcja (po jej wykonaniu) wynosi 5
Powyższy skrypt ma za zadanie udowodnić, że parametry skryptu nie są modyfikowane w
wyniku wywołania wewnątrz skryptu funkcji wraz z jej parametrami.
14. Zakończenie
I to by było na, tyle. W kursie tym podana została podstawowa składnia pomocna w pisaniu
prostych jak i tych bardziej skomplikowanych skryptów. Oczywiście przedstawiony materiał
nie wyczerpuje w całości poruszonego zagadnienia, a jedynie stanowi wstęp do dalszej pracy
podczas tworzenia skryptów działających w powłoce bash. [ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl ocenkijessi.opx.pl
Omawiając problematykę pisania skryptów działających w powłoce bash należy również
wspomnieć o możliwości wykonywania obliczeń arytmetycznych, do których używa się
operatora expr odpowiadającego za wykonanie wszystkich operacji. Jego użycie wygląda w
następujący sposób:
WYNIK_DZIALANIA=`expr 13 7` # za zmienna WYNIK_DZIALANIA zostanie
podstawiony wynik odejmowania liczby 7 od liczby 13.
Zapis operacji matematycznych:
a + b odpowiednik `expr a + b` #dodawanie
a - b odpowiednik `expr a - b` #odejmowanie
a * b odpowiednik `expr a \* b` #mnożenie
a / b odpowiednik `expr a / b` #dzielenie
a % b odpowiednik `expr a % b` #reszta z dzielenia a przez b
Przykładowy skrypt wykonujący podstawowe działania matematyczne:
#!/bin/bash
A=$1
B=$2
echo n Wynik dodawania liczby $1 do liczby ${2}:
WYNIK=`expr $A +$B`
echo $WYNIK
echo n Wynik odejmowania liczby $1 od liczby ${2}:
WYNIK=`expr $B - $A`
echo $WYNIK
echo n Wynik mnozenia liczby $1 przez liczbe ${2}:
WYNIK=`expr $A \* $B`
echo $WYNIK
echo n Wynik dzielenia liczby $1 przez liczbe ${2}:
WYNIK=`expr $A / $B`
echo $WYNIK
echo n Reszta z dzielenia liczby $1 przez liczbe ${2}:
WYNIK=`expr $A % $B`
echo $WYNIK
13. Funkcje
Pisząc skrypty w bashu programista może również tworzyć funkcje, które w bardzo dużej
mierze przyczyniają się do skrócenia kodu skryptu i zwiększają jego przejrzystość.
Ogólna postać funkcji wygląda następująco:
nazwa_funkcji()
{
instrukcje do wykonania
}
Przykładową funkcję można zapisać w następujący sposób:
dodawanie()
{
WYNIK=$(($1 + $2))
echo $WYNIK
}
Utworzoną funkcję wywołuje się podając jej nazwę i jeśli zachodzi taka potrzeba parametry, z
jakimi ma zostać ona uruchomiona, np.:
dodawanie 12 69
Podobnie jak w przypadku parametrów skryptu przekazywanych w linii poleceń bezpośrednio
po nazwie pliku zawierającego kod skryptu, tak i w przypadku funkcji, parametry funkcji
umieszczane są w tablicy $*, a odwoływanie się do poszczególnych parametrów odbywa się
poprzez konstrukcję $1, $2, $3 & itd, jednakże parametry te, na czas działania funkcji,
zastępują parametry skryptu przekazane w linii poleceń. Po zakończeniu działania funkcji
można wykonywać działania na parametrach skryptu, ponieważ wartość tych parametrów nie
uległa zmianie.
Wewnątrz funkcji można oczywiście używać wszystkich konstrukcji, które zostały omówione
w niniejszym kursie.
Przykładowy skrypt zawierający funkcje wygląda następująco:
#!/bin/bash
dzielenie_liczb()
{
WYNIK=`expr $1 / $2`
echo wynik dzielenia wykonanego przez funkcje wynosi: $WYNIK
}
WYNIK=`expr $1 / $2`
echo wynik dzielenia wykonanego poza funkcja (przed jej wykonaniem) wynosi $WYNIK
dzielenie_liczb 10 5 #wywołanie funkcji wraz z parametrami
WYNIK=`expr $1 / $2`
echo wynik dzielenia wykonanego poza funkcja (po jej wykonaniu) wynosi $WYNIK
Przykładowe wywołanie powyższego skryptu wygląda następująco:
./nazwa_skryptu 20 4
W wyniku wykonania powyższego skryptu na ekranie monitora pojawi się następujący wynik
jego działania:
wynik dzielenia wykonanego poza funkcja (przed jej wykonaniem) wynosi 5
wynik dzielenia wykonanego przez funkcje wynosi: 2
wynik dzielenia wykonanego poza funkcja (po jej wykonaniu) wynosi 5
Powyższy skrypt ma za zadanie udowodnić, że parametry skryptu nie są modyfikowane w
wyniku wywołania wewnątrz skryptu funkcji wraz z jej parametrami.
14. Zakończenie
I to by było na, tyle. W kursie tym podana została podstawowa składnia pomocna w pisaniu
prostych jak i tych bardziej skomplikowanych skryptów. Oczywiście przedstawiony materiał
nie wyczerpuje w całości poruszonego zagadnienia, a jedynie stanowi wstęp do dalszej pracy
podczas tworzenia skryptów działających w powłoce bash. [ Pobierz całość w formacie PDF ]