O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Bash. Receptury

Book Description

Książka "bash. Receptury" zawiera opis powłoki bash oraz prezentuje praktyczne przykłady rozwiązań problemów spotykanych powszechnie podczas projektowania skryptów. W każdej chwili możesz się do nich odwołać, dostosowując system do własnych potrzeb.

Table of Contents

  1. Bash. Receptury
  2. Przedmowa
    1. Dla kogo przeznaczona jest ta książka?
    2. O książce
      1. Oprogramowanie GNU
      2. Uwagi na temat przykładów kodu
      3. Zbędne użycie polecenia cat
      4. Uwaga na temat języka Perl
      5. Inne źródła informacji
    3. Konwencje typograficzne
    4. Wykorzystanie przykładów kodu
    5. Podziękowania
      1. Recenzenci
      2. O’Reilly
      3. Od autorów
        1. Carl
        2. J.P.
        3. Cameron
  3. 1. Wprowadzenie do pracy z powłoką bash
    1. Dlaczego bash?
    2. Powłoka bash
    3. 1.1. Rozszyfrowanie znaku zachęty
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 1.2. Ustalenie katalogu bieżącego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 1.3. Wyszukiwanie i wykonywanie poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 1.4. Uzyskiwanie informacji na temat plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 1.5. Wyświetlenie plików ukrytych z bieżącego katalogu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 1.6. Cudzysłowy i apostrofy w instrukcjach powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 1.7. Wykorzystywanie i zastępowanie poleceń wbudowanych i zewnętrznych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 1.8. Sprawdzenie, czy powłoka pracuje w trybie interaktywnym
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 1.9. Ustawienie interpretera bash jako domyślnej powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 1.10. Pobranie interpretera bash dla systemu Linux
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 1.11. Pobranie interpretera bash dla systemu BSD
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 1.12. Pobranie interpretera bash dla systemu Mac OS X
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 1.13. Pobranie interpretera bash dla systemu Unix
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 1.14. Pobranie interpretera bash dla systemu Windows
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 1.15. Korzystanie z powłoki bash bez jej pobierania
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 1.16. Dodatkowa dokumentacja powłoki bash
      1. Problem
      2. Rozwiązanie
        1. Oficjalna dokumentacja
        2. Inna dokumentacja
      3. Zobacz również
  4. 2. Standardowy strumień wyjściowy
    1. 2.1. Przekazywanie danych wyjściowych do okna terminala
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 2.2. Wyświetlanie tekstu z zachowaniem znaków spacji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 2.3. Formatowanie danych wyjściowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 2.4. Wyświetlanie wyniku bez znaku nowego wiersza
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 2.5. Zapisywanie danych wyjściowych polecenia
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 2.6. Zapisywanie wyniku w plikach innych katalogów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 2.7. Zapisywanie wyniku polecenia ls
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 2.8. Przekazanie danych wyjściowych i komunikatów o błędach do różnych plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 2.9. Przekazanie danych wyjściowych i komunikatów o błędach do tego samego pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 2.10. Dodawanie danych wyjściowych zamiast nadpisywania ich
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 2.11. Wykorzystanie jedynie początkowego lub końcowego fragmentu pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 2.12. Pomijanie nagłówka pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 2.13. Odrzucanie danych wyjściowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 2.14. Zapisywanie i grupowanie danych wyjściowych większej liczby poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 2.15. Łączenie dwóch programów przez wykorzystanie danych wyjściowych jako wejściowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 2.16. Zapisywanie kopii danych wyjściowych mimo wykorzystywania ich jako danych wejściowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 2.17. Łączenie dwóch programów z wykorzystaniem danych wyjściowych jako parametrów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 2.18. Wielokrotne przekierowania w jednym wierszu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 2.19. Zapisywanie danych wyjściowych, gdy wydaje się, że przekierowanie nie działa
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    20. 2.20. Zamiana strumieni STDERR i STDOUT
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    21. 2.21. Zabezpieczanie pliku przed przypadkowym nadpisaniem
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    22. 2.22. Celowe nadpisanie pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  5. 3. Standardowy strumień wejściowy
    1. 3.1. Pobieranie danych wejściowych z pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 3.2. Umieszczenie danych w skrypcie
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 3.3. Wyeliminowanie nietypowego działania osadzonych dokumentów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 3.4. Wcinanie osadzonych dokumentów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 3.5. Pobieranie danych od użytkownika
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 3.6. Wprowadzanie odpowiedzi typu tak-nie
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 3.7. Wybór opcji z listy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 3.8. Wprowadzanie haseł
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  6. 4. Wykonywanie poleceń
    1. 4.1. Uruchamianie pliku wykonywalnego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 4.2. Sprawdzenie, czy polecenie zostało wykonane poprawnie
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 4.3. Sekwencyjne wykonanie kilku poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
    4. 4.4. Jednoczesne wykonanie kilku poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 4.5. Ustalenie poprawności wykonania polecenia
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 4.6. Zmniejszenie liczby instrukcji if
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 4.7. Wykonywanie poleceń bez nadzoru
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 4.8. Wyświetlenie komunikatów o błędach
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 4.9. Wykonywanie poleceń zapisanych w zmiennych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 4.10. Uruchomienie wszystkich skryptów w katalogu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  7. 5. Podstawy tworzenia skryptów — zmienne powłoki
    1. 5.1. Dokumentowanie skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 5.2. Osadzanie dokumentacji w treści skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 5.3. Zachowanie czytelności skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 5.4. Oddzielenie nazw zmiennych od otaczającego je tekstu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 5.5. Eksportowanie zmiennych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 5.6. Wyświetlanie wartości wszystkich zmiennych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 5.7. Wykorzystanie parametrów w skryptach powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 5.8. Iteracyjna analiza parametrów przekazanych do skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 5.9. Obsługa parametrów zawierających znaki spacji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 5.10. Przetwarzanie listy parametrów zawierających znaki spacji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 5.11. Zliczanie parametrów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 5.12. Wykorzystanie parametrów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 5.13. Pobieranie wartości domyślnych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 5.14. Ustawianie wartości domyślnych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 5.15. Wykorzystanie pustego ciągu tekstowego jako poprawnej wartości domyślnej
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 5.16. Wykorzystanie wartości innych niż stały ciąg tekstowy jako wartości domyślnych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 5.17. Generowanie komunikatów o błędach w przypadku niezdefiniowania parametrów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 5.18. Modyfikacja fragmentów ciągu tekstowego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 5.19. Wykorzystanie zmiennych tablicowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  8. 6. Logika i arytmetyka powłoki
    1. 6.1. Wykonywanie działań arytmetycznych w skrypcie powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 6.2. Rozgałęzianie kodu w instrukcjach warunkowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 6.3. Sprawdzanie właściwości plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 6.4. Sprawdzanie więcej niż jednego warunku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 6.5. Sprawdzanie właściwości ciągów tekstowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
    6. 6.6. Sprawdzanie równości dwóch wartości
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 6.7. Sprawdzanie zgodności wartości ze wzorcem
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 6.8. Sprawdzanie wartości z użyciem wyrażeń regularnych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 6.9. Zmiana sposobu działania skryptu w zależności od rodzaju przekierowania danych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 6.10. Pętla while
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 6.11. Pętla z wykorzystaniem instrukcji read
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 6.12. Pętla ze zliczaniem iteracji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 6.13. Pętla z wykorzystaniem wartości zmiennoprzecinkowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 6.14. Wielokrotne rozgałęzianie kodu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 6.15. Przetwarzanie parametrów wiersza polecenia
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 6.16. Utworzenie prostego menu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 6.17. Zmiana znaku zachęty w tekstowym menu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 6.18. Kalkulator wykorzystujący notację RPN
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 6.19. Kalkulator obsługiwany z poziomu wiersza poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  9. 7. Dodatkowe narzędzia powłoki I
    1. 7.1. Wyszukiwanie określonego ciągu w pliku tekstowym
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 7.2. Wyświetlenie jedynie nazwy pliku zawierającego poszukiwany ciąg tekstowy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 7.3. Zakończenie wyszukiwania wynikiem typu „prawda - fałsz”
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 7.4. Wyszukiwanie ciągu tekstowego niezależnie od wielkości liter
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 7.5. Przeszukiwanie danych przekazywanych w potoku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 7.6. Odrzucenie niepotrzebnych danych z procedury wyszukiwania
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 7.7. Wyszukiwanie z użyciem bardziej rozbudowanych wzorców
      1. Problem
    8. 7.8. Wyszukiwanie numeru NIP
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 7.9. Wykorzystanie polecenia grep do wyszukiwania informacji w zarchiwizowanych plikach
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 7.10. Zachowanie części listingu wynikowego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 7.11. Zachowanie fragmentu wiersza wynikowego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 7.12. Odwrócenie kolejności słów w każdym wierszu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 7.13. Sumowanie zbioru wartości
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 7.14. Zliczanie wartości tekstowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 7.15. Wyświetlanie danych w formie histogramu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 7.16. Wyświetlenie fragmentu tekstu występującego za wyszukaną frazą
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  10. 8. Dodatkowe narzędzia powłoki II
    1. 8.1. Sortowanie danych wyjściowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 8.2. Sortowanie wartości liczbowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 8.3. Sortowanie adresów IP
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 8.4. Wycinanie fragmentów listingu wynikowego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 8.5. Usuwanie zduplikowanych wierszy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 8.6. Kompresja plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 8.7. Rozpakowywanie plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 8.8. Sprawdzenie docelowego katalogu dla plików archiwum
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 8.9. Zamiana znaków
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 8.10. Zamiana dużych liter na małe
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 8.11. Konwersja plików DOS do formatu systemu Linux
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 8.12. Usuwanie cudzysłowów drukarskich
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 8.13. Zliczanie wierszy, słów i znaków pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 8.14. Zmiana podziału wierszy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 8.15. Dodatkowe funkcje polecenia less
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  11. 9. Wyszukiwanie plików — polecenia find, locate, slocate
    1. 9.1. Wyszukiwanie wszystkich plików MP3
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 9.2. Przetwarzanie nazw plików zawierających niestandardowe znaki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 9.3. Zwiększenie szybkości przetwarzania wyszukanych plików
      1. Problem
      2. Rozwiązanie
      3. Zobacz również
    4. 9.4. Wyszukiwanie plików wskazywanych przez dowiązania symboliczne
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 9.5. Wyszukiwanie plików bez względu na wielkość liter występujących w nazwach
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 9.6. Wyszukiwanie plików na podstawie daty
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 9.7. Wyszukiwanie plików określonego typu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 9.8. Wyszukiwanie plików o określonym rozmiarze
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 9.9. Wyszukiwanie plików o określonej treści
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 9.10. Szybkie wyszukiwanie plików i ich treści
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 9.11. Wyszukiwanie plików z wykorzystaniem listy potencjalnych lokalizacji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  12. 10. Dodatkowe mechanizmy skryptowe
    1. 10.1. „Demonizowanie” skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 10.2. Wielokrotne wykorzystanie kodu — polecenia include i source
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 10.3. Wykorzystanie skryptów konfiguracyjnych w skrypcie
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 10.4. Definiowanie funkcji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 10.5. Wykorzystanie funkcji. Parametry i zwracane wartości
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 10.6. Przechwytywanie przerwań
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 10.7. Zmiana definicji poleceń za pomocą aliasów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 10.8. Pomijanie aliasów i funkcji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  13. 11. Przetwarzanie informacji o dacie i czasie
    1. 11.1. Formatowanie dat podczas wyświetlania
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 11.2. Dostarczanie domyślnej wartości daty
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 11.3. Automatyczne generowanie dat z określonego zakresu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 11.4. Przekształcenie daty i czasu w znacznik czasu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 11.5. Przekształcanie znaczników czasu w ciągi dat i czasu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 11.6. Pobranie daty poprzedniego lub kolejnego dnia w języku Perl
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 11.7. Obliczanie daty i czasu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 11.8. Obsługa stref czasowych, czasu letniego oraz lat przestępnych
      1. Problem
      2. Rozwiązanie
      3. Zobacz również
    9. 11.9. Wykorzystanie polecenia date i mechanizmu cron do uruchomienia skryptu w wybranym dniu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  14. 12. Skrypty usprawniające pracę użytkownika
    1. 12.1. Na początek coś łatwego — wyświetlanie myślników
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 12.2. Przeglądanie albumu ze zdjęciami
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 12.3. Zapis danych w odtwarzaczu MP3
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 12.4. Nagrywanie płyt CD
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 12.5. Porównywanie dwóch dokumentów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  15. 13. Interpretacja danych i podobne zadania
    1. 13.1. Przetwarzanie parametrów skryptu powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 13.2. Przetwarzanie parametrów z własnymi komunikatami o błędach
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 13.3. Interpretacja kodu HTML
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 13.4. Zapisywanie danych wynikowych w tablicy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 13.5. Pobieranie danych wynikowych z wykorzystaniem wywołania funkcji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 13.6. Interpretacja tekstu z wykorzystaniem instrukcji read
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 13.7. Zapisywanie danych w tablicy za pomocą instrukcji read
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 13.8. Liczba mnoga angielskich rzeczowników
      1. Rozwiązanie
      2. Analiza
      3. Zobacz również
    9. 13.9. Przetwarzanie danych znak po znaku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 13.10. Wyczyszczenie drzewa kodu źródłowego w systemie SVN
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 13.11. Utworzenie bazy danych MySQL
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 13.12. Wyodrębnianie określonych pól listingu danych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 13.13. Modyfikacja określonych pól listingu danych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 13.14. Usuwanie krańcowych znaków odstępu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 13.15. Kompresowanie znaków odstępu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 13.16. Przetwarzanie pól o stałej długości
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 13.17. Przetwarzanie plików niezawierających znaków nowego wiersza
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 13.18. Zapis pliku danych w formacie CSV
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 13.19. Przetwarzanie plików z danymi CSV
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  16. 14. Bezpieczne skrypty powłoki
    1. 14.1. Unikanie częstych problemów związanych z bezpieczeństwem
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 14.2. Unikanie spoofingu w pracy interpretera
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 14.3. Wyznaczanie bezpiecznej wartości $PATH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 14.4. Usuwanie wszystkich aliasów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 14.5. Czyszczenie tablicy odwzorowań plików wykonywalnych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 14.6. Zapobieganie zrzutom pamięci
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 14.7. Wyznaczenie bezpiecznej wartości $IFS
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 14.8. Wyznaczanie bezpiecznej wartości umask
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 14.9. Wyszukiwanie w zmiennej $PATH katalogów umożliwiających modyfikowanie zawartości
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 14.10. Dodawanie bieżącego katalogu do listy $PATH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Rozwiązanie
    11. 14.11. Bezpieczne pliki tymczasowe
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 14.12. Walidacja wprowadzanych danych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 14.13. Definiowanie praw dostępu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 14.14. Ujawnienie haseł na liście procesów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 14.15. Tworzenie skryptów z prawami setuid i setgid
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 14.16. Ograniczenie praw konta gościa
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 14.17. Wykorzystanie środowiska chroot
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 14.18. Wykonywanie skryptu z prawami zwykłego użytkownika
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 14.19. Bezpieczne wykorzystanie mechanizmu sudo
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    20. 14.20. Wykorzystanie haseł w skryptach
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    21. 14.21. Wykorzystanie usługi SSH bez hasła
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    22. 14.22. Ograniczenie liczby poleceń SSH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    23. 14.23. Rozłączanie nieaktywnych sesji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  17. 15. Zaawansowane mechanizmy skryptowe
    1. 15.1. Przenośność skryptu — problem wiersza #!
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 15.2. Ustawianie zmiennej $PATH zgodnie z zaleceniami POSIX
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 15.3. Tworzenie przenośnych skryptów powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 15.4. Testowanie skryptów w środowisku VMware
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 15.5. Przenośność kodu pętli
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 15.6. Przenośność instrukcji echo
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 15.7. Dzielenie danych wyjściowych tylko wtedy, gdy jest to konieczne
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 15.8. Przeglądanie danych wynikowych w formacie szesnastkowym
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 15.9. Wykorzystanie mechanizmów przekierowania sieciowego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 15.10. Ustalenie własnych adresów IP
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 15.11. Pobieranie danych z innego komputera
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 15.12. Przekierowanie wyjścia na czas działania skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 15.13. Eliminacja błędów typu „argument list too long”
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 15.14. Wysyłanie komunikatów syslog z poziomu skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 15.15. Wysyłanie wiadomości e-mail ze skryptu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 15.16. Automatyzacja zadań z wykorzystaniem podziału procesu na etapy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  18. 16. Konfiguracja i dostosowanie powłoki bash
    1. 16.1. Opcje startowe powłoki bash
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 16.2. Dostosowanie znaku zachęty
      1. Problem
      2. Rozwiązanie
        1. Podstawowe znaki zachęty
        2. Zabawne znaki zgłoszenia
      3. Analiza
        1. Kolory
      4. Zobacz również
    3. 16.3. Trwała zmiana wartości $PATH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 16.4. Chwilowa zmiana wartości $PATH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 16.5. Wyznaczanie wartości $CDPATH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 16.6. Skracanie i zmienianie nazw poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 16.7. Dostosowanie domyślnego sposobu działania powłoki i jej środowiska
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 16.8. Zmiana sposobu działania mechanizmu readline za pomocą skryptu .inputrc
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 16.9. Własny zbiór narzędzi — dodanie ścieżki ~/bin
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 16.10. Wykorzystanie dodatkowych znaków zachęty — $PS2, $PS3, $PS4
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 16.11. Synchronizowanie historii poleceń wprowadzanych w różnych sesjach
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 16.12. Włączanie opcji związanych z historią poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 16.13. Utworzenie lepszego polecenia cd
      1. Problem
      2. Rozwiązanie
      3. Zobacz również
    14. 16.14. Utworzenie katalogu i przejście do niego w jednym kroku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 16.15. Przejście do katalogów najniższego poziomu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 16.16. Dodawanie nowych funkcji przez zastosowanie ładowanych poleceń wbudowanych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 16.17. Usprawnienie mechanizmu uzupełniania poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 16.18. Właściwe wykorzystanie plików startowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 16.19. Tworzenie samodzielnych, przenośnych plików RC
      1. Problem
      2. Rozwiązanie
      3. Analiza
        1. Założenia
        2. Kryteria
      4. Zobacz również
    20. 16.20. Uruchomienie powłoki z własną konfiguracją
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  19. 17. Zadania administracyjne
    1. 17.1. Zmiana nazwy wielu plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 17.2. Dokumentacja GNU Texinfo i Info w systemie Linux
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 17.3. Rozpakowywanie wielu plików ZIP
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 17.4. Przywracanie przerwanych sesji za pomocą narzędzia screen
      1. Problem
      2. Rozwiązanie
      3. Analiza
        1. Wady
        2. Konfiguracja
      4. Zobacz również
    5. 17.5. Współdzielenie pojedynczej sesji powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 17.6. Rejestrowanie danych z całej sesji lub zadania wsadowego
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 17.7. Czyszczenie ekranu po wylogowaniu
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    8. 17.8. Rejestracja metadanych plików w celu ich późniejszego odtworzenia
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 17.9. Tworzenie indeksu plików
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 17.10. Wykorzystanie poleceń diff i patch
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 17.11. Zliczanie różnic między plikami
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 17.12. Usuwanie lub zmiana nazwy plików zawierających znaki specjalne w nazwie
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 17.13. Dołączanie danych na początku pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 17.14. Edycja treści pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 17.15. Wykorzystanie mechanizmu sudo w odniesieniu do grupy poleceń
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    16. 17.16. Wyszukiwanie wierszy tylko jednego pliku
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    17. 17.17. Zachowanie N ostatnich obiektów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    18. 17.18. Filtrowanie wyniku polecenia ps za pomocą instrukcji grep, ale z pominięciem w zestawieniu samej instrukcji grep
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    19. 17.19. Sprawdzenie, czy dany proces działa
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    20. 17.20. Dodawanie prefiksu lub sufiksu do danych wynikowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    21. 17.21. Numerowanie wierszy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    22. 17.22. Generowanie sekwencji liczbowych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    23. 17.23. Emulacja instrukcji pause systemu DOS
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    24. 17.24. Wyświetlanie separatora tysięcy
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  20. 18. Mniej pisania — szybsza praca
    1. 18.1. Szybkie przechodzenie między określonymi katalogami
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 18.2. Powtarzanie ostatniego polecenia
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 18.3. Uruchomienie polecenia zbliżonego do wykonywanego wcześniej
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 18.4. Podmiana wartości składających się z większej liczby słów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 18.5. Powtórne wykorzystanie parametrów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    6. 18.6. Automatyczne uzupełnianie nazw
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 18.7. Bezpieczne działania
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  21. 19. Często popełniane błędy — rozwiązania i podpowiedzi
    1. 19.1. Zapominanie o ustawieniu praw wykonywania
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    2. 19.2. Usuwanie błędu „Nie ma takiego pliku ani katalogu”
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    3. 19.3. Zapominanie o braku bieżącego katalogu w zmiennej $PATH
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    4. 19.4. Nadawanie skryptowi nazwy test
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    5. 19.5. Spodziewana zmiana eksportowanych wartości
      1. Problem
      2. Analiza
      3. Analiza
      4. Zobacz również
    6. 19.6. Brak cudzysłowów w operacjach przypisania wywołuje błędy „command not found”
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    7. 19.7. Wartości pasujące do wzorca są układane w kolejności alfabetycznej
    8. 19.8. Potoki powołują podpowłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    9. 19.9. Uzdrawianie terminala
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    10. 19.10. Usuwanie plików z użyciem pustej zmiennej
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    11. 19.11. Niestandardowe zachowanie instrukcji printf
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    12. 19.12. Sprawdzanie składni skryptu powłoki
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    13. 19.13. Śledzenie przebiegu skryptów
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    14. 19.14. Unikanie komunikatów „command not found” podczas korzystania z funkcji
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
    15. 19.15. Pomyłki w stosowaniu symboli wieloznacznych powłoki i wyrażeń regularnych
      1. Problem
      2. Rozwiązanie
      3. Analiza
      4. Zobacz również
  22. A. Podręczna pomoc
    1. Wywołanie powłoki bash
    2. Dostosowanie znaku zachęty
    3. Symbole specjalne ANSI
    4. Polecenia wbudowane i słowa kluczowe
    5. Wbudowane zmienne powłoki
    6. Opcje instrukcji set
    7. Opcje instrukcji shopt
    8. Zmiana sposobu działania powłoki za pomocą instrukcji set, shopt i zmiennych środowiskowych
    9. Operatory wyrażeń warunkowych
    10. Przekierowanie strumieni wejścia-wyjścia
    11. Opcje i znaki specjalne instrukcji echo
    12. Instrukcja printf
      1. Przykłady
      2. Zobacz również
    13. Formatowanie daty i czasu z wykorzystaniem funkcji strftime
    14. Znaki wzorców dopasowywania
    15. Operatory rozszerzonego mechanizmu dopasowywania do wzorca extglob
    16. Symbole specjalne polecenia tr
    17. Składnia pliku konfiguracyjnego mechanizmu readline
    18. Polecenia trybu emacs
    19. Polecenia sterujące trybu vi
    20. Tabela wartości ASCII
  23. B. Przykłady dołączone do oprogramowania bash
    1. Przykłady zapisane w katalogu startup-files
  24. C. Przetwarzanie poleceń
    1. Etapy przetwarzania polecenia
      1. Znaki cudzysłowu i apostrofu
      2. Polecenie eval
  25. D. Kontrola wersji
    1. CVS
      1. Zalety
      2. Wady
      3. Przykład
      4. Zobacz również
    2. Subversion
      1. Zalety
      2. Wady
      3. Przykład
      4. Zobacz również
    3. RCS
      1. Zalety
      2. Wady
      3. Przykład
      4. Skrypt przetwarzania plików z repozytorium RCS
      5. Zobacz również
    4. Inne rozwiązania
      1. Porównywanie dokumentów
      2. Śledzenie zmian i ustalanie wersji
      3. Dostęp do funkcji rejestracji zmian
  26. E. Kompilacja powłoki bash
    1. Pobranie pakietu bash
    2. Rozpakowanie archiwum
    3. Co zawiera archiwum?
      1. Dokumentacja
      2. Konfiguracja i kompilacja pakietu bash
      3. Testowanie powłoki
      4. Potencjalne problemy
      5. Instalowanie interpretera bash jako powłoki logowania
      6. Przykłady
    4. Do kogo się zwrócić?
      1. Zadawanie pytań
      2. Zgłaszanie błędów
  27. F. O autorach
  28. Indeks
  29. Kolofon
  30. Copyright