Bash_Praktyczne_skrypty_bashps.pdf

(713 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości
lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione.
Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie
książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie
praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi
bądź towarowymi ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte
w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej
odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne
naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION
nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Michał Mrowiec
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
Fotografia na okładce została wykorzystana za zgodą Shutterstock.com
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/bashps
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Kody źródłowe wybranych przykładów dostępne są pod adresem:
ftp://ftp.helion.pl/przyklady/bashps.zip
ISBN: 978-83-283-1489-4
Copyright © Helion 2015
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis tre ci
Rozdzia 1. Wprowadzenie .................................................................................. 9
Jak dzia a Bash? ............................................................................................................. 10
Za o enia tej ksi ki ....................................................................................................... 11
Uk ad rozdzia ów ..................................................................................................... 11
Konwencje programistyczne .................................................................................... 12
Instalacja i konfiguracja rodowiska pracy ..................................................................... 12
OpenSUSE 13.2 ....................................................................................................... 12
Windows 7 ............................................................................................................... 14
Rozdzia 2. Powitanie ...................................................................................... 19
Zmienne i ich warto ci ................................................................................................... 25
Znak zach ty ................................................................................................................... 27
Polecenie echo — wy wietlenie tekstu na ekranie ......................................................... 30
Stringi i ich czenie ....................................................................................................... 30
Polecenie cd — bie ca cie ka i jej zmiana .................................................................. 33
Ustalanie bie cej cie ki, czyli krótka wzmianka o zmiennej $PWD ..................... 33
Zmiana bie cej cie ki ............................................................................................ 33
Polecenie chmod — zmiana uprawnie plików i katalogów .......................................... 33
Tryb interaktywny/konwersacyjny i wsadowy ............................................................... 36
Polecenie read — pobranie danych od u ytkownika ...................................................... 37
Rozdzia 3. U cisk d oni ................................................................................... 39
Rozdzielenie instrukcji i polece .................................................................................... 42
rednik i przetwarzanie sekwencyjne ....................................................................... 42
Ampersand i przetwarzanie równoleg e ................................................................... 43
Instrukcja warunkowa if ................................................................................................. 44
Operator porównania stringów (i nie tylko ich) .............................................................. 49
Warto ci logiczne true/false, czyli brak typu w Bashu ............................................. 50
Nawiasy kwadratowe w instrukcjach warunkowych ...................................................... 51
Brak nawiasów ......................................................................................................... 51
Pojedyncze nawiasy ................................................................................................. 56
Podwójne nawiasy kwadratowe ............................................................................... 58
Polecenie type — rozpoznawanie typu ........................................................................... 60
Kup książkę
Poleć książkę
6
Bash. Praktyczne skrypty
Rozdzia 4. Rozpoznanie p ci ............................................................................ 63
Parametry wej ciowe ...................................................................................................... 68
Operacje na stringach i notacja klamrowa ...................................................................... 71
Konkatenacja a zmienne specjalne ........................................................................... 72
Dzielenie ci gów znakowych na mniejsze ............................................................... 73
Podwójne rozwini cie zmiennej ............................................................................... 74
Operatory logiczne ......................................................................................................... 75
Alternatywa .............................................................................................................. 75
Negacja ..................................................................................................................... 76
Koniunkcja ............................................................................................................... 77
Notacja z pojedynczymi nawiasami kwadratowymi ................................................. 78
Poprawka drobnego b du .............................................................................................. 80
Rozdzia 5. Detektor liczb parzystych i nieparzystych ........................................ 85
Zmienne liczbowe .......................................................................................................... 87
Wyra enia matematyczne w notacji z okr g ymi nawiasami ................................... 88
Wyra enia matematyczne z poleceniem let .............................................................. 91
Wyra enia matematyczne z poleceniem expr ........................................................... 92
Polecenie declare — oznaczenie typu dla zmiennej ....................................................... 93
Rozdzia 6. Generowanie zbiorów liczb spe niaj cych kryteria podzielno ci ......... 97
P tla while ...................................................................................................................... 99
Wyra enia matematyczne w instrukcjach steruj cych if oraz p tli while ..................... 101
Rozdzia 7. Silnia ........................................................................................... 103
P tla for ........................................................................................................................ 104
Zapis arytmetyczny ................................................................................................ 104
i++ oraz i--, czyli skrócony zapis inkrementacji/dekrementacji ................................... 107
Rozdzia 8. Analiza zbioru plików pod k tem daty ich ostatniej modyfikacji ...... 109
P tla for zapis operuj cy na zbiorach ...................................................................... 112
Operatory logiczne poza instrukcj steruj c if ............................................................ 113
Wyra enia Basha .......................................................................................................... 116
Notacja $() .............................................................................................................. 116
Notacja z grawisami ............................................................................................... 117
Polecenie eval ......................................................................................................... 118
Uwaga, niebezpiecze stwo! ................................................................................... 119
Polecenie stat ................................................................................................................ 121
Polecenie date ............................................................................................................... 122
Konwersja z formatu czytelnego dla cz owieka do czasu uniksowego ................... 123
Konwersja z czasu uniksowego do formatu czytelnego dla cz owieka ................... 124
Rozdzia 9. Czyszczenie pliku tekstowego ze zb dnych pustych wierszy ........... 127
Operatory jednoargumentowe polecenia test w blokach warunkowych ....................... 130
Instrukcja continue ....................................................................................................... 131
Polecenie cat ................................................................................................................. 133
Strumienie i ich przekierowanie ................................................................................... 135
Przekierowanie strumienia wyj cia do pliku .......................................................... 136
Przekierowanie strumienia b dów do pliku ........................................................... 137
Przekierowanie strumienia wyj ciowego i b dów do ró nych plików .................. 137
Przekierowanie obu strumieni wyj ciowych do tego samego pliku ....................... 138
Przekierowanie strumienia b dów do strumienia wyj cia i odwrotnie .................. 139
Przekierowanie na strumie wej ciowy .................................................................. 139
Kup książkę
Poleć książkę
Spis tre ci
7
Rozdzia 10. Sortowanie liczb ........................................................................... 145
P tla w p tli .................................................................................................................. 149
Pobranie wszystkich parametrów wej ciowych programu ........................................... 151
Zmienne tablicowe ....................................................................................................... 151
Inicjalizacja tablicy ................................................................................................ 152
Zapisywanie warto ci w tablicach .......................................................................... 153
Pobieranie warto ci z tablic .................................................................................... 154
Tablice asocjacyjne, czyli klucze tekstowe zamiast indeksów liczbowych ............ 155
Wypisanie wszystkich warto ci tablicy .................................................................. 156
Pobranie ilo ci elementów znajduj cych si w tablicy ........................................... 157
Przetworzenie ka dego elementu tablicy w p tli .................................................... 157
Rozdzia 11. System rezerwacji miejsc w sali kinowej ....................................... 161
Instrukcja break ............................................................................................................ 164
Blok warunkowy case jako alternatywa dla if .............................................................. 166
Dopasowanie do wielu warto ci w bloku case ....................................................... 168
Eskalacja wykonania na nast pny blok w case ....................................................... 169
Funkcje ......................................................................................................................... 170
Deklaracja funkcji .................................................................................................. 173
Wywo ywanie funkcji ............................................................................................ 174
Funkcje maj priorytet ............................................................................................ 174
Funkcje maj pierwsze stwo .................................................................................. 175
Funkcje mog si nadpisywa ................................................................................ 176
Parametry wej ciowe .............................................................................................. 177
Zmienne w funkcjach ............................................................................................. 178
Wywo anie funkcji w wyra eniu $() Basha ............................................................ 183
Zwracanie i pobieranie wyników funkcji ............................................................... 185
Hermetyzacja funkcji ............................................................................................. 187
Przekazywanie tablic w parametrach do funkcji .................................................... 192
Polecenie source ........................................................................................................... 196
Rozdzia 12. Sprawdzanie poprawno ci konfiguracji sieci komputerowej ............ 199
Wprowadzenie teoretyczne ........................................................................................... 202
Systemy liczbowe ................................................................................................... 202
Sie komputerowa .................................................................................................. 206
Sta e, czyli zmienne, których nie da si zmieni .......................................................... 207
Polecenie readonly ................................................................................................. 208
Polecenie declare .................................................................................................... 208
Operatory bitowe .......................................................................................................... 208
Przesuni cia bitowe w lewo ................................................................................... 209
Przesuni cia bitowe w prawo ................................................................................. 210
Suma bitowa ........................................................................................................... 211
Iloczyn bitowy ........................................................................................................ 212
Notacja klamrowa — podmiana zawarto ci ci gu znakowego na inn ........................ 213
Rozdzia 13. Ci gi Fibonacciego ...................................................................... 215
Funkcje rekurencyjne w programowaniu ...................................................................... 218
Wydajno funkcji rekurencyjnych ........................................................................ 218
Brak ograniczenia w ilo ci wywo anych funkcji rekurencyjnych .......................... 219
Wydajno rekurencyjnych funkcji w ci gach Fibonacciego ....................................... 219
Wyk adnicza z o ono obliczeniowa .................................................................... 220
Liniowa z o ono obliczeniowa ............................................................................ 222
Polecenie time ........................................................................................................ 224
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin