Skrypty_powloki_Od_podstaw_skrypo.pdf

(337 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
Skrypty pow³oki.
Od podstaw
Autorzy: Eric Foster-Johnson,
John C. Welch, Micah Anderson
T³umaczenie: Przemys³aw Szeremiota
ISBN: 83-246-0209-7
Tytu³ orygina³u:
Beginning Shell Scripting
Format: B5, stron: 576
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Wykorzystaj wszystkie mo¿liwoœci systemu operacyjnego
• Poznaj rodzaje pow³ok
• Naucz siê pisaæ skrypty i u¿ywaj ich do ró¿nych zadañ
• Pos³uguj siê skryptami do sterowania aplikacj¹
Mimo dynamicznego rozwoju graficznych systemów operacyjnych niektóre
zadania mo¿na wykonywaæ jedynie z poziomu konsoli tekstowej. Korzystaj¹c z niej,
administrator precyzyjniej kontroluje dzia³anie systemu, szybciej rozwi¹zuje problemy
sprzêtowe i sprawniej optymalizuje standardowe procesy. Pow³oki i skrypty stanowi¹
odpowiednie narzêdzia pracy dla doœwiadczonych u¿ytkowników systemów
operacyjnych.
Ksi¹¿ka „Skrypty pow³oki. Od podstaw” przedstawia metody korzystania z pow³oki
tekstowej w ró¿nych systemach operacyjnych — Windows, Mac OS X, Linux i Unix.
Omawia zarówno proste, jak i zaawansowane skrypty oraz pokazuje mo¿liwoœci ich
zastosowania. Ka¿de zagadnienie przedstawione jest na przyk³adzie, co u³atwia
przyswajanie wiedzy. Ksi¹¿ka zawiera wszystkie wiadomoœci o skryptach niezbêdne
do samodzielnego ich tworzenia i wykorzystywania.
• Pow³oki w ró¿nych systemach operacyjnych
• Narzêdzia do edycji skryptów pow³oki
• Stosowanie zmiennych
• Operacje wejœcia i wyjœcia
• Sterowanie dzia³aniem skryptów
• Interakcja skryptu z systemem operacyjnym
• Przetwarzanie tekstów
• Kontrolowanie procesów systemowych
• Testowanie skryptów
• Stosowanie skryptów w œrodowiskach graficznych
Poznaj techniki, dziêki którym wykorzystasz ca³¹ moc komputera
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
O autorach ...................................................................................................................................................11
Wprowadzenie ...........................................................................................................................................13
Rozdział 1. Powłoki
wprowadzenie ......................................................................................................19
Czym jest powłoka? ..................................................................................................... 20
Po co nam powłoki? ..................................................................................................... 21
Rodzaje powłok ............................................................................................................ 22
Powłoka Bourne’a ................................................................................................... 23
Powłoka C .............................................................................................................. 23
Powłoka Korna ....................................................................................................... 24
Powłoka bash ......................................................................................................... 25
Powłoka T C ........................................................................................................... 26
Inne powłoki ........................................................................................................... 26
Powłoki graficzne .................................................................................................... 27
Oficjalna powłoka POSIX .......................................................................................... 28
Powłoki domyślne ................................................................................................... 28
Wybór powłoki ........................................................................................................ 29
Zmiana powłoki domyślnej ....................................................................................... 30
Uruchamianie powłoki w powłoce ............................................................................. 32
Więcej informacji o powłoce ..................................................................................... 33
Powłoki a środowisko graficzne ..................................................................................... 33
Uruchamianie powłoki w Linuksie ............................................................................. 35
Uruchamianie powłoki w Mac OS X ........................................................................... 37
Uruchamianie powłoki w systemach Unix .................................................................. 38
Uruchamianie powłoki w Windows
command.com to mało? ................................... 39
Uruchamianie powłoki na urządzeniach PDA i w innych systemach .............................. 40
Wprowadzanie poleceń ................................................................................................. 40
Jaka to powłoka? .................................................................................................... 42
Opcje wywołania ..................................................................................................... 44
Edycja wiersza polecenia .............................................................................................. 48
Przywoływanie poleceń ............................................................................................ 49
Przeglądanie historii poleceń ................................................................................... 53
Wywoływanie edytora wiersza polecenia .................................................................... 55
Uzupełnianie nazw plików ........................................................................................ 56
Symbole wieloznaczne .................................................................................................. 57
Symbol * ............................................................................................................... 57
Symbol ? ............................................................................................................... 59
Uruchamianie poleceń w tle .......................................................................................... 60
Podsumowanie ............................................................................................................ 60
4
Skrypty powłoki. Od podstaw
Rozdział 2. Wprowadzenie do skryptów powłoki .................................................................................. 63
Czym są skrypty powłoki? ............................................................................................. 64
Alternatywne języki skryptowe ....................................................................................... 67
Perl ....................................................................................................................... 68
Python ................................................................................................................... 70
Tcl ......................................................................................................................... 71
Pliki wsadowe MS-DOS ............................................................................................ 72
Narzędzia edycji skryptów powłoki ................................................................................. 72
Edytory tradycyjne ................................................................................................... 72
Edytory graficzne ..................................................................................................... 85
Pisanie skryptów .......................................................................................................... 93
Odciążanie pamięci
skrypty wywołujące proste polecenia ....................................... 93
Wyprowadzanie tekstu ze skryptów ........................................................................... 95
Zmienne ................................................................................................................ 99
Pozyskiwanie danych z wejścia ............................................................................... 105
Komentarze w skryptach ....................................................................................... 107
Łamanie wierszy ................................................................................................... 110
Podsumowanie .......................................................................................................... 111
Zadania ..................................................................................................................... 112
Rozdział 3. Sterowanie przebiegiem wykonywania skryptów ............................................................115
Odwołania do zmiennych ............................................................................................ 116
Pętle i iteracje ........................................................................................................... 120
Przeglądanie listy plików ........................................................................................ 121
Pętle o określonej liczbie iteracji ............................................................................ 124
Powłoka bash
pętle jak w języku C ..................................................................... 127
Pętle w powłoce C ................................................................................................ 129
Pętle zagnieżdżone ............................................................................................... 130
Instrukcje warunkowe
jeśli ...................................................................................... 131
A jeśli nie? ........................................................................................................... 133
Czym jest prawda? ................................................................................................ 133
Przekierowywanie wyjścia ...................................................................................... 137
elif
skrót od else if ........................................................................................... 143
Zagnieżdżanie instrukcji if ........................................................................................... 145
Testowanie poleceniem test ....................................................................................... 146
Porównywanie liczb ............................................................................................... 146
Porównywanie ciągów tekstowych ........................................................................... 149
Testowanie plików ................................................................................................ 152
Operatory logiczne i operator negacji ...................................................................... 152
Skrócony zapis polecenia test ............................................................................... 155
Trudne decyzje a instrukcja wyboru .............................................................................. 157
Obsługa problematycznych danych wejściowych ....................................................... 159
Instrukcja wyboru w powłoce C ............................................................................... 161
Pętla while
powtarzanie pod warunkiem ................................................................... 163
Powtarzanie pod warunkiem
pętla until .................................................................... 164
Podsumowanie .......................................................................................................... 166
Zadania ..................................................................................................................... 166
Spis treści
5
Rozdział 4. Interakcja ze środowiskiem skryptu .................................................................................169
Zmienne środowiskowe .............................................................................................. 169
Odczytywanie wartości zmiennych środowiskowych .................................................. 170
Ustawianie zmiennych środowiskowych .................................................................. 184
Dostosowywanie własnego konta ................................................................................ 187
Rozruch powłoki Bourne’a ..................................................................................... 188
Rozruch powłoki Korna .......................................................................................... 188
Rozruch powłoki C ................................................................................................ 188
Rozruch powłoki T C .............................................................................................. 189
Rozruch powłoki bash ........................................................................................... 189
Obsługa argumentów wiersza poleceń ......................................................................... 190
Wczytywanie argumentów wywołania w powłoce Bourne’a ........................................ 191
Wczytywanie argumentów wywołania w powłoce C ................................................... 195
Usamodzielnianie skryptów powłoki ............................................................................. 195
Nadawanie skryptowi atrybutu wykonywalności ........................................................ 195
Magiczny wiersz #! ................................................................................................ 196
Podsumowanie .......................................................................................................... 200
Zadania ..................................................................................................................... 200
Rozdział 5. Praca z plikami .....................................................................................................................201
Tworzenie archiwów plików ......................................................................................... 202
Manipulowanie uprawnieniami .................................................................................... 203
Analizowanie atrybutów plików poleceniem test ............................................................ 205
Pliki w systemie Mac OS X .......................................................................................... 207
Spuścizna po NeXT ............................................................................................... 207
Mobilne systemy plików w Mac OS X ...................................................................... 208
Nazewnictwo ........................................................................................................ 210
Odwieczna wojna w Mac OS X
HFS+ kontra UFS ....................................................... 210
Pliki na widelcu ..................................................................................................... 211
Pliki w plikach i programy interaktywne ........................................................................ 213
Wyświetlanie komunikatów z wejścia wsobnego ...................................................... 214
Dynamiczny tekst wejścia wsobnego ...................................................................... 215
Wejście wsobne a sterowanie przebiegiem poleceń interaktywnych ........................... 219
Blokowanie podstawiania zmiennych ...................................................................... 222
Podsumowanie .......................................................................................................... 223
Zadania ..................................................................................................................... 224
Rozdział 6. Przetwarzanie tekstu edytorem sed ................................................................................. 225
sed
wprowadzenie ................................................................................................. 226
Wersje edytora sed .................................................................................................... 227
Instalowanie edytora sed ............................................................................................ 228
Instalacja
faza wstępna .................................................................................... 228
Konfiguracja i właściwa instalacja .......................................................................... 229
Zasada działania edytora sed ..................................................................................... 230
Wywoływanie edytora ............................................................................................ 231
Polecenia edycji .................................................................................................... 232
Wywoływanie edytora z opcją -e i nazwą pliku źródłowego ......................................... 233
Opcje -n, --quiet i --silent ........................................................................................ 234
Błędy edycji .......................................................................................................... 236
6
Skrypty powłoki. Od podstaw
Wybieranie wierszy do obróbki ..................................................................................... 236
Adresowanie zakresowe ........................................................................................ 237
Negacja adresu .................................................................................................... 239
Postęp adresu ...................................................................................................... 239
Podstawianie ............................................................................................................. 240
Znaczniki podstawiania ......................................................................................... 242
Alternatywny separator ciągów ............................................................................... 243
Adresowanie podstawiania .................................................................................... 244
Zaawansowane wywołania sed .................................................................................... 245
Komentarze .......................................................................................................... 247
Polecenia wstawiania, dołączania i zmiany .............................................................. 248
Adresowanie zaawansowane ....................................................................................... 249
Adresowanie wyrażeniami regularnymi .................................................................... 250
Klasy znaków ....................................................................................................... 253
Adresowanie zakresowe z użyciem wyrażeń regularnych ........................................... 254
Adresowanie mieszane .......................................................................................... 255
Podstawienia zaawansowane ...................................................................................... 256
Odwołania do dopasowanych ciągów ...................................................................... 256
Odwołania do podwyrażeń ..................................................................................... 258
Obszar zapasowy ....................................................................................................... 259
Dodatkowe źródła informacji ....................................................................................... 261
Jednowierszowce .................................................................................................. 261
Wybrane polecenia sed ......................................................................................... 263
Mniej znane polecenia sed .................................................................................... 263
Rozszerzenia GNU ................................................................................................ 264
Podsumowanie .......................................................................................................... 264
Zadania ..................................................................................................................... 266
Rozdział 7. Przetwarzanie tekstu w języku awk ................................................................................. 267
Czym jest awk (gawk, mawk, nawk, oawk)? .................................................................. 268
Gawk, czyli GNU awk ............................................................................................. 268
Jaka to wersja? .................................................................................................... 269
Instalowanie gawk ................................................................................................ 270
Zasada działania awk ................................................................................................. 272
Wywoływanie awk ....................................................................................................... 273
Instrukcja print .......................................................................................................... 276
Separatory pól ...................................................................................................... 279
Instrukcja printf .................................................................................................... 280
Modyfikatory formatu instrukcji printf ...................................................................... 282
Funkcja sprintf ...................................................................................................... 283
Zmienne w awk .......................................................................................................... 284
Zmienne użytkownika ............................................................................................ 284
Zmienne wbudowane ............................................................................................ 285
Instrukcje sterujące .................................................................................................... 288
Instrukcja if .......................................................................................................... 289
Operatory relacji ................................................................................................... 290
Funkcje arytmetyczne ............................................................................................ 291
Przekierowywanie wyjścia ...................................................................................... 293
Pętle while ........................................................................................................... 293
Pętle for ............................................................................................................... 294
Zgłoś jeśli naruszono regulamin