Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00095 006833 12235460 na godz. na dobę w sumie
Bash. Leksykon kieszonkowy. Przewodnik dla użytkowników i administratorów systemów - ebook/pdf
Bash. Leksykon kieszonkowy. Przewodnik dla użytkowników i administratorów systemów - ebook/pdf
Autor: Liczba stron: 112
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-2821-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> systemy operacyjne >> unix
Porównaj ceny (książka, ebook (-20%), audiobook).
Bash jest podstawową powłoką dla systemów operacyjnych GNU/Linux i Mac OS X, jest również dostępny dla systemu Solaris oraz dla systemów z rodziny BSD. Może być też z łatwością skompilowany dla każdego innego systemu Unix, a nawet dla OpenVMS. Oznacza to, że każdy administrator komputerów pracujących pod kontrolą Uniksa lub pokrewnego systemu powinien umieć posługiwać się Bashem. Tymczasem pisanie skryptów powłoki nieraz sprawia spore problemy.

Niniejsza książeczka może stanowić remedium na te kłopoty. To zwięzłe i praktyczne kompendium dotyczy Basha w wersji 4.4, podstawowej powłoki dla systemów operacyjnych z rodziny Unix. Może posłużyć jako podręcznik do szybkiej nauki Basha lub poręczna ściągawka, dzięki której błyskawicznie można znaleźć rozwiązanie napotkanego problemu. Układ książki ułatwia szybkie przeglądanie i wyszukanie interesującej nas treści. Równocześnie zawarte w niej informacje powinny każdemu początkującemu administratorowi pozwolić na sprawne rozpoczęcie pracy z powłoką Bash.

W tej książce przedstawiono:

Poznaj Bash — Twoje narzędzie pozwalające w pełni kontrolować system!


Arnold Robbins — programista i autor książek technicznych. Pierwszy raz zetknął się z systemami uniksowymi w roku 1980, już kilka lat później zaczął pisać skrypty powłoki. Obecnie jest opiekunem implementacji gawk i związanej z nim dokumentacji.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Bash Pocket Reference, Second Edition Tłumaczenie: Patryk Wierzchoń ISBN: 978-83-283-2820-4 © 2016 Helion S.A. Authorized Polish translation of the English edition of Bash Pocket Reference, 2E ISBN 9781491941591© 2016 Arnold Robbins. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. Polish edition copyright © 2015 by Helion S.A. All rights reserved. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/baslku Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treści Pow(cid:293)oka Bash ..................................................................................................... 5 Konwencje typograficzne stosowane w ksi(cid:241)(cid:276)ce...................................... 6 Historia ........................................................................................................... 6 Przegl(cid:241)d funkcjonalno(cid:264)ci............................................................................. 7 Wywo(cid:228)ywanie pow(cid:228)oki................................................................................ 7 Status wyj(cid:264)ciowy polecenia......................................................................... 9 Sk(cid:228)adnia ........................................................................................................ 10 Funkcje .......................................................................................................... 22 Zmienne........................................................................................................ 24 Wyra(cid:276)enia arytmetyczne ........................................................................... 38 Historia polece(cid:254)........................................................................................... 40 Programowalne uzupe(cid:228)nianie................................................................... 43 Kontrola zada(cid:254) ............................................................................................ 47 Opcje pow(cid:228)oki.............................................................................................. 48 Wykonywanie polece(cid:254)............................................................................... 53 Procesy wspó(cid:228)bie(cid:276)ne .................................................................................. 54 Pow(cid:228)oki ograniczone .................................................................................. 55 Polecenia wbudowane ............................................................................... 56 (cid:273)ród(cid:228)a.......................................................................................................... 102 Podzi(cid:246)kowania .......................................................................................... 103 Podzi(cid:246)kowania z pierwszego wydania................................................. 104 Skorowidz........................................................................................................105 3 Poleć książkęKup książkę 4 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę Zmienne W tej sekcji opisano: (cid:120) przypisywanie zmiennych, (cid:120) podstawianie zmiennych, (cid:120) zmienne pośrednie, (cid:120) wbudowane zmienne powłoki, (cid:120) pozostałe zmienne powłoki, (cid:120) tabele, (cid:120) specjalne znaki zachęty. Przypisywanie zmiennych Nazwy zmiennych składają się z dowolnej liczby liter, cyfr i podkreślników. Powłoka rozróżnia wielkość znaków i nie pozwala na rozpoczynanie nazw zmiennych od cyfr. Wartości przypisuje się znakiem =. Nie wolno wstawiać spacji pomiędzy nazwą zmiennej a jej wartością. Możesz przypisać wiele wartości do wielu zmiennych w jednej linii, rozdzielając deklaracje spacjami: imie=Arnold nazwisko=Boczek liczbadzieci=4 liczbazwierzat=1 Zgodnie z konwencją nazwy zmiennych wykorzystywanych lub ustawianych przez powłokę zapisuje się wielkimi literami. Możesz jednak wykorzystywać taki zapis w swoich skryptach, jeśli nazwa Twojej zmiennej nie pokrywa się ze specjalną zmienną powłoki. Domyślnie powłoka traktuje wartości zmiennych jako łańcuchy znaków, nawet jeśli zawierają tylko cyfry. Jednak gdy wartość przypisana jest do zmiennej typu integer (stworzonej za pomocą declare –i), Bash zinterpretuje przypi- saną wartość jako wyrażenie arytmetyczne (zobacz „Wyrażenia arytmetyczne”). Na przykład: $ i=5+3 ; echo $i 5+3 $ declare -i jj ; jj=5+3 ; echo $jj 8 24 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę Operator += umożliwia dodanie prawej strony deklaracji do istniejącej war- tości. Dla zmiennych typu integer wyrażenie po prawej stronie deklaracji jest rozpatrywane jako wyrażenie arytmetyczne, które jest obliczane i doda- wane do wartości. Natomiast nowe wartości zmiennych tablicowych zostają dopisane do tabel. Na przykład: $ imie=Arnold Zmienna typu string $ imie+= Boczek ; echo $imie Arnold Boczek $ declare -i jj ; jj=3+5 Zmienna typu integer $ echo $jj 8 $ jj+=2+4 ; echo $jj 14 $ zwierzeta=(czarna ruda) Zmienna tablicowa $ echo ${zwierzeta[*]} czarna ruda $ zwierzeta+=(chmura zosia) $ echo ${zwierzeta[*]} czarna ruda chmura zosia Podstawianie zmiennych W poniższych wyrażeniach nie wstawia się spacji. Dwukropek (:) jest opcjo- nalny — jeśli został zastosowany, zmienna musi być ustawiona i różna od null. Formy podstawiania zmiennych uwzględniają wartość opcji nocasematch. W powłokach nieinteraktywnych z włączoną opcją set -u stosowanie nie- ustawionej zmiennej w podstawieniach #, ##, , , //, /#, / , ^, ^^, , i ,, spowoduje wyjście z powłoki. Rozważ tekst zacytowany w apostrofach w podstawieniu zmiennej ${zmienna (cid:180):=a specjalny-tekst b}. W tym przykładzie specjalny-tekst rozpo- znany będzie jako cytowany. Jednak w trybie POSIX, gdzie podstawianie zmiennej odbywa się w cudzysłowie, apostrofy nie będą rozpoznane jako wewnętrzne, zagnieżdżone cytowanie. Istnieją też wyjątki: apostrofy oznaczają cytowanie, jeżeli stosowane są w podstawieniach #, ##, , , //, /#, / , ^, ^^, , i ,,. zmienna=warto(cid:258)(cid:202) ${zmienna} ${zmienna:-warto(cid:258)(cid:202)} ${zmienna:=warto(cid:258)(cid:202)} Przypisz warto(cid:258)(cid:202) do zmiennej. Użyj wartości zmiennej. Klamry są opcjonalne, jeśli zmienna jest oddzielona od następującego po niej tekstu, ale są obowiązkowe dla tabel. Użyj zmiennej, jeśli posiada przypisaną wartość. W przeciwnym razie użyj warto(cid:258)ci. Użyj zmiennej, jeśli posiada przypisaną wartość. W przeciwnym razie użyj warto(cid:258)ci i przypisz ją do zmiennej. Zmienne (cid:95) 25 Poleć książkęKup książkę ${zmienna:?warto(cid:258)(cid:202)} ${zmienna:+warto(cid:258)(cid:202)} ${#zmienna} ${#*},${#@} ${zmienna#wzorzec} Użyj zmiennej, jeśli posiada przypisaną wartość. W przeciwnym razie wyświetl warto(cid:258)(cid:202) i zakończ (jeśli powłoka nie jest interaktywna). Jeśli nie podano warto(cid:258)ci, wyświetl parameter null or not set do stderr. Użyj warto(cid:258)ci, jeśli zmienna ma przypisaną wartość. W przeciwnym razie nie rób nic. Użyj długości zmiennej. Użyj liczby parametrów. Użyj wartości zmiennej po usunięciu z niej tekstu z lewej pasującego do wzorca. Usuwa najkrótszy pasujący tekst. ${zmienna##wzorzec} Tak jak #wzorzec, ale usuwa najdłuższy pasujący tekst. ${zmienna wzorzec} Użyj wartości zmiennej po usunięciu z niej tekstu z prawej pasującego do wzorca. Usuwa najkrótszy pasujący tekst. ${zmienna wzorzec} Tak jak wzorzec, ale usuwa najdłuższy pasujący tekst. ${zmienna^wzorzec} Zamień znaki w zmiennej na wielkie litery. Jeśli pierwsza litera w wartości zmiennej pasuje do wzorca, zamieniana jest na wielką. Zmienna może mieć wartość * albo @; w takim wypadku modyfikowane są parametry. Zmienna może być też tabelą indeksowaną przez * albo @; w tym wypadku podstawienie wykonywane jest dla wszystkich elementów tabeli. ${zmienna^^wzorzec} Tak jak ^wzorzec, ale sprawdza każdy znak w ciągu znaków. ${zmienna,wzorzec} Tak jak ^wzorzec, ale zamienia pasujące znaki na małe litery. Sprawdza dopasowanie tylko dla pierwszego znaku w ciągu znaków. ${zmienna,,wzorzec} Tak jak ,wzorzec, ale sprawdza każdy znak w ciągu znaków. ${zmienna@a} ${zmienna@A} ${zmienna@E} ${zmienna@P} ${zmienna@Q} Użyj flag reprezentujących atrybuty zmiennej (jak dla declare). Zmienna może być tabelą indeksowaną przez * albo @; w tym wypadku przekształcenie wykonywane jest dla wszystkich elementów. Łańcuch znaków w formie polecenia lub przypisania wartości, który po sprawdzeniu odtwarza zmienn(cid:200) i jej wartości. Zmienna może być tabelą indeksowaną przez * albo @; w tym wypadku przekształcenie wykonywane jest dla wszystkich elementów. Wartość zmiennej z sekwencją ucieczki $ ... (zobacz sekcję „Sekwencje ucieczki”). Zmienna może być tabelą indeksowaną przez * albo @; w tym wypadku przekształcenie wykonywane jest dla wszystkich elementów. Wartość zmiennej ze sprawdzonymi sekwencjami ucieczki dla tekstu zachęty (zobacz sekcję „Specjalne znaki zachęty”). Zmienna może być tabelą indeksowaną przez * albo @; w tym wypadku przekształcenie wykonywane jest dla wszystkich elementów. Wartość zmiennej zacytowana w taki sposób, że można wprowadzić wartości jako wejście. Zmienna może być tabelą indeksowaną przez * albo @; w tym wypadku przekształcenie wykonywane jest dla wszystkich elementów. 26 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę ${!prefiks*}, ${!prefiks@} Lista zmiennych, których nazwy zaczynają się od prefiksu. ${zmienna:poz}, ${zmienna:poz:zakres} ${zmienna/wzorzec/zast} ${zmienna/wzorzec} ${zmienna//wzorzec/zast} ${zmienna/#wzorzec/zast} ${zmienna/ wzorzec/zast} ${!zmienna} Przykłady Zaczynając od pozycji poz (liczonej od 0), w zmiennej wydobądź zakres znaków albo pozostałe znaki, jeżeli nie określono zakresu. poz i zakres mogą być wyrażeniami arytmetycznymi. Jeśli zakres jest liczbą ujemną, powłoka policzy znaki od końca. Jeżeli zmienna to * albo @, interpretacja wykonywana jest na parametrach. Jeżeli poz wynosi 0, na liście wyników uwzględniony zostanie parametr $0. Analogicznie zmienna może być tabelą indeksowaną przez * lub @. Użyj wartości zmiennej, pierwsze dopasowanie do wzorca jest zastępowane przez zast. Użyj wartości zmiennej, pierwsze dopasowanie do wzorca jest usuwane. Użyj wartości zmiennej, każde dopasowanie do wzorca jest zastępowane przez zast. Użyj wartości zmiennej, każde dopasowanie do wzorca jest zastępowane przez zast. Dopasowanie musi wystąpić na początku wartości. Użyj wartości zmiennej, każde dopasowanie do wzorca jest zastępowane przez zast. Dopasowanie musi wystąpić na końcu wartości. Użyj wartości zmiennej jako nazwy innej zmiennej (odwołanie pośrednie). $ z=za d=dol pusta= Przypisz wartości do trzech zmiennych (ostatnia to null) $ echo ${z}korzenic Klamra wymagana zakorzenic $ echo ${z-$d} Wyświetl wartość z lub d; z posiada wartość, więc wypisz ją za $ echo ${tmp-`date`} Jeśli zmienna tmp nie jest ustawiona, wykonaj polecenie date Tue Feb 2 22:52:57 EST 2016 $ echo ${pusta= brak danych } Zmienna pusta jest ustawiona, więc zostanie wyświetlona (pusta linia) $ echo ${pusta:= brak danych } Zmienna pusta jest ustawiona jako null, wyświetl tekst brak danych $ echo $pusta Pusta ma teraz nową wartość brak danych # Z nazwy bieżącej lokalizacji usuń najdłuższy ciąg znaków kończący się /, # co usuwa ścieżkę i zostawia jej końcówkę. $ koniec=${PWD##*/} # Słynny wyraz $ wyraz=konstantynopolitanczykowianeczka Zmienne (cid:95) 27 Poleć książkęKup książkę # Zmień wielkość pierwszej litery $ echo ${wyraz^[k-n]} Konstantynopolitanczykowianeczka # Zmień wielkość wszystkich pasujących znaków $ echo ${wyraz^^[r-t]} konSTanTynopoliTanczykowianeczka Zmienne pośrednie Zmienne pośrednie to zmienne przechowujące nazwy innych zmiennych. Wszystkie działania (odwołania, przypisanie wartości i zmiany atrybutów) wykonane na zmiennych pośrednich wykonywane są tak naprawdę na zmien- nej, której nazwę przechowuje zmienna pośrednia. Tworzy się je poleceniem declare –n, usuwa poprzez unset -n, a testuje za pomocą test -R. Na przykład: $ powitanie= witaj swiecie Zwyczajne przypisanie zmiennej $ declare -n wiadomosc=powitanie Deklaracja zmiennej pośredniej $ echo $wiadomosc Dostęp przez zmienną pośrednią witaj swiecie Wartość to $powitanie $ wiadomosc= zegnaj Przypisanie wartości przez zmienną pośrednią $ echo $powitanie Demonstracja zmiany zegnaj Bash posiada również specjalną składnię, która umożliwia pośrednie odwoła- nie do zmiennej, ale nie można w ten sposób przypisywać wartości: $ tekst=powitanie Przypisanie zmiennej $ echo ${!tekst} Użycie aliasu zegnaj Jeżeli użyjemy zmiennej pośredniej jako zmiennej kontrolnej w pętli for, warunki pętli są traktowane jak nazwy zmiennych i zmienna kontrolna odwo- łuje się do każdej z nich: $ declare -n nr Utwórz zmienną pośrednią $ i=1 Prosty licznik $ for nr in v1 v2 v3 Rozpocznij pętlę do nr=$((i++)) Każda zmienna dostaje unikalną wartość done $ echo $v1 $v2 $v3 Pokaż wyniki 1 2 3 Zamiana istniejącej zmiennej na zmienną pośrednią blokuje atrybuty -c, -i, -l i -u (sprawdź sekcję poświęconą declare). 28 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę Wbudowane zmienne powłoki Powłoka automatycznie ustawia zmienne wbudowane, które używane są w skry- ptach powłoki. Zmienne wbudowane mogą wykorzystywać wzorce podsta- wiania z poprzednich sekcji. Miej na uwadze, że znak $ nie jest częścią nazwy zmiennej, chociaż wykorzystuje się go zawsze w odwołaniach do zmiennej. Poniższe zmienne są dostępne w każdej powłoce kompatybilnej z Bourne: $# $- $? $$ $! $0 $n Liczba argumentów w wierszu poleceń. Obecnie działające opcje (podane w wierszu poleceń lub wraz z poleceniem set). Powłoka ustawia kilka opcji automatycznie. Status wyjściowy ostatniego polecenia. Numer procesu powłoki. Numer procesu ostatniego polecenia w tle. Pierwsze słowo, tj. nazwa polecenia. Jeżeli zostało ono wyszukane w zmiennej środowiskowej PATH, zmienna będzie przechowywała całą ścieżkę. Poszczególne argumenty wiersza poleceń (parametry). Powłoka Bourne dopuszcza bezpośrednie odwołanie do maksymalnie dziewięciu parametrów (n = 1 ... 9). Bash dopuszcza n większe od 9 przy zastosowaniu składni ${n}. $*, $@ Wszystkie argumenty z wiersza poleceń ($1 $2 ...). $* Wszystkie argumenty z wiersza poleceń jako jeden ciąg znaków ( $1 $2... ). Wartości są rozdzielone pierwszym znakiem z $IFS. Wszystkie argumenty z wiersza poleceń zacytowane pojedynczo ( $@ , $@ ...). $@ Bash automatycznie ustawia poniższe zmienne dodatkowe2: $_ BASH BASHOPTS BASHPID BASH_ALIASES Zmienna tymczasowa, w której zapisywana jest ścieżka wykonywanego skryptu lub programu. Później przechowuje ostatni argument poprzedniego polecenia. Podczas sprawdzania maili przechowuje pasujący plik MAIL. Pełna ścieżka użyta do wywołania tej instancji powłoki. Lista aktywnych opcji powłoki rozdzielonych przecinkami, tylko do odczytu. Każda z opcji na liście jest prawidłowa dla shopt -s. Jeśli ta zmienna istnieje w środowisku w momencie uruchomienia Basha, opcje zawarte w niej zostaną ustawione przed wykonaniem plików startowych. Identyfikator procesu bieżącej powłoki. W niektórych przypadkach wartość może być inna niż w $$. Tabela asocjacyjna, w której każdy element zawiera alias zdefiniowany poleceniem alias. Dodanie elementu tworzy nowy alias. 2 Nie wszystkie zmienne są zawsze ustawiane. Na przykład zmienne COMP* przyjmują wartości tylko wtedy, gdy włączone są programowalne funkcje uzupełniania. Zmienne (cid:95) 29 Poleć książkęKup książkę BASH_ARGC BASH_ARGV BASH_CMDS Zmienna tablicowa, której elementy zawierają liczbę argumentów dla odpowiadającej funkcji lub wywołania skryptu. Ustawiana tylko w rozszerzonym trybie debug (shopt -s extdebug). Nie może być nieustawiona. Zmienna podobna do BASH_ARGC. Każdy element jest jednym z argumentów przekazywanych do funkcji lub skryptu. Działa ona na zasadzie stosu, z którego wartości są pobierane przy każdym wywołaniu. Ostatni element to ostatni argument ostatniej funkcji lub wywołania skryptu. Ustawiana tylko w rozszerzonym trybie debug. Nie może być nieustawiona. Tabela asocjacyjna. Każdy element odwołuje się do polecenia w wewnętrznej tabeli haszującej zarządzanej przez polecenie hash. Indeks to nazwa polecenia, a wartość to jego pełna ścieżka. Dodanie elementu do tabeli spowoduje dodanie polecenia do tabeli haszującej. BASH_COMMAND Polecenie, które wykonywane jest obecnie albo zaraz zostanie wykonane. W obsłudze pułapki jest to polecenie, które było wykonywane w momencie wywołania pułapki. BASH_EXECUTION_STRING Argument przekazany do opcji -c. BASH_LINENO BASH_REMATCH BASH_SOURCE BASH_SUBSHELL Zmienna tablicowa odpowiadająca BASH_SOURCE i FUNCNAME. Dla każdego numeru funkcji i (zaczynając od zera) ${FUNCNAME[i]} zostało wywołane w pliku ${BASH_SOURCE[i]} w linii ${BASH_LINENO[i]}. Pierwsza w tabeli znajduje się ostatnio wywołana funkcja. Zmienna nie może być nieustawiona. Tablica przypisywana za pomocą operatora =~ w konstrukcji [[ ]]. Indeks zerowy to tekst, który spełniał dopasowanie do całego wzorca. Kolejne pozycje to tekst, który pasował do podgrup wzorca znajdujących się w nawiasach. Zmienna jest tylko do odczytu. Zmienna tablicowa zawierająca nazwy plików źródłowych. Każdy element odpowiada pozycjom w FUNCNAME i BASH_LINEO. Zmienna nie może być nieustawiona. Ta zmienna jest inkrementowana za każdym razem, gdy tworzona jest podpowłoka lub środowisko podpowłoki. BASH_VERSINFO[0] Główny numer wersji lub rewizji Basha. BASH_VERSINFO[1] Drugorzędny numer wersji Basha. BASH_VERSINFO[2] Numer poprawki. BASH_VERSINFO[3] Numer kompilacji. BASH_VERSINFO[4] Status wersji. BASH_VERSINFO[5] Typ maszyny; dane takie same jak w zmiennej $MACHTYPE. BASH_VERSION COMP_CWORD COMP_KEY Tekst opisujący wersję powłoki. Zmienna wykorzystywana przez programowalne uzupełnianie. Indeksuje COMP_WORDS, wskazując bieżącą pozycję kursora. Zmienna wykorzystywana przez programowalne uzupełnianie. Zawiera znak lub ostatni ze znaków z sekwencji, która wywołała funkcję uzupełniania. COMP_LINE Zmienna wykorzystywana przez programowalne uzupełnianie. Bieżący wiersz poleceń. 30 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę COMP_POINT COMP_TYPE Zmienna wykorzystywana przez programowalne uzupełnianie. Pozycja kursora jako indeks znaku w $COMP_LINE. Zmienna wykorzystywana przez programowalne uzupełnianie. Znak opisujący typ uzupełniania. Normalne uzupełnianie oznaczane jest tabulacją, ? oznacza listę uzupełnień po naciśnięciu klawisza Tab dwa razy, ! oznacza listę alternatyw w uzupełnianiu częściowym, @ oznacza uzupełnienie, jeśli zmodyfikowano wyraz, a to uzupełnienie menu. COMP_WORDBREAKS Zmienna wykorzystywana przez programowalne uzupełnianie. Znaki, które podczas uzupełniania traktowane są przez readline jako separatory wyrazów. COMP_WORDS COPROC DIRSTACK EUID FUNCNAME FUNCNEST GROUPS HISTCMD HOSTNAME HOSTTYPE LINENO MACHTYPE MAPFILE OLDPWD OPTARG OPTIND OSTYPE Zmienna wykorzystywana przez programowalne uzupełnianie. Tabela zawiera pojedyncze słowa z wiersza poleceń. Tablica, która przechowuje deskryptory plików służących do komunikacji z nienazwanym procesem współbieżnym. Więcej informacji znajduje się w sekcji „Procesy współbieżne”. Zmienna tablicowa zawierająca stos lokalizacji wyświetlany przez dirs. Zmiana istniejących elementów powoduje zmianę stosu, ale dodawanie i usuwanie elementów może odbywać się tylko przy użyciu pushd i popd. Zmienna tylko do odczytu zawierająca efektywny identyfikator bieżącego użytkownika (UID). Zmienna tablicowa zawierająca nazwy funkcji. Każdy element odpowiada elementom z tablic BASH_SOURCE i BASH_LINENO. Wartość większa od zera, która określa maksymalny poziom zagnieżdżenia wywoływania funkcji. Jeżeli został przekroczony, bieżące polecenie zostanie anulowane. Zmienna tablicowa zawierająca listę numerycznych identyfikatorów grup, do których należy bieżący użytkownik. Numer historii bieżącego polecenia. Nazwa bieżącego hosta. Tekst opisujący system hosta. Bieżący numer linii skryptu lub funkcji. Opis systemu hosta w formacie GNU procesor-firma-system. Domyślna tabela dla poleceń mapfile i readarray. Więcej informacji znajdziesz w sekcji poświęconej poleceniu mapfile. Poprzednia lokalizacja robocza. Wartość argumentu ostatniej opcji przetworzonej przez getopts. Numeryczny indeks OPTARG. Ciąg znaków opisujący system operacyjny. Zmienne (cid:95) 31 Poleć książkęKup książkę PIPESTATUS PPID PWD RANDOM[=n] Zmienna tablicowa zawierająca statusy wyjściowe poleceń w najbardziej pierwszoplanowym potoku. Pamiętaj, że potok może zawierać tylko jedno polecenie. Numer procesu rodzica powłoki. Bieżąca lokalizacja robocza (ustawiana poleceniem cd). Wygeneruj nową losową liczbę przy każdym odwołaniu; zaczyna od n, jeżeli zostało podane. READLINE_LINE Do użytku z bind -x. Zmienna przechowuje zawartość bufora edycji. READLINE_POINT Do użytku z bind -x. Indeks punktu wstawienia dla $READLINE_LINE. REPLY SECONDS[=n] SHELLOPTS Domyślna odpowiedź; używana przez select i read. Liczba sekund od uruchomienia powłoki. Jeżeli podano n, polecenie zwróci n+liczba sekund. Lista rozdzielonych przecinkiem opcji powłoki (dla set -o), tylko do odczytu. Jeżeli istnieje w środowisku w momencie uruchomienia powłoki, Bash włączy najpierw opcje zdeklarowane w niej, zanim wykona pliki uruchomieniowe. SHLVL Zwiększane o 1 przy każdym uruchomieniu Basha. Identyfikator bieżącego użytkownika. Tylko do odczytu. UID Wiele z tych zmiennych wspiera programowalne uzupełnianie (zobacz sekcję „Programowalne uzupełnianie”) lub Bash Debuggera (zobacz http://bashdb. sourceforge.net/). Inne zmienne powłoki Zmienne przedstawione poniżej nie są ustawiane automatycznie przez powłokę, jednak wiele z nich może wpływać na jej zachowanie. Zazwyczaj ustawia się je w plikach .bash_profile lub .profile, w których możesz zdefiniować je zgodnie z Twoimi potrzebami. Można przypisać im wartości, korzystając ze składni: zmienna=warto(cid:258)(cid:202) Na poniższej liście wymieniono, jakich wartości oczekuje się przy definiowaniu zmiennych: BASH_COMPAT BASH_ENV Jeśli wartością jest liczba dziesiętna lub całkowita (na przykład 4,3 lub 43), która odpowiada poziomowi kompatybilności powłoki, włącza dany poziom kompatybilności (np. 4,3 lub 43 odpowiadają shopt -s compat43). Jeśli zmienna nie ma wartości lub wartością jest pusty ciąg tekstowy, włączona zostanie kompatybilność bieżącej powłoki. Polecenie shopt nie zmienia wartości tej zmiennej. Wartość może być dziedziczona ze środowiska. Jeżeli jest ustawiona przy uruchomieniu, określa nazwę pliku, w którym znajdują się polecenia inicjalizacyjne. Zanim wartość zostanie zinterpretowana jako nazwa pliku, przechodzi przez interpretację parametru, podstawienie polecenia i interpretację arytmetyczną. 32 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę BASH_LOADABLES_PATH Jedna ścieżka lub więcej, rozdzielone dwukropkami, w których powłoka szuka dynamicznie ładowanych poleceń wbudowanych określonych przez polecenie enable. BASH_XTRACEFD=n Deskryptor plików, do którego Bash zapisuje wyjście śledzenia (z set -x). CDPATH=lokalizacje Lokalizacje przeszukiwane przez cd. Pozwala na stosowanie skrótów podczas zmiany lokalizacji. Domyślnie nieustawiona. CHILD_MAX=n COLUMNS=n Określa maksymalną liczbę procesów podrzędnych, dla których powłoka zapamięta statusy wyjściowe. Maksymalna liczba to 8192, minimalna zależy od systemu. Szerokość kolumn ekranu; używana w trybach edycji linii i na listach select. Domyślnie bieżąca szerokość terminala. COMPREPLY=(s(cid:239)owa...) Tabela, z której Bash odczytuje możliwe uzupełnienia wygenerowane przez funkcje uzupełnień. EMACS ENV=plik EXECIGNORE=lista_wzorców FCEDIT=plik FIGNORE=lista_wzorców GLOBIGNORE=lista_wzorców HISTCONTROL=lista HISTFILE=plik HISTFILESIZE=n Jeżeli wartość zaczyna się od t, Bash zakłada, że włączony jest bufor Emacs, i wyłącza edycję linii. Nazwa pliku wykonywanego podczas uruchamiania powłoki w trybie POSIX lub gdy Bash jest wywoływany jako /bin/sh. Przydatna do przechowywania aliasów i definicji funkcji, np. ENV=$HOME/.shellrc. Lista wzorców rozdzielona dwukropkami; opisuje nazwy plików, które mają być ignorowane podczas wyszukiwania plików wykonywalnych. Wykorzystywana do ignorowania wykonywalnych plików współdzielonych bibliotek. Pod uwagę brana jest też wartość opcji extglob. Edytor używany przez polecenie fc. Domyślna wartość to /bin/ed dla powłoki w trybie POSIX. Inaczej domyślny edytor znajduje się w zmiennej $EDITOR lub jest nim vi, jeżeli zmienna jest nieustawiona. Lista sufiksów rozdzielona dwukropkami, która określa nazwy plików ignorowane podczas uzupełniania nazw plików dla biblioteki readline. Lista rozdzielonych dwukropkami wzorców określających zbiór nazw plików, które mają być ignorowane przy porównywaniu ze wzorcem. Wartości opcji nocasematch i extglob są brane pod uwagę. Lista rozdzielonych dwukropkami wartości, które kontrolują, w jaki sposób zapisywane są polecenia w pliku historii. Przyjmowane wartości to ignoredups, ignorespace, ignoreboth oraz erasedups. Plik, w którym przechowywana jest historia poleceń. Domyślna wartość to ~/.bash_history. Maksymalna liczba linii w pliku historii. Może się różnić od liczby poleceń. Jeżeli wynosi zero, w pliku nie będą przechowywane żadne polecenia, jeśli wartość jest ujemna lub nienumeryczna — nie ma limitu. Wartość domyślna to 500. Zmienne (cid:95) 33 Poleć książkęKup książkę HISTIGNORE=lista HISTSIZE=n HISTTIMEFORMAT=format HOME=lokalizacja HOSTFILE=plik IFS= znaki IGNOREEOF=n INPUTRC=plik LANG=ustawienia Lista rozdzielonych dwukropkami wzorców, które muszą pasować do całego wiersza poleceń. Pasujące wiersze nie są zapisywane w historii. Znak we wzorcu bez znaku ucieczki oznacza poprzednią linię historii. Wartość opcji extglob jest uwzględniana. Maksymalna liczba poleceń przechowywanych w historii. Jeżeli wartość wynosi zero, historia nie przechowuje żadnych poleceń. Wartość ujemna lub nienumeryczna oznacza brak limitu. Wartość domyślna to 500. Tekst formatujący strftime(3) używany przy wyświetlaniu znaczników czasu przy poleceniach dla polecenia history. Jeśli zmienna ma wartość (nawet null), powłoka zapisze w historii polecenia ze znacznikami czasu. Lokalizacja domowa; ustawiana przez login (z pliku /etc/passwd). Nazwa pliku sformatowanego tak samo jak /etc/hosts, z którego powinna korzystać powłoka przy uzupełnianiu nazw hosta. Separatory wejścia. Domyślnie spacja, tabulator, znak nowej linii. Wartość numeryczna wskazująca, ile następujących po sobie znaków końca pliku należy wpisać, aby Bash zakończył działanie. Jeśli wartość jest nienumeryczna lub wynosi null, domyślnie zostaje ustawione 10. Dotyczy tylko powłok interaktywnych. Inicjalizacja pliku dla biblioteki readline. Nadpisuje domyślną wartość ~/.inputrc. Domyślna wartość ustawień lokalnych. Używana, jeśli nie ustawiono żadnej ze zmiennych LC_*. LC_ALL=ustawienia Bieżące ustawienia lokalne; nadpisuje LANG i pozostałe zmienne LC_*. LC_COLLATE=ustawienia Ustawienia lokalne używane do porównywania znaków (kolejność sortowania). LC_CTYPE=ustawienia Ustawienia lokalne dla funkcji klas znaków (zobacz sekcję „Metaznaki nazw plików”). LC_MESSAGES=ustawienia Ustawienia lokalne używane do tłumaczenia ciągów $ ... . LC_NUMERIC=ustawienia Ustawienia lokalne zapisu ułamków dziesiętnych. LC_TIME=ustawienia Ustawienia lokalne formatu daty i czasu. LINES=n MAIL=plik MAILCHECK=n MAILPATH=pliki Wysokość ekranu; używana dla list select. Domyślnie wysokość bieżącego terminala. Domyślny plik do sprawdzania przychodzących maili; ustawiane przez login. Liczba sekund przerwy między sprawdzeniem maili. Domyślnie to 60 sekund (minuta). Jeden lub kilka rozdzielonych dwukropkami plików do sprawdzania przychodzących maili. Do każdego pliku możesz określić komunikat, który wyświetli powłoka, jeśli plik zmieni swój rozmiar. Komunikaty są oddzielone od plików znakiem ?. Domyślny komunikat to You have mail in $_ (Masz wiadomość w $_). $_ zastępowane jest nazwą pliku. Możesz na przykład przypisać wartość w taki sposób: MAILPATH= $MAIL?Kot w worku!:/etc/motd?Nowa Wiadomo(cid:258)(cid:202) Logowania . 34 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę OPTERR=n PATH=lokalizacje POSIXLY_CORRECT=tekst Gdy wartość wynosi 1 (domyślnie), Bash wyświetla komunikaty błędów z wbudowanego polecenia getopts. Jedna ścieżka lub kilka rozdzielonych dwukropkami, w których wyszukuje się polecenia do wykonania. Wbudowana wartość domyślna to: /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/b in:/sbin:.. W wielu systemach wartość domyślna to: /bin:/usr/bin. Gdy zostanie ustawiona podczas uruchamiania powłoki lub w trakcie jej działania, Bash wejdzie w tryb POSIX, blokując zachowania i funkcjonalności niezgodne z POSIX. PROMPT_COMMAND=polecenie Jeśli zmienna ma przypisaną wartość, Bash wykona zadeklarowane polecenie za każdym razem przed wyświetleniem znaku zachęty. PROMPT_DIRTRIM=n PS0=tekst PS1=tekst PS2=tekst PS3=tekst PS4=tekst SHELL=plik TERM=tekst TIMEFORMAT=tekst TMOUT=n TMPDIR=lokalizacja auto_resume=lista histchars=znaki Wskazuje, ile elementów adresu ma zostać skróconych dla specjalnych znaków zachęty \w lub \W (zobacz sekcję „Specjalne znaki zachęty”). Skrócone elementy zastępowane są tyldą. Tekst wyświetlany przez powłoki interaktywne po odczytaniu polecenia, ale przed wykonaniem go. Pierwszy znak zachęty; domyślnie \s-\v\$ . Drugi znak zachęty (używany w poleceniach wieloliniowych); domyślnie . Znak zachęty w pętlach select; domyślnie #?. Znak zachęty dla śledzenia wykonywania (bash -x albo set -x); domyślnie +. Powłoki działające jako root nie dziedziczą tej zmiennej ze środowiska. Nazwa domyślnej powłoki użytkownika (np. /bin/sh). Bash ustawia wartość tej zmiennej, jeśli nie ma jej w środowisku podczas uruchomienia. Typ terminala. Format wyjścia słowa kluczowego time. Szczegóły w bash(1). Jeśli nie wpisano żadnego polecenia po n sekundach, zakończ pracę powłoki. Wpływa również na polecenie read i pętlę select. Lokalizacja, w której przechowywane są pliki tymczasowe tworzone przez powłokę. Umożliwia używanie prostych ciągów znaków do uruchamiania zatrzymanych procesów. Z wartością exact ciąg musi być taki sam jak nazwa procesu. Z wartością substring może pasować do fragmentu nazwy. Dwa lub trzy znaki sterujące rozwijaniem historii w stylu csh. Pierwszy znak określa zdarzenie wywołujące historię, drugi to znak „szybkiego podstawienia”, trzeci określa rozpoczęcie komentarza. Wartość domyślna to !^#. Zobacz sekcję „Historia w stylu powłoki C”. Zmienne (cid:95) 35 Poleć książkęKup książkę Tablice Bash udostępnia dwa rodzaje tablic: tablice indeksowane, w których indeksy to liczby od zera w górę, i tablice asocjacyjne, w których indeksami są ciągi znaków. Tablice indeksowane Bash umożliwia tworzenie tablic jednowymiarowych. Indeks pierwszego ele- mentu wynosi zero. Powłoka nie ma ograniczeń odnośnie liczby elementów. Tablice tworzy się przy użyciu następującej składni: wiadomosc=(czesc jak sie masz) w której określone w nawiasach wartości stają się elementami tablicy. Poje- dyncze elementy można również przypisać następująco: wiadomosc[0]=czesc #Trudniejszy sposób wiadomosc[1]=jak wiadomosc[2]=sie wiadomosc[3]=masz Tablic indeksowanych nie trzeba deklarować bezpośrednio. Każde odwołanie do indeksowanej zmiennej może utworzyć tablicę. Odwołując się do tablic, używaj składni ${...}. Nie jest to jednak konieczne wewnątrz ((...)) (forma let wykonująca automatyczne cytowanie). Pamiętaj, że znaki [ i ] nie są opcjonalne. Ujemne indeksy liczy się na zasadzie odejmowania od wartości ostatniego indeksu powiększonej o jeden. $ a=(0 1 2 3 4 5 6 7 8) Utwórz tablicę indeksowaną $ echo ${a[4]} Użyj dodatniego indeksu 4 $ echo ${a[-2]} Użyj indeksu: 8+1−2 = 7 7 Podstawienie tablic Dostępne są następujące podstawienia dla tablic i ich elementów: ${nazwa[i]} Użyj elementu i tablicy nazwa; i może być dowolnym wyrażeniem arytmetycznym, tak jak opisano w sekcji „Wyrażenia arytmetyczne”. ${nazwa} Użyj elementu tablicy nazwa z indeksem 0. ${nazwa[*]}, ${nazwa[@]} ${#nazwa[*]}, ${#nazwa[@]} Użyj wszystkich elementów tablicy nazwa. Użyj liczby elementów w tablicy. 36 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę Tablice asocjacyjne Bash umożliwia korzystanie z tablic asocjacyjnych, w których indeksami są ciągi znaków zamiast liczb (tak jak w awk). W tym wypadku znaki [ i ] działają jak cudzysłów. Tablice asocjacyjne muszą być deklarowane za pomocą opcji -A w poleceniach declare, local i readonly. Specjalna składnia umożliwia dodanie wielu elementów jednocześnie: dane=([jan]=30 [maria]=25) Dodanie wartości do tablicy asocjacyjnej wiadomosc=([0]=jak [2]=leci) Dodanie wartości do tablicy indeksowanej Do pobrania wartości użyj zapisu ${dane[jan]} i ${dane[maria]}. Do pobrania indeksów tablic asocjacyjnych wykorzystuje się te same specjalne interpretacje co dla tablic indeksowanych. Specjalne znaki zachęty Bash przetwarza wartości zmiennych PS0, PS1, PS2 i PS4 pod kątem poniższych specjalnych sekwencji ucieczki: \a \A \d \D{format} Znak dzwonka (BEL) ASCII (07 ósemkowo). Aktualna godzina w formacie dwudziestoczterogodzinnym HH:MM. Data w formacie „dzień tygodnia miesiąc dzień”. Data w formacie określonym zgodnie z strftime(3). \e \h \H \j \l \n \r \s \t \T \u \v \V Znak ESCAPE ASCII (033 ósemkowo). Nazwa hosta do pierwszej kropki. Pełna nazwa hosta. Bieżąca liczba procesów. Główna nazwa terminala powłoki. Znak nowej linii. Znak powrotu karetki. Nazwa powłoki (główna nazwa $0). Bieżący czas w formacie dwudziestoczterogodzinnym HH:MM:SS. Bieżący czas w formacie dwunastogodzinnym HH:MM:SS. Nazwa bieżącego użytkownika. Wersja powłoki. Pełny numer wersji Basha (wersja plus numer poprawki). Zmienne (cid:95) 37 Poleć książkęKup książkę \w \W \! \# \$ \@ \nnn \\ \[ Bieżąca lokalizacja z adresem ze zmiennej $HOME skróconym do ~. Zobacz też opis zmiennej PROMPT_DIRTRIM. Główna nazwa bieżącej lokalizacji z adresem ze zmiennej $HOME skróconym do ~. Zobacz też opis zmiennej PROMPT_DIRTRIM. Numer historii polecenia (przechowywany w historii). Numer bieżącej komendy (licznik poleceń wykonywanych przez daną powłokę). Jeżeli efektywny UID wynosi 0, wyświetl #. W przeciwnym razie wyświetl $. Bieżąca godzina w formacie dwunastogodzinnym a.m./p.m. Znak reprezentowany przez wartość ósemkową nnn. Ukośnik. Rozpocznij sekwencję niewyświetlanych znaków, np. określających wyróżnienie lub kolory w emulatorze terminala. Zakończ sekwencję niewyświetlanych znaków. \] Zmienne PS0, PS1, PS2 i PS4 są przetwarzane pod kątem sekwencji ucieczki, zmiennych, poleceń i wyrażeń arytmetycznych. Na początku przetwarzane są sekwencje ucieczki. Następnie, jeśli opcja powłoki promptvars jest włączona przez polecenie shopt (domyślnie), wykonywane są podstawienia. W trybie POSIX przetwarzanie odbywa się inaczej. Wartości PS1 i PS2 przetwa- rzane są pod kątem interpretacji parametrów, ! zastępowany jest numerem historii bieżącej komendy, a !! oznacza wykrzyknik. 38 (cid:95) Bash. Leksykon kieszonkowy Poleć książkęKup książkę Poleć książkęKup książkę Skorowidz F funkcja bitowa, 39 command_not_found_handle, 54 countfiles, 58 definiowanie, 22, 23, 58 getpwnam, 11 getpwuid, 11 kontroli zadań, 6 logiczna, 39 nazwa, 23 powłoki, 6 printf, 83 składnia, 22 śledzenie, 50 wykonywanie, 12 wywoływanie, 22 zagnieżdżanie, 31 zmienna, Patrz: zmienna H haszowanie poleceń, 6 historia poleceń, 6, 40, 78 modyfikator, 42 tryb edycji w linii, 40 w stylu powłoki C, 40, 41, 51 host, 31, 34, 37 I indeks OPTARG, 31 interpreter poleceń, 7 K katalog domowy, 11 roboczy, 11, 84 105 A B alias, 12, 59 usuwanie, 101 aliasa, 53 argument, 9 Bash, 6, 7 opcje, 48, 49, 50 wersja, 5, 9, 30, 37 wywołanie, 7 biblioteka readline, 9, 31, 33, 34, 43, 50, 51, 52, 59 bufor edycji, 32 C csh, 6 cytowanie, 15 zagnieżdżone, 25 czas, 34, 37, 38 użytkownika, 97 wykonania polecenia, 96 zsumowany CPU, 97 D data, 34 debugger, 8, 50 desygnator słów, 42 zdarzeń, Patrz: zdarzenie desygnator dzwonek ASCII, 14 E edytor, 40 exec, 71 Poleć książkęKup książkę klawisz Backspace, 14 Escape, 14 Tab, 14, 31 komentarz, 56 kontrola zadań, 47, 52 Korn David, 6 L liczba całkowita, 38 losowa, 32 M mail przychodzący, 34 makro, 60 maska tworzenia plików procesu, 101 N O P null, 25 operator, 38 logiczny, 58 plik $HISTFILE, 51 .inputrc, 60 .profile, 32 /etc/profile, 10 ~/.bash_login, 10 ~/.bash_logout, 11 ~/.bash_profile, 10, 32 ~/.bashrc, 11 ~/.profile, 10 deskryptor, 18, 20 historii, 33 MAIL, 29 nazwa, 11, 15 ignorowana, 33 specjalna, 21 procesu maska, 101 startowy, 9, 10 wykonywalny, 33 podstawienie, 25 polecenie, 35 106 (cid:95) Bash. Leksykon kieszonkowy !, 56 #, 56 ., 53, 57 :, 57 alias, 50, 58 bg, 47, 59 bind, 59 break, 49, 53, 60 builtin, 60 caller, 61 case, 52, 61 cd, 48, 54, 62 command, 54, 63 compgen, 63 complete, 43, 63 compopt, 45, 66 continue, 49, 53, 67 czas wykonania, 96 declare, 28, 49, 50, 67, 99 dirs, 31, 68 disown, 69 do, 69 done, 69 echo, 69 enable, 33, 70 esac, 70 eval, 53, 61, 71 exec, 53 exit, 11, 24, 53, 72 export, 23, 53, 72 false, 73 fc, 33, 40, 41, 73 fg, 47, 74 fi, 74 for, 74, 75 forma, 16 function, 76 funkcja, 58 getopts, 31, 35, 76 grupa, 16 grupowanie, 15 hash, 76 haszowanie, 6 help, 77 history, 34, 40, 78 if, 79 Poleć książkęKup książkę inicjalizacyjne, 32 interpreter, 7 jobs, 47, 80 kill, 47, 80 kontroli zadań, 47 let, 38, 39, 81 local, 82 logout, 82 mapfile, 31, 82, 86 plik, 102 podstawienie, 15, 16 popd, 68, 83 printf, 83 pushd, 68, 84 pwd, 84 read, 32, 85 readarray, 31, 86 readonly, 53, 86 return, 22, 50, 53, 87 sekwencja, 16 select, 32, 87 separator, 15 set, 8, 53, 88 shift, 53 shopt, 48 source, 53, 93 specjalne POSIX, 23, 53 status wyjściowy, 9, 10 stty tostop, 47 su, 93 suspend, 48, 93 test, 6, 28, 54, 58, 94 time, 96 times, 53, 97 trap, 23, 53, 97 true, 98 type, 98 typeset, 99 ulimit, 99 umask, 100 unalias, 101 unset, 28, 53 until, 101 uzupełnianie, 43 wait, 48, 102 wbudowane, 56 włączanie, 70 wewnętrzne, 9 while, 102 wykonywanie, 12, 53, 71 zewnętrzne, 9 POSIX, 6, 9, 12, 22, 23, 25, 49, 53 polecenie specjalne, 23, 53 potok, 20, 32 negowanie znaczenia, 56 powłoka Bash, Patrz: Bash Berkeley C, 6 bez kontroli zadań, 52 Bourne, 6 czas życia, 32 interaktywna, 8, 50 Korn, 6, 23 logowania, 8, 10, 52, 72 wyjście, 82 nieinteraktywna, 25, 50, 57, 72 numer procesu, 29 rodzica, 32 ograniczona, 55 poziom kompatybilności, 32 standard POSIX, Patrz: POSIX ścieżka, 29 tryb, 89 uzupełnie, 43 zastrzeżona, 8 proces w tle, 54 współbieżny, 31, 54 aktywny, 55 uruchamianie, 54 zakończenie, 80 przekierowanie, 15, 17, 23 wielokrotne, 19 z deskryptorem pliku, 18 pułapka, 23, Patrz też: polecenie trap DEBUG, 23, 50 ERR, 23, 51 EXIT, 23 RETURN, 23, 50 ustawienia, 97 Skorowidz (cid:95) 107 Poleć książkęKup książkę R rekurencja, 23 S sekwencja ucieczki, 14, 15, 37 SIGHUP, 52, 54 skrypt, 9 słowo kluczowe, 53 function, 23, 58 local, 23 time, 35 słowo zastrzeżone, 56, 69 stos lokalizacji, 31, 68, 83, 84 sygnał, 97, 98 system operacyjny, 31 T tablica asocjacyjna, 30, 36, 37 indeksowana, 36 jednowymiarowa, 36 podstawienie, 36 terminal, 7, 35 typ integer, 24 U ułamek dziesiętny, 34 uzupełnianie programowalne, 31 użytkownik, 37 identyfikator, 31, 32 uprzywilejowany, 8 W wartość null, Patrz: null wiersz poleceń liczba argumentów, 29 opcje, 8 wyrażenie, 81 arytmetyczne, 38 case, 61, 70 if-then-else, 79 warunkowe, 9 wzorzec, 11, 26, 27, 45, 61, 65, 66 108 (cid:95) Bash. Leksykon kieszonkowy Z zadanie aktywne, 80 kontrola, 47, 52 numer, 47 usuwanie, 69 w tle, 47 zakończenie, 80 zatrzymane, 80 zdarzenie, 42 zmienna, 24 $?, 10 $_, 29 BASH, 29 BASH_ALIASES, 29 BASH_ARGC, 30, 50 BASH_ARGV, 30, 50 BASH_CMDS, 30 BASH_COMMAND, 30 BASH_COMPAT, 32, 48 BASH_ENV, 32 BASH_EXECUTION_STRING, 30 BASH_LINENO, 30 BASH_LOADABLES_PATH, 33 BASH_REMATCH, 30 BASH_SOURCE, 30 BASH_SUBSHELL, 30 BASH_VERSINFO, 30 BASH_VERSION, 30 BASH_XTRACEFD, 33 BASHOPTS, 8, 29 BASHPID, 29 CDPATH, 6, 8, 33 CHILD_MAX, 33 COLUMNS, 33, 49 COMP_CWORD, 30 COMP_KEY, 30 COMP_LINE, 30 COMP_POINT, 31 COMP_TYPE, 31 COMP_WORDBREAKS, 31 COMP_WORDS, 31 COMPREPLY, 33 COPROC, 31 DIRSTACK, 31 Poleć książkęKup książkę dodatkowa, 29 eksportowanie, 72 EMACS, 33 ENV, 33 EUID, 31 EXECIGNORE, 33 FCEDIT, 33 FIGNORE, 33 FUNCNAME, 30, 31 FUNCNEST, 31 globalna, 72 GLOBIGNORE, 8, 33 GROUPS, 31 HELLOPTS, 8 HISTCMD, 31 HISTCONTROL, 33 HISTFILE, 33 HISTFILESIZE, 33 HISTIGNORE, 34 HISTSIZE, 34 HISTTIMEFORMAT, 34 HOME, 34 HOSTFILE, 34 HOSTNAME, 31 HOSTTYPE, 31 IFS, 34 IGNOREEOF, 34 INPUTRC, 34 LANG, 34 LC_ALL, 34 LC_COLLATE, 34 LC_CTYPE, 34 LC_MESSAGES, 34 LC_NUMERIC, 34 LC_TIME, 34 LINENO, 31 LINES, 34, 49 lokalna, 23, 82 MACHTYPE, 31 MAIL, 34 MAILCHECK, 34 MAILPATH, 34 MAPFILE, 31 nazwa, 24 OLDPWD, 31 OPTARG, 31, 76 OPTERR, 35, 76 OPTIND, 31, 76 OSTYPE, 31 PATH, 29, 35, 48, 52, 54, 55, 57 PIPESTATUS, 32 podstawianie, 25 podstawienie, 15 POSIXLY_CORRECT, 35 pośrednia, 28 PPID, 32 PROMPT_COMMAND, 35 PROMPT_DIRTRIM, 35 PS, 35 PWD, 32 RANDOM, 32 READLINE_LINE, 32 READLINE_POINT, 32 REPLY, 32 SECONDS, 32 SHELL, 35 SHELLOPTS, 32 SHLVL, 32 środowiskowa, 29, 54 tablicowa, 25 TERM, 35 TMOUT, 35 TMPDIR, 35 typ, Patrz: typ wbudowana, 29 zakres dynamiczny, 23 znak , 15, 25 \ , 15 !, 11, 15, 31, 39, 42, 56 \!, 38 !!, 42 !?, 42 !=, 39 !n, 42 !-n, 42 , 15, 25 #, 15, 25, 42, 56 \#, 38 ##, 25 $, 15, 29, 39, 42, 56 $-, 29 Skorowidz (cid:95) 109 Poleć książkęKup książkę znak $_, 29 \$, 38 $!, 29 $#, 29 $$, 29 $*, 29 $?, 29 $@, 29 $0, 29 $n, 29 , 25, 31, 39, 42, 47 -, 47 , 25, 47 ?, 47 +, 47 =, 39 s, 47 , 15, 39 , 39, 58 =, 39 (), 13, 15 *, 11, 15, 26, 39, 42 **, 12, 39 *=, 39 ,, 25, 39 ,,, 25 ., 57 /, 23, 39 /#, 25 / , 25 //, 25 /=, 39 :, 25, 57 : , 43 :as, 43 :e, 43 :g , 43 :gs, 43 :Gs, 43 :h, 43 :p, 42 :q, 43 :r, 43 :s, 42 :t, 43 110 (cid:95) Bash. Leksykon kieszonkowy :x, 43 ;, 15 ?, 11, 15, 31 \?, 15 ?:, 39 @, 11, 15, 26, 31 \@, 38 [, 15 \[, 38 \\, 15, 38 \], 38 ], 15 ^, 25, 39, 42 ^^, 25 ^=, 39 `, 15 |, 11, 15, 39 ||, 39, 58 |=, 39 ~, 11, 15, 39 ~-, 11 ~+, 11 +, 11, 15, 39 ++, 39 +=, 39 , 15, 39, 49, 58 , 39 =, 39 =, 39 =, 23, 24, 39 -=, 39 =~, 30, 49 ==, 39 , 15, 39, 49, 58 =, 39 , 39 =, 39 \a, 14, 37 alfanumeryczny, 12 ASCII, 12 \b, 14 biały, 12 \c, 14 \cX, 14 cyfra, 12 cytowania, 15 Poleć książkęKup książkę \d, 37 \D, 37 drukowalny, 12 \e, 14, 37 \E, 14 \f, 14 \h, 37 \H, 37 interpunkcyjny, 12 \j, 37 klasa, 12, 34 \l, 37 litera, 12 łańcuch, 14 \n, 14, 37 nawias, 13, 15 niewyświetlany, 38 \nnn, 15, 38 nowej linii, 37 posiadający reprezentację graficzną, 12 potoku, 15 powrotu karetki, 37 przekierowania, 15, 17 \r, 14, 37 \s, 37 separatora, 15 sterujący, 12, 14 \t, 14, 37 \T, 37 tabulacji pionowej, 15 \u, 14, 37 \U, 14 ukośnik wsteczny, 15 Unicode, 14 \v, 15, 37 \V, 37 \w, 38 \W, 38 \xHH, 15 zachęty, 35, 37, 56 Skorowidz (cid:95) 111 Poleć książkęKup książkę Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Bash. Leksykon kieszonkowy. Przewodnik dla użytkowników i administratorów systemów
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: