E-book details

Bash. Praktyczne skrypty

Bash. Praktyczne skrypty

Mateusz Lach

Ebook

Wykorzystaj Bash do swoich celów!

  • Jak działa Bash, czyli do czego potrzebna Ci ta powłoka i jak ją inteligentnie wykorzystać
  • Raport wydajnościowy, czyli jak szybko znaleźć pliki, które ktoś ostatnio zmodyfikował
  • W małym kinie, czyli jak zaprojektować system rezerwacji miejsc

Powłoka Bash jest bardzo wygodnym narzędziem, pozwalającym na automatyzację wielu różnych czynności, kłopotliwych dla administratora systemu. Jest też uniwersalna: choć powstała jako powłoka dla systemów uniksowych, można używać jej także na komputerach wyposażonych w Windows. Jeśli chcesz sprawdzić, do czego warto użyć Basha, i zobaczyć, jak działa powłoka w konkretnych sytuacjach, koniecznie zajrzyj do tej książki. W przystępny, klarowny sposób omawia ona podstawowe zagadnienia związane z Bashem, a nade wszystko zawiera praktyczne, gotowe skrypty i liczne ćwiczenia.

W książce znajdziesz zestawy instrukcji pozwalających efektywnie wyszukiwać w dużej bazie określone pliki, sortować, wykonywać skomplikowane obliczenia, generować zbiory liczb, stosować funkcje rekurencyjne i sprawdzać poprawność konfiguracji sieci komputerowej. Każdy rozdział rozpoczyna się od krótkiego opisu konkretnego problemu, który można rozwiązać dzięki skryptowi Basha. Taki układ na pewno docenią wszyscy, którzy nie mają zbyt wiele czasu na poznawanie teorii, gdy natychmiast potrzebna jest im praktyka. Sprawdź, zastosuj i oszczędź swój czas!

  • Konwencje programistyczne
  • Instalacja i konfiguracja środowiska pracy
  • Zmienne, stringi, podstawowe polecenia
  • Tryb interaktywny/konwersacyjny i wsadowy
  • Instrukcje, operatory, pętle i tablice
  • Parametry wejściowe, zmienne liczbowe i wyrażenia matematyczne
  • Analiza zbioru plików pod kątem daty ich ostatniej modyfikacji
  • Sortowanie liczb i funkcje
  • Sprawdzanie poprawności konfiguracji sieci komputerowej
  • Ciągi Fibonacciego
  • Prosty kalkulator ze wsparciem dla arytmetyki
  • Systemy rezerwacji miejsc
  • Rekurencyjne wyszukiwanie dat w plikach

Niech Twój komputer działa za Ciebie!

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)

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)

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)

Rozdział 14. Prosty kalkulator ze wsparciem dla arytmetyki zmiennoprzecinkowej (229)

  • Pętla until (233)
  • Potoki (234)
  • Polecenie printf zamiast echo (236)
    • Liczby w wyniku (237)
    • Konwersja pomiędzy systemami liczbowymi (237)
    • Ciągi znaków w wyniku (239)
    • Modyfikatory (239)
  • Program bc (241)
    • Arytmetyka zmiennoprzecinkowa (241)
    • Precyzja liczb zmiennoprzecinkowych (242)
    • Konwersja pomiędzy systemami liczbowymi (242)

Rozdział 15. System rezerwacji miejsc w multipleksie kinowym (245)

  • Tablice wielowymiarowe (248)
  • Pętla select (248)

Rozdział 16. Rekurencyjne wyszukiwanie dat w plikach (251)

  • Polecenie grep (254)
  • Wyrażenia regularne (255)
    • Znaki specjalne (255)
    • Alternatywa we wzorcach (255)
    • Atomy (257)
    • Zakresy znaków (258)
    • Wielokrotne i opcjonalne dopasowania (260)
    • Rozszerzenia perlowe (263)
    • Podsumowanie (266)
  • Polecenie sort (266)
  • Tu masz string, czyli wyrażenie <<< (268)

Rozdział 17. Rozwiązania ćwiczeń (271)

  • Ćwiczenie 2.1 (271)
  • Ćwiczenie 2.2 (272)
  • Ćwiczenie 3.1 (272)
  • Ćwiczenie 4.1 (273)
  • Ćwiczenie 4.2 (273)
  • Ćwiczenie 5.1 (274)
  • Ćwiczenie 6.1 (274)
  • Ćwiczenie 6.2 (275)
  • Ćwiczenie 7.1 (276)
  • Ćwiczenie 8.1 (276)
  • Ćwiczenie 9.1 (276)
  • Ćwiczenie 10.1 (277)
  • Ćwiczenie 10.2 (277)
  • Ćwiczenie 10.3 (278)
  • Ćwiczenie 11.1 (278)
  • Ćwiczenie 12.1 (279)
  • Ćwiczenie 12.2 (280)
  • Ćwiczenie 13.1 (282)
  • Ćwiczenie 13.2 (282)
  • Ćwiczenie 13.3 (283)
  • Ćwiczenie 14.1 (283)
  • Ćwiczenie 15.1 (284)
  • Ćwiczenie 16.1 (286)

Skorowidz (287)

  • Title: Bash. Praktyczne skrypty
  • Author: Mateusz Lach
  • ISBN: 978-83-283-2297-4, 9788328322974
  • Date of issue: 2015-11-06
  • Format: Ebook
  • Item ID: bashps
  • Publisher: Helion