bash. Wprowadzenie

  • View
    2.776

  • Download
    4

Embed Size (px)

DESCRIPTION

Kompletny przewodnik po programowaniu powłoki Uniksa * Konfigurowanie środowiska tekstowego * Tworzenie skryptów powłoki * Administrowanie powłoką bash Powłoka to pierwszy element systemów uniksowych, z którym spotykają się użytkownicy. Pod nazwą "powłoka" kryje się tekstowy interfejs użytkownika -- przez długi czas jedyny sposób komunikacji z systemem. Powłoki to samodzielne narzędzia, odseparowane od właściwego systemu. Z tego właśnie powodu dostępne są różne ich wersje. Dziś, mimo rozpowszechnienia środowisk graficznych, powłoki nadal są wykorzystywane. Dzięki nim można w prosty sposób zrealizować zadania związane z przetwarzaniem plików tekstowych i zawartych w nich danych. Znajomość zagadnień związanych z programowaniem powłoki, szczególnie tej najpopularniejszej -- bash, może przydać się każdemu administratorowi Linuksa. "bash. Wprowadzenie" to książka przedstawiająca tajniki najnowszej wersji powłoki bash (Bourne Again Shell). Przeznaczona jest zarówno dla tych użytkowników systemów uniksowych, którzy wykorzystują powłokę w charakterze interfejsu użytkownika, jak i dla tych, którzy stosują ją w roli narzędzia programistycznego. Niniejsza pozycja opisuje sposób instalowania i konfigurowania powłoki bash, jej zaawansowane mechanizmy, takie jak historia poleceń oraz zagadnienia związane z tworzeniem skryptów powłoki. Zawiera informacje dotyczące pisania programów oraz usuwania z nich błędów. Administratorzy systemów znajdą tu cenne porady związane z zarządzaniem powłoką bash na potrzeby użytkowników systemów. * Podstawy pracy z powłoką bash * Edytory emacs i vi * Dostosowywanie środowiska do własnych potrzeb * Definiowanie zmiennych powłoki * Wyrażenia warunkowe * Operacje wejścia i wyjścia * Sterowanie działaniem procesów * Usuwanie błędów ze skryptów * Administrowanie powłoką bash Każdy użytkownik Linuksa oraz innych systemów z rodziny Unix znajdzie tu bardzo wartościowe informacje.

Text of bash. Wprowadzenie

  • 1. IDZ DOPRZYKADOWY ROZDZIA SPIS TRECIbash. WprowadzenieAutorzy: Cameron Newham, Bill RosenblattKATALOG KSIEK Tumaczenie: Daniel Kaczmarek (przedmowa, rozdz. 18,1012), Magorzata Czart (rozdz. 9, dod. AD)ISBN: 83-246-0047-7 KATALOG ONLINE Tytu oryginau: Learning the Bash Shell: 3rd EditionFormat: B5, stron: 344ZAMW DRUKOWANY KATALOG TWJ KOSZYKKompletny przewodnik po programowaniu powoki Uniksa Konfigurowanie rodowiska tekstowego DODAJ DO KOSZYKA Tworzenie skryptw powoki Administrowanie powok bashPowoka to pierwszy element systemw uniksowych, z ktrym spotykaj siCENNIK I INFORMACJE uytkownicy. Pod nazw powoka kryje si tekstowy interfejs uytkownika przezdugi czas jedyny sposb komunikacji z systemem. Powoki to samodzielne narzdzia,ZAMW INFORMACJEodseparowane od waciwego systemu. Z tego wanie powodu dostpne s rneO NOWOCIACHich wersje. Dzi, mimo rozpowszechnienia rodowisk graficznych, powoki nadal swykorzystywane. Dziki nim mona w prosty sposb zrealizowa zadania zwizaneZAMW CENNIKz przetwarzaniem plikw tekstowych i zawartych w nich danych. Znajomo zagadniezwizanych z programowaniem powoki, szczeglnie tej najpopularniejszej bash,moe przyda si kademu administratorowi Linuksa.CZYTELNIA bash. Wprowadzenie to ksika przedstawiajca tajniki najnowszej wersji powokibash (Bourne Again Shell). Przeznaczona jest zarwno dla tych uytkownikw FRAGMENTY KSIEK ONLINE systemw uniksowych, ktrzy wykorzystuj powok w charakterze interfejsuuytkownika, jak i dla tych, ktrzy stosuj j w roli narzdzia programistycznego.Niniejsza pozycja opisuje sposb instalowania i konfigurowania powoki bash, jejzaawansowane mechanizmy, takie jak historia polece oraz zagadnienia zwizanez tworzeniem skryptw powoki. Zawiera informacje dotyczce pisania programworaz usuwania z nich bdw. Administratorzy systemw znajd tu cenne poradyzwizane z zarzdzaniem powok bash na potrzeby uytkownikw systemw. Podstawy pracy z powok bash Edytory emacs i vi Dostosowywanie rodowiska do wasnych potrzeb Definiowanie zmiennych powoki Wydawnictwo Helion Wyraenia warunkowe ul. Chopina 6 Operacje wejcia i wyjcia 44-100 Gliwice Sterowanie dziaaniem procesw tel. (32)230-98-63 Usuwanie bdw ze skryptw e-mail: helion@helion.pl Administrowanie powok bashKady uytkownik Linuksa oraz innych systemw z rodziny Unix znajdzie tu bardzowartociowe informacje.

2. Spis treci Przedmowa .................................................................................................................... 71. Podstawy powoki bash ...............................................................................................15Czym jest powoka?16Zakres ksiki16Historia powok Uniksa17Uaktywnianie powoki bash 19Interaktywna praca z powok20Pliki 21Operacje wejcia-wyjcia28Zadania drugoplanowe31Znaki specjalne i uywanie cudzysoww34Pomoc 402. Edytowanie w wierszu polece .................................................................................. 41Wczanie edycji w wierszu polece42Historia polece42Tryb edycji emacs 43Tryb edycji vi50Polecenie fc59Uzupenianie histori 62readline63Praca z klawiatur673. Dostosowywanie rodowiska ..................................................................................... 69Pliki .bash_profile, .bash_logout i .bashrc 70Aliasy71Opcje 74Zmienne powoki 76Dostosowywanie i podprocesy 88Wskazwki co do dostosowywania rodowiska 933 3. 4. Podstawy programowania powoki ........................................................................... 95Skrypty i funkcje powoki95Zmienne powoki99Operatory cigw znakw 104Zastpowanie poleceniem 114Przykady zaawansowane: pushd i popd118 5. Sterowanie przebiegiem ............................................................................................123if/else 124for 137case143select146while i until 149 6. Opcje polece i zmienne o okrelonym typie ............................................................ 151Opcje polece 151Zmienne o okrelonym typie159Zmienne cakowitoliczbowe i dziaania arytmetyczne160Tablice 170 7. Operacje wejcia-wyjcia i przetwarzanie wiersza polece ...................................175Przekierowania wejcia-wyjcia175Operacje wejcia-wyjcia na cigach znakw181Przetwarzanie wiersza polece 192 8. Obsuga procesw ..................................................................................................... 209Identyfikatory procesw i numery zada210Kontrola zada210Sygnay 214trap220Procesy rwnolege225Podpowoki229Zastpowanie procesem 231 9. Debugowanie skryptw powoki ............................................................................. 233Podstawowe narzdzia wspomagajce debugowanie 233Debuger dla powoki bash24110. Administrowanie powok bash .............................................................................. 259Instalowanie powoki bash jako powoki standardowej 259Dostosowywanie rodowiska 261Mechanizmy zabezpieczania systemu 2664|Spis treci 4. 11. Pisanie skryptw powoki ......................................................................................... 269 Jak to dziaa?269 Pocztek tworzenia skryptu271 Potencjalne problemy273 Kiedy nie uywa powoki bash 27412. Uruchamianie powoki bash w systemie ................................................................. 275 Pobieranie powoki bash 275 Rozpakowywanie archiwum 275 Zawarto archiwum276 Do kogo si zwrci?281 A Powoki podobne ...................................................................................................... 283 Powoka Bournea283 Standard powoki 1003.2 POSIX 285 Powoka Korn287 pdksh 289 zsh 289 Klony powoki i platformy podobne do Uniksa 290 B Listy sumaryczne ....................................................................................................... 293 Uruchamianie293 Moliwe modyfikacje znaku zachty 295 Wbudowane polecenia i sowa zastrzeone 296 Wbudowane zmienne powoki 298 Operatory testowe 302 Opcje polecenia set 303 Opcje polecenia shopt 305 Przekierowanie wejcia-wyjcia306 Polecenia edycji trybu emacs308 Polecenia trybu kontrolnego vi310 C adowalne funkcje wbudowane ...............................................................................313 D Programowalne uzupenianie ...................................................................................319Skorowidz .................................................................................................................. 325Spis treci| 5 5. ROZDZIA 1.Podstawy powoki bashPopularno systemu Unix stale wzrasta od chwili jego powstania, to jest od wczesnych lat 70. W tym czasie powstao wiele rnych wersji systemu, noszcych takie nazwy jak Ultrix, AIX, Xenix, Unos i Linux. Pocztkowo Unix by wykorzystywany na minikomputerach i kompute- rach mainframe, jednak z czasem zaczto go instalowa rwnie na biurkowych stacjach robo- czych, a nawet na komputerach osobistych wykorzystywanych w domu i w pracy. Unix nie jest ju uytkowany jedynie przez komputerowych zapalecw na uniwersytetach i w centrach naukowych. Jest take wykorzystywany w biznesie, szkoach i w domach. Z biegiem czasu co- raz wicej osb bdzie miao styczno z Uniksem. Czytelnik mg ju uywa systemu Unix w szkole, biurze albo w domu do uruchamiania apli- kacji, drukowania dokumentw i odczytywania poczty elektronicznej. Mao kto jednak zasta- nawia si nad mechanizmami uruchamianymi po wpisaniu polecenia i naciniciu klawisza RETURN. Po wpisaniu polecenia przetwarzanie odbywa si w rnych warstwach systemu, jednak w ni- niejszej ksice zajmiemy si tylko warstw najwyszego poziomu, ktr jest powoka. Ogl- nie mwic, powoka to dowolny interfejs uytkownika do systemu operacyjnego Unix, czyli kady program, ktry pobiera dane wejciowe od uytkownika, tumaczy je na instrukcje zro- zumiae dla systemu operacyjnego, a take przekazuje uytkownikowi dane wyjciowe wyge- nerowane przez system operacyjny. Na rysunku 1.1 przedstawiono relacje midzy uytkowni- kiem, powok i systemem operacyjnym. Rysunek 1.1. Powoka jest warstw otaczajc system operacyjny Unix15 6. Istnieje szereg rnych typw interfejsw uytkownika. Powoka bash naley do najbardziej po- pularnej kategorii: znakowych interfejsw uytkownika. Tego typu interfejsy przyjmuj teksto- we wiersze polece wpisywanych przez uytkownika i zwykle generuj dane wyjciowe rw- nie w postaci tekstowej. Do innych kategorii zalicza si coraz bardziej popularne graficzne interfejsy uytkownika (GUI), ktre pozwalaj na wywietlanie okrelonych elementw graficz- nych (a nie tylko graficznego obrazu liter) i przyjmuj dane wejciowe generowane przez mysz lub inne urzdzenia wskazujce, interfejsy w postaci ekranw dotykowych (obecne na przykad w niektrych rodzajach bankomatw) itp. Czym jest powoka? Zadaniem powoki jest tumaczenie wierszy polece uytkownika na instrukcje systemu ope- racyjnego. Spjrzmy na ponisze polecenie:sort -n lista > lista.posortowanaPolecenie to oznacza: Posortuj w porzdku liczbowym wiersze znajdujce si w pliku lista i umie wyniki w pliku o nazwie lista.posortowana. Oto czynnoci wykonywane przez powo- k w odpowiedzi na to polecenie:1. Podzia wiersza na nastpujce fragmenty: sort, -n, lista, > i lista.posortowana. Frag-menty te to tak zwane sowa.2. Ustalenie znaczenia poszczeglnych sw: sort jest poleceniem, -n i lista to argumenty,a > i lista.posortowana zczone razem stanowi instrukcj wejcia-wyjcia.3. Ustawienie wejcia-wyjcia zgodnie z zapisem > lista.posortowana (przesanie wynikwdo pliku lista.posortowana) oraz kilka wewntrznych, standardowych krokw.4. Odnalezienie pliku z poleceniem sort i jego uruchomienie z opcj -n (porzdek liczbowy)oraz argumentem lista (nazwa pliku wejciowego). Oczywicie, kady z tych krokw skada si z kilku pomniejszych czynnoci, a kada z nich zawiera konkretn instrukcj systemu operacyjnego. Naley pamita, e sama powoka nie jest systemem Unix jest to jedynie interfejs do sys- temu. Unix jest jednym z pierwszych systemw operacyjnych, w ktrych interfejs uytkownika jest cakowicie niezaleny od samego systemu. Zakres ksiki W niniejszej ksice zostaa opisana powoka bash, bdca jedn z najnowszych i najbogatszych spord najpopularniejszych p