Kurs pisania skryptów w powłoce BASH

Nasza ocena:

3
Pobrań: 21
Wyświetleń: 1064
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Kurs pisania skryptów w powłoce BASH - strona 1 Kurs pisania skryptów w powłoce BASH - strona 2 Kurs pisania skryptów w powłoce BASH - strona 3

Fragment notatki:

Kurs pisania skryptów w powłoce BASH Wstęp Skrypt shellowy to nic innego jak bardziej rozbudowana wersja listy pewnych poleceń, które mają zostać wykonane przez system. Zgodnie z ogólnie przyjętą konwencją, każdy powstający skrypt (działający w BASH-u) powinien się zaczynać od następującej linijki:
# ! /bin/bash Linia ta jest o tyle istotnie, że przy jej pomocy definiujemy powłokę, która będzie odpowiedzialna za wykonanie ciągu instrukcji umieszczonych wewnątrz skryptu.
Pomimo tego, że pominiecie tej linii spowoduje, że skrypt będzie działał, zaleca się jej stosowanie, ponieważ składnia rozmaitych powłok może się nieznacznie różnić, a w rezultacie uruchomiony skrypt może wyświetlać różne wyniki (będzie raz działać, a raz nie) w zależności od tego, pod jaką powłoką zostanie uruchomiony.
Pierwszy skrypt. Jak to zazwyczaj bywa podczas nauki pisania programów, pierwszym wykonanym programem przez osobę pragnącą zgłębić tajniki danego jeżyka programowania jest program wyświetlający krótki tekst na monitorze. Aby nie odstępować od tych „powszechnie przyjętych norm”, także w Bash-u pierwszym skryptem, który zostanie napisany w tym kursie będzie skrypt, który wyświetli na ekranie monitora króciutki tekst.
Skrypt, który to wykona jest niezwykle prosty i składa się z dwóch linijek kodu:
#!/bin/bash echo ” M o j pierwszy skrypt ” Uruchomienie tego skryptu spowoduje wyświetlenie na ekranie monitora komunikatu o treści: Moj pierwszy skrypt
a następnie przejście do następnej linii (aby pozostać w tej samej linii należałoby po słowie echo wstawić parametr -n co wyglądałoby tak: echo -n ”Mój pierwszy skrypt”).
Jak się można łatwo domyśleć polecenie echo odpowiada za wyświetlenie tekstu na ekranie monitora. Bardzo często stosowaną praktyką wśród programistów jest komentowanie poszczególnych linii powstającego kodu. Także i w BASH-u jest to możliwe, a dokonuje się tego przy użyciu znaku # co w rezultacie wygląda następująco:
#!/bin/bash echo ”M o j pierwszy skrypt ” #wyświetlenie tekstu na monitorze Pewnie dla większości osób czytających ten tekst, a które miały już wcześniej styczność z programowaniem (chociażby w Pascalu) od razu rzuca się w oczy, że ciąg instrukcji nie jest zakończony znakiem średnika, a same źródło skryptu nie znajduje się pomiędzy słowami kluczowymi begin i end. Są to jedne z wielu różnic, które występują pomiędzy „zwykłym programowaniem”, a pisaniem skryptów powłoce BASH.
UWAGA Po zapisaniu skryptu do pliku należy pamiętać o nadaniu temu plikowi odpowiednich praw do jego wykonywania w przeciwnym przypadku skrypt nie zadziała.


(…)

… należy pamiętać o nadaniu temu plikowi odpowiednich praw do jego wykonywania w przeciwnym przypadku skrypt nie zadziała.
Zmienne.
W każdym języku programowania potrzebne są zmienne, aby przy ich pomocy wykonać pewne operacje. Także w skryptach basha-a można używać zmiennych, a definiuje się je w następujący sposób:
ZMIENNA=witam # jeżeli w wartości zmiennej nie ma spacji nie trzeba używać znaku cudzysłowie
lub ZMIENNA=12345 # jeżeli przypisujemy liczby lub cyfry nie używamy znaku cudzysłowie lub ZMIENNA=”witam was” # jeżeli w wartości zmiennej znajduje się znak spacji, to wartość tą trzeba umieścić w cudzysłowie w przeciwnym wypadku będzie to zinterpretowane jako błędny zapis.
Zmienne można zadeklarować w dowolnym dla programisty momencie, a ponadto nie trzeba nadawać im odpowiedniego typu tak jak to ma miejsce w innych językach programowania (np. pascal, c , c++ ). Podczas deklarowania zmiennych i przypisywania im pewnych wartości należy zwrócić uwagę na jedną bardzo istotną rzecz, a mianowicie po obu stronach znaku = (który służy do przypisania wartości do zmiennej) nie mogą znajdować się spacje ponieważ spowoduje to powstanie błędu.
ZMIENNA = witam #błędny zapis !!!
Powyższy zapis jest błędny…
… zachodzi potrzeba, aby nazwy zmiennych ująć w cudzysłowy. Jest to istotne, gdy wartość zmiennej zawiera spacje lub jest pustym ciągiem. Aby to zobrazować należy prześledzić działanie następującego skryptu:
#!bin/bash
ZMIENNA=””
if [ -n $ZMIENNA ]; then # -n sprawdza czy argument nie jest pusty
echo ” Zmienna o nazwie ZMIENNA nie jest pusta”;
else
echo ” Zmienna o nazwie ZMIENNA jest pusta”;
fi…
… procesu: 138
Oczywiście jest to najprostszy przykład użycia parametrów, ponieważ parametry można wykorzystywać w bardziej skomplikowany sposób niż zaprezentowany tutaj.
Instrukcja CASE.
Podobnie jak w innych językach programowania tak i w skryptach pisanych pod basha można używać instrukcji CASE. Składnia tej instrukcji wygląda następująco:
case $ZMIENNA in
1) zadanie numer 1;;
2) zadanie numer 2…
… $1 in
piatek) echo “weekend jest juz tuz tuz”;;
sobota) echo “juz weekend”;;
niedziela) echo “weekend się juz powoli konczy”;;
poniedzialek) echo ”już poniedziałek znowu trzeba isc do pracy”;;
*) echo „srodek tygodnia trzeba ciezko pracowac”;;
esac
Wywołanie tego skryptu może wyglądać następująco:
./nazwa_skryptu piątek - wyświetlenie tekstu `weekend jest już tuz tuz', ./nazwa_skryptu sobota - wyświetlenie teksu `już weekend'
./nazwa_skryptu niedziela - wyświetlenie teksu `weekend się już powoli konczy'
./nazwa_skryptu poniedzialek - wyświetlenie teksu `już poniedziałek znowu trzeba isc do pracy
./nazwa_skryptu <jakikolwiek inny dzień tygodnia> - wyświetlenie teksu `srodek tygodnia trzeba ciezko pracowac'
Instrukcja warunkowa IF.
W instrukcji warunkowej if wyróżnia się trzy zasadnicze składnie…
… podstawiania poleceń. Istnieją dwa sposoby podstawiania poleceń:
rozwijanie zawartości nawiasów
ujmowanie polecenia w tzw. wsteczne apostrofy.
Rozwijanie zawartości nawiasów odbywa się w następujący sposób: $(polecenie_do_wykonania) - zapis taki zostaje zastąpiony przez wynik wykonania polecenia znajdującego się w nawiasach. Istotny jest fakt, że nawiasy mogą być zagnieżdżone, czyli polecenia…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz