3a. Interpretacja znaków specjalnych

Dokument: pdf (119.8 KB)
  • 3 stron
Opublikowany 2017-07-23 02:20:53

08.03.2017, 00*58Systemy Operacyjne - Lekcja 4 - Segment 1 Strona 1 z 3http://oldwww.imio.pw.edu.pl/wwwvlsi/cad/teaching/soe/materialy/LEKCJA4/SEGMENT3/MAIN.HTM 3. Interpretacja znaków specjalnych przez powłokę (3.1) Rozwijanie nazw plików Każdy interpreter dopuszcza stosowanie w nazwach plików specjalnych znaków, które mogą zastępować jeden lub więcej dowolnych znaków. Otrzymuje się w ten sposób wzorce pasujące do nazw kilku plików. Poniżej przedstawiono zestaw znaków specjalnych powłoki zsh: ? - zastępuje jeden dowolny znak, * - zastępuje dowolny ciąg znaków, [ ] - zastępuje jeden znak z listy podanej wewnątrz nawiasów, [ - ] - zastępuje jeden znak z zakresu podanego wewnątrz nawiasów, [^ ] lub [! ] - zastępuje dowolny znak oprócz tych podanych wewnątrz nawiasów. Przykład. ls *.[hc] (3.2) Cytowanie Cytowanie stosowane jest w celu usunięcia specjalnego znaczenia niektórych znaków i słów. Zapobiega interpretacji tych znaków przez powłokę, przywracając ich podstawowe znaczenie. Niektóre sposoby cytowania dopuszczają pewne wyjątki: \ - zapobiega interpretacji następnego znaku, " " - zapobiegają interpretacji wszystkich znaków zawartych wewnątrz cudzysłowów, z wyjątkiem znaków $ i ``, ' ' - zapobiegają interpretacji wszystkich znaków zawartych wewnątrz apostrofów, ` ` - wykonuje polecenie zawarte wewnątrz znaków i wstawia w to miejsce strumień wyjściowy tego polecenia. Przykład. echo "`date` $pwd" (3.3) Grupowanie poleceń Interpreter umożliwia jednoczesne wydanie kilku poleceń w jeden linii. Sposób zgrupowania zdecyduje o tym, w jaki sposób i w jakiej kolejności powloka wykona te polecenia. Poniżej przedstawiono kilka możliwości połączenia poleceń w jednej linii oraz efekty takiego użycia (skrót cmd oznacza dowolne polecenie): cmd ; cmd ; cmd - powłoka grupuje polecenia na pierwszym planie wykonując je sekwencyjnie, cmd & cmd & cmd & - powłoka grupuje polecenia w tle wykonując je asynchronicznie, cmd | cmd | cmd - powłoka grupuje polecenia wykonując je w potoku, 08.03.2017, 00*58Systemy Operacyjne - Lekcja 4 - Segment 1 Strona 2 z 3http://oldwww.imio.pw.edu.pl/wwwvlsi/cad/teaching/soe/materialy/LEKCJA4/SEGMENT3/MAIN.HTM (cmd ; cmd) - powłoka grupuje polecenia i wykonuje w nowej powłoce, { cmd ; cmd ; } - powłoka grupuje polecenia i wykonuje w bieżącej powłoce, tworzy jeden strumień wyjściowy dla całej grupy poleceń i zwraca jeden status zakończenia. (3.4) Przekierowanie strumieni Powłoka związuje z każdym tworzonym procesem trzy strumienie danych: 1. standardowy strumień wejciowy stdin, 2. standardowy strumień wyjciowy stdout, 3. standardowy strumień błędów (diagnostyczny) stderror. Każdy ze strumieni związany jest z plikiem zwykłym lub z plikiem urządzenia wejścia/wyjścia. Domyślnym przywiązaniem dla wszystkich strumieni jest plik terminala. Każdy plik otwarty przez proces otrzymuje kolejny numer zwany deskryptorem pliku. Deskryptory 0, 1 i 2 zarezerwowane są dla plików związanych ze standardowymi strumieniami. Przed wykonaniem dowolnego polecenia można zmienić domyślne przywiązanie strumieni, czyli przekierować wejście i wyjście z polecenia. Przekierowania strumieni w powłoce zsh obejmują następujące operacje: [d]plik - przekierowanie wyjścia powoduje otwarcie pliku do pisania z deskryptorem d; jeżeli d zostało pominięte przyjmowane jest 1, [d]>>plik - przekierowanie wyjścia powoduje otwarcie pliku do dopisywania z deskryptorem d; jeżeli d zostało pominięte, przyjmowane jest 1, [d]<>plik - przekierowanie powoduje otwarcie pliku do czytania i pisania z deskryptorem d, &>plik lub >&plik - przekierowanie powoduje skierowanie strumienia wyjściowego i strumienia błędów do tego samego pliku, [d1]>&d2 - przekierowanie powoduje zduplikowanie deskryptora pliku wyjściowego; deskryptor d1 staje się kopią deskryptora d2 i wskazuje na ten sam plik. Jeżeli numer deskryptora d zostanie pominięty, to powłoka domyślnie przyjmie deskryptor 0 (stdin) lub 1 (stdout) w zależności od rodzaju przekierowania. Operatory przekierowania można umieścić w linii polecenia zarówno przed jak i za poleceniem. Przekierowania wykonywane są w kolejnosci występowania licząc od lewej do prawej. (3.5) Inne Interpreter korzysta jeszcze z kilku innych znaków specjalnych, które zostały już wprowadzone we wcześniejszej części tego podręcznika Dla przypomnienia przytaczamy je również w tym miejscu: spacja, tabulator, znak nowej linii - separatory rozdzielające poszczególne elementy polecenia, ~ - katalog domowy użytkownika, 08.03.2017, 00*58Systemy Operacyjne - Lekcja 4 - Segment 1 Strona 3 z 3http://oldwww.imio.pw.edu.pl/wwwvlsi/cad/teaching/soe/materialy/LEKCJA4/SEGMENT3/MAIN.HTM $ - podstawienie wartości parametru (zmiennej), ! - odwołanie do mechanizmu historii. ...

Komentarze do: 3a. Interpretacja znaków specjalnych • 0