Programowanie skryptów powłoki

Autorzy:

Szczegóły książki w Helionie
Tytuł oryginału: Classic Shell Scripting
ISBN: 83-246-0131-7
Cena: 59 zł
Oprawa: miękka
Format: B5
Data wydania: 2005.11.21
Liczba stron: 560
Przykładowy rozdział: ftp://ftp.helion.pl/online/powlok/powlok-9.pdf
Kategoria: Inne

Efektywne wykorzystanie potencjału systemów uniksowych

  • Automatyzacja zadań
  • Przeszukiwanie plików i katalogów
  • Przenoszenie skryptów pomiędzy systemami

W dobie graficznych narzędzi programistycznych często pomijamy tradycyjne metody rozwiązywania przeróżnych zadań związanych z działaniem systemu operacyjnego. Skrypty powłoki, niegdyś podstawowe narzędzie administratorów i programistów systemów uniksowych, dziś są zdecydowanie mniej popularne. Skrypty powłoki są przydatne zarówno administratorom systemu, jak i szeregowym użytkownikom, ponieważ są jednym z najlepszych sposobów na zaprzęgnięcie do pracy setek narzędzi, w jakie wyposażony jest Unix. Z narzędzi tych w języku programowania powłoki łatwo stworzyć rozwiązanie niemal dowolnego zadania związanego z przetwarzaniem danych.

Książka "Programowanie skryptów powłoki" to kompendium wiedzy dotyczącej tej nieco już zapomnianej techniki. Przedstawia nie tylko język programowania powłoki, ale także narzędzia systemu Unix. Dostarcza informacji o tym, do jakich zadań się nadają, jak je wywoływać i jak łączyć je z innymi programami, konstruując z nich mechanizm przetwarzania danych. W książce opisano nie tylko sposoby pisania użytecznych skryptów powłoki, ale również metody dostosowywania powłoki do własnych potrzeb oraz przenoszenia skryptów pomiędzy różnymi wariantami Uniksa i różnymi implementacjami powłoki.

  • Podstawowe elementy skryptów powłoki
  • Wyszukiwanie i zastępowanie fragmentów tekstów
  • Stosowanie wyrażeń regularnych
  • Korzystanie z potoków
  • Instrukcje warunkowe
  • Definiowanie i stosowanie zmiennych
  • Przetwarzanie plików
  • Standardowe wejście i wyjście
  • Korzystanie z możliwości awk
  • Przenoszenie skryptów pomiędzy różnymi powłokami
  • Bezpieczeństwo skryptów powłoki

Książka "Programowanie skryptów powłoki" zawiera wszystkie informacje niezbędne do mistrzowskiego opanowania narzędzi oferowanych przez systemy uniksowe.

Programowanie skryptów powłoki -- spis treści

Przedmowa (7)

Wstęp (9)

1. Tło historyczne (21)

  • 1.1. Historia systemu Unix (21)
  • 1.2. Filozofia narzędzi programowych (24)
  • 1.3. Podsumowanie (26)

2. Zaczynamy (27)

  • 2.1. Języki skryptowe a języki kompilowane (27)
  • 2.2. Po co nam skrypty powłoki? (28)
  • 2.3. Prosty skrypt (28)
  • 2.4. Autonomia skryptów - wiersz #! (29)
  • 2.5. Podstawowe konstrukcje powłoki (31)
  • 2.6. Odwołania do argumentów skryptów (42)
  • 2.7. Śledzenie wykonania skryptu (43)
  • 2.8. Umiędzynarodowienie i lokalizacja (44)
  • 2.9. Podsumowanie (47)

3. Wyszukiwanie i podstawianie (49)

  • 3.1. Wyszukiwanie tekstu (49)
  • 3.2. Wyrażenia regularne (51)
  • 3.3. Manipulowanie polami (75)
  • 3.4. Podsumowanie (84)

4. Narzędzia przetwarzania tekstu (87)

  • 4.1. Sortowanie tekstu (87)
  • 4.2. Usuwanie duplikatów (95)
  • 4.3. Formatowanie akapitów (96)
  • 4.4. Zliczanie wierszy, słów i znaków (97)
  • 4.5. Drukowanie (98)
  • 4.6. Wycinanie początkowych i końcowych wierszy pliku (104)
  • 4.7. Podsumowanie (105)

5. Niezwykła moc potoków (107)

  • 5.1. Wyłuskiwanie danych ze strukturalizowanych plików tekstowych (107)
  • 5.2. Strukturalizacja danych dla potrzeb WWW (114)
  • 5.3. Gierki słowne i krzyżówki (120)
  • 5.4. Słowniki (121)
  • 5.5. Znaczniki (124)
  • 5.6. Podsumowanie (127)

6. Zmienne, podejmowanie decyzji i powtarzanie operacji (129)

  • 6.1. Zmienne w obliczeniach arytmetycznych (129)
  • 6.2. Kody powrotne poleceń i funkcji (140)
  • 6.3. Instrukcja case (148)
  • 6.4. Pętle (149)
  • 6.5. Funkcje (155)
  • 6.6. Podsumowanie (158)

7. Wejście i wyjście, pliki i przetwarzanie poleceń (161)

  • 7.1. Standardowe wejście, wyjście i wyjście diagnostyczne (161)
  • 7.2. Wczytywanie wierszy danych - read (162)
  • 7.3. Jeszcze o przekierowywaniu (164)
  • 7.4. Jeszcze o poleceniu printf (168)
  • 7.5. Rozwijanie tyldy i symbole wieloznaczne (173)
  • 7.6. Podstawianie poleceń (176)
  • 7.7. Cytaty w powłoce (182)
  • 7.8. Etapy przetwarzania poleceń i polecenie eval (183)
  • 7.9. Polecenia wbudowane (190)
  • 7.10. Podsumowanie (197)

8. Skrypty produkcyjne (199)

  • 8.1. Przeszukiwanie ścieżki (199)
  • 8.2. Automatyczna kompilacja oprogramowania (213)
  • 8.3. Podsumowanie (242)

9. Nieuzbrojony a niebezpieczny - awk (243)

  • 9.1. Wywołanie awk (244)
  • 9.2. Model programistyczny awk (245)
  • 9.3. Elementy programu (246)
  • 9.4. Rekordy i pola (256)
  • 9.5. Wzorce i akcje (258)
  • 9.6. "Jednowierszowce" w awk (260)
  • 9.7. Instrukcje awk (264)
  • 9.8. Funkcje definiowane przez użytkownika (272)
  • 9.9. Funkcje operujące na ciągach (275)
  • 9.10. Funkcje matematyczne (283)
  • 9.11. Podsumowanie (285)

10. Praca z plikami (287)

  • 10.1. Generowanie list plików (287)
  • 10.2. Aktualizacja czasu modyfikacji (292)
  • 10.3. Tworzenie i stosowanie plików tymczasowych (294)
  • 10.4. Wyszukiwanie plików (298)
  • 10.5. Uruchamianie poleceń - xargs (312)
  • 10.6. Informacje o zajętości systemu plików (313)
  • 10.7. Porównywanie plików (317)
  • 10.8. Podsumowanie (325)

11. Z życia wzięte - scalanie baz danych kont systemowych (327)

  • 11.1. Problem (327)
  • 11.2. Pliki kont (328)
  • 11.3. Scalanie plików kont (329)
  • 11.4. Aktualizacja uprawnień dostępu do plików (335)
  • 11.5. Kwestie poboczne (339)
  • 11.6. Podsumowanie (341)

12. Sprawdzanie pisowni (343)

  • 12.1. Program spell (343)
  • 12.2. Prototyp oryginalnego uniksowego programu kontroli pisowni (344)
  • 12.3. Ulepszenia, rozszerzenia, ispell i aspell (345)
  • 12.4. Kontrola pisowni w awk (348)
  • 12.5. Podsumowanie (367)

13. Procesy (369)

  • 13.1. Tworzenie procesu (370)
  • 13.2. Listy procesów (371)
  • 13.3. Tworzenie i usuwanie procesu (377)
  • 13.4. Śledzenie wywołań systemowych (384)
  • 13.5. Mechanizmy rozliczania procesów (388)
  • 13.6. Opóźnianie i planowanie wykonania procesów (389)
  • 13.7. System plików /proc (394)
  • 13.8. Podsumowanie (395)

14. Przenośność skryptów i rozszerzenia powłoki (397)

  • 14.1. Kruczki (397)
  • 14.2. Polecenie shopt (powłoka bash) (401)
  • 14.3. Rozszerzenia wspólne (405)
  • 14.4. Pobieranie i instalacja (417)
  • 14.5. Inne rozszerzone powłoki wzorowane na powłoce Bourne'a (421)
  • 14.6. Wersje powłoki (421)
  • 14.7. Inicjalizacja i finalizacja sesji powłoki (422)
  • 14.8. Podsumowanie (428)

15. Bezpieczeństwo skryptów powłoki (431)

  • 15.1. Wskazówki dla piszących skrypty powłoki (431)
  • 15.2. Powłoki okrojone (434)
  • 15.3. Konie trojańskie (436)
  • 15.4. Skrypty powłoki z bitem setuid (437)
  • 15.5. Tryb uprzywilejowany w ksh93 (439)
  • 15.6. Podsumowanie (440)

A Tworzenie dokumentacji dla systemu man (443)

B Pliki i systemy plików (457)

C Najważniejsze polecenia systemu Unix (493)

Bibliografia (499)

Słowniczek (505)

Skorowidz (533)

©2007 Włodzimierz Gajda