Linux.pl
Opcje wyszukiwania podręcznika man:
Lista stron man zaczynających się od znaku:
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z   ALPHA   NUM   OTHER   ALL
BASH(1)                                                                BASH(1)

NAZWA
       bash - GNU Bourne-Again SHell

SKŁADNIA
       bash [opcje] [plik]

COPYRIGHT
       Bash is Copyright (C) 1989-2001 by the Free Software Foundation, Inc.

OPIS
       Bash  jest  zgodnym  z  sh  interpreterem  języka  poleceń, wykonującym
       polecenia ze standardowego wejścia bądź z pliku.  Włączono doń  również
       przydatne cechy zaczerpnięte z powłoki Korna i powłoki C (ksh i csh).

       Bash  w  zamierzeniu jest implementacją zgodną z POSIX-ową specyfikacją
       powłok i narzędzi -- IEEE POSIX Shell  and  Tools  specification  (IEEE
       Working Group 1003.2).

OPCJE
       Oprócz  jednoznakowych  opcji  powłoki  udokumentowanych  w opisie wbu-
       dowanego polecenia  set,  bash  przy  wywołaniu  interpretuje  poniższe
       opcje:

       -c łańcuch
                 Jeśli  występuje  opcja  -c,  to  polecenia  odczytywane są z
                 łańcucha.  Jeżeli po łańcuchu istnieją argumenty, to  są  one
                 przypisywane do argumentów pozycyjnych, poczynając od $0.
       -r        Jeżeli występuje opcja -r, to powłoka staje się powłoką okro-
                 joną (restricted). Zobacz poniżej POWŁOKA OKROJONA.
       -i        Jeżeli występuje opcja -i, to powłoka jest interaktywna.
       -s        Jeśli występuje opcja  -s  lub  po  przetworzeniu  opcji  nie
                 pozostają  żadne  argumenty,  to  polecenia odczytywane są ze
                 standardowego  wejścia.  Opcja  ta  umożliwia  na  ustawienie
                 parametrów  pozycyjnych  podczas wywołania powłoki interakty-
                 wnej.
       -D        Na standardowym  wyjściu  wypisywana  jest  lista  wszystkich
                 podwójnie  cytowanych  łańcuchów poprzedzonych znakiem $.  Są
                 to  łańcuchy  będące  przedmiotem  tłumaczenia  języka,   gdy
                 bieżącym  ustawieniem  regionalnym  (locale)  nie  jest C ani
                 POSIX.  Implikuje to opcję -n;  nie  zostaną  wykonane  żadne
                 polecenia.
       [-+]O [opcja_shopt]
                 opcja_shopt  jest  jedną  z ocpji powłoki akceptowanych przez
                 polecenie wbudowane shopt (zobacz WBUDOWANE POLECENIA POWŁOKI
                 poniżej).   Jeśli występuje opcja_shopt, to -O nadaje wartość
                 tej  opcji,  zaś  +O  unieważnia  ją.   Jeżeli   nie   podano
                 opcji_shopt, to na standardowym wyjściu wypisywane są nazwy i
                 wartości opcji  powłoki  akceptowanych  przez  shopt.   Jeśli
                 opcją  wywołania jest +O, tworzone wyjście jest formatowane w
                 taki sposób, by można było wykorzystać je jako wejście.
       --        Zapis --  sygnalizuje  koniec  opcji  i  wyłącza  dalsze  ich
                 przetwarzanie.   Argumenty  występujące  po  -- traktowane są
                 jako nazwy plików i argumenty. Argument - jest równoważnikiem
                 --.

       Bash  interpretuje także wiele opcji wieloznakowych.  Jeśli mają zostać
       rozpoznane, opcje te muszą pojawić się w wierszu poleceń przed  opcjami
       jednoznakowymi,

       --dump-po-strings
              Równoważne  -D, ale wyjście jest w formacie pliku GNU gettext po
              (portable object).
       --dump-strings
              Równoważnik -D.
       --help Wyświetla na standardowym  wyjściu  komunikat  o  użytkowaniu  i
              pomyślnie kończy pracę.
       --init-file plik
       --rcfile plik
              Wykonuje  polecenia  z  podanego  pliku zamiast ze standardowego
              osobistego pliku  inicjującego  ~/.bashrc,  jeśli  powłoka  jest
              interaktywna.  Zobacz WYWOŁANIE poniżej.

       --login
              Sprawia,  że bash działa tak, jakby został wywołany jako powłoka
              zgłoszeniowa (login shell).  Zobacz WYWOŁANIE poniżej.

       --noediting
              Nie używa biblioteki GNU readline do odczytu wierszy  poleceń  w
              trybie interaktywnym.

       --noprofile
              Nie  odczytuje  ani ogólnosystemowego pliku startowego /etc/pro-
              file ani żadnego z osobistych plików  inicjujących  ~/.bash_pro-
              file,  ~/.bash_login  czy  ~/.profile.  Domyślnie, bash czyta te
              pliki  gdy  jest  wywołany  jako  powłoka  zgłoszeniowa  (zobacz
              WYWOŁANIE poniżej).

       --norc Nie  odczytuje  i  nie  wykonuje  osobistego  pliku inicjującego
              ~/.bashrc  jeśli  powłoka  jest  interaktywna.  Opcja  ta   jest
              domyślnie włączona, jeżeli powłokę wywołano jako sh.

       --posix
              Zmienia  zachowanie  bash tam, gdzie operacja domyślna różni się
              od standardu POSIX 1003.2 tak, by dostosować się do niego  (tryb
              posix).

       --restricted
              Powłoka staje się okrojona (zobacz POWŁOKA OKROJONA poniżej).

       --verbose
              Równoważnik opcji  -v.

       --version
              Pokazuje na standardowym wyjściu informację o wersji tego
              egzemplarza bash i pomyślnie kończy pracę.

ARGUMENTY
       Jeśli po przetworzeniu opcji pozostają jakieś argumenty,  a  nie
       podano ani opcji -c ani -s, to zakłada się, że pierwszy argument
       jest nazwą pliku zawierającego polecenia powłoki.   Jeżeli  bash
       został  wywołany  w  taki  sposób, to $0 przypisywana jest nazwa
       pliku z poleceniami, a  parametrom  pozycyjnym  pozostałe  argu-
       menty.   Bash  odczytuje  i  wykonuje  polecenia z tego pliku, a
       następnie kończy pracę.   Kod  zakończenia  basha  jest  wówczas
       kodem   zakończenia  ostatniego  wykonanego  polecenia  skryptu.
       Jeśli nie wykonano żadnego polecenia, to kod zakończenia  wynosi
       0.

WYWOŁANIE
       Powłoka  zgłoszeniowa  (login shell) to taka, w której pierwszym
       znakiem zerowego argumentu jest -, lub taka, którą uruchomiono z
       opcją --login.

       Powłoka  interaktywna  to taka, którą uruchomiono bez argumentów
       innych niż opcje i bez opcji -c; zarówno jej standardowe wejście
       jak i wyjście powiązane jest z terminalami (tak jak określiła to
       funkcja isatty(3)), albo taka, którą  uruchomiono  z  opcją  -i.
       Jeśli  bash jest interaktywny, to ustawiane jest PS1 zaś $- zaw-
       iera i; pozwala to skryptowi powłoki lub plikowi  startowemu  na
       sprawdzanie tego stanu.

       Poniższe  akapity  opisują,  jak bash wykonuje swoje pliki star-
       towe.  Jeśli któryś z tych plików istnieje,  ale  nie  może  być
       odczytany,  to  bash  zgłasza  błąd.  Tyldy (~) w nazwach plików
       interpretowane są według reguł opisanych poniżej w części Inter-
       pretacja tyld sekcji INTERPRETACJA.

       Gdy  bash  wywoływany  jest  jako  powłoka zgłoszeniowa lub jako
       powłoka nie-interaktywna z opcją --login, w pierwszej kolejności
       czyta  i  wykonuje  polecenia z pliku /etc/profile, jeśli takowy
       istnieje.  Po  odczytaniu  tego  pliku,  szuka  ~/.bash_profile,
       ~/.bash_login  i ~/.profile, w tej kolejności, po czym odczytuje
       i wykonuje polecenia z pierwszego istniejącego  i  dającego  się
       odczytać.    Można   posłużyć   się  opcją  --noprofile  podczas
       uruchamiania powłoki, by zakazać takiego zachowania.

       Podczas kończenia pracy  powłoki  zgłoszeniowej,  bash  czyta  i
       wykonuje  polecenia z pliku ~/.bash_logout, jeśli taki istnieje.

       Jeżeli uruchamiana jest powłoka interaktywna nie będąca  powłoką
       zgłoszeniową, bash czyta i wykonuje polecenia z ~/.bashrc, jeśli
       taki plik istnieje.   Może  to  być  zakazane  za  pomocą  opcji
       --norc.  Opcja --rcfile plik wymusi odczyt i wykonanie poleceń z
       pliku zamiast z ~/.bashrc.

       Jeśli bash startuje w trybie nie-interaktywnym,  na  przykład  w
       celu  uruchomienia skryptu powłoki, to szuka w środowisku zmien-
       nej BASH_ENV, interpretuje jej  wartość,  jeśli  ją  znalazł,  i
       używa otrzymanej wartości jako nazwy pliku do odczytania i wyko-
       nania.  Bash zachowuje się tak, jakby były wykonane  następujące
       polecenia:
              if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
       ale  do  szukania  nazwy pliku nie jest używana wartość zmiennej
       PATH.

       Jeżeli bash wywołano pod nazwą  sh,  to  próbuje  on  naśladować
       zachowanie  startowe  historycznych  wersji sh tak ściśle jak to
       jest możliwe,  przy  równoczesnym  spełnianiu  standardu  POSIX.
       Wywołany  jako powłoka interaktywna lub powłoka nie-interaktywna
       z opcją --login, usiłuje na początku odczytać i wykonać  polece-
       nia  z  /etc/profile  i  ~/.profile,  w  tej kolejności.  W celu
       zakazania  tego  zachowania  można   użyć   opcji   --noprofile.
       Wywołany  jako powłoka interaktywna pod nazwą sh, bash poszukuje
       zmiennej ENV, interpretuje jej wartość, jeśli jest zdefiniowana,
       i  posługuje  się otrzymaną wartością jako nazwą pliku, który ma
       być odczytany i wykonany.  Ponieważ powłoka wywołana jako sh nie
       usiłuje  czytać  ani  wykonywać  poleceń  z jakichkolwiek innych
       plików  startowych,  opcja  --rcfile  nie  ma  żadnych  skutków.
       Powłoka  nie-interaktywna  wywołana  pod  nazwą  sh  nie próbuje
       czytać  żadnych  plików  startowych.   Wywołany  jako  sh,  bash
       wchodzi w tryb posix po odczycie plików startowych.

       Gdy  bash  uruchomiony  jest w trybie posix, jak z opcją --posix
       wiersza poleceń, kieruje się standardem POSIX dla  plików  star-
       towych.  W trybie tym, powłoka interaktywna interpretuje zmienną
       ENV a polecenia odczytywane i wykonywane  są  z  pliku,  którego
       nazwą  jest  zinterpretowana wartość.  Nie są czytane inne pliki
       startowe.

       Bash usiłuje rozstrzygnąć, czy  jest  uruchomiony  przez  demona
       powłoki  zdalnej, zwykle rshd.  Jeżeli stwierdzi, że został uru-
       chomiony  przez  rshd,  to  odczytuje  i  wykonuje  polecenia  z
       ~/.bashrc, jeśli plik ten istnieje i daje się czytać. Nie będzie
       tego robił wywołany jako sh.  Można posłużyć się  opcją  --norc,
       by  zakazać tego zachowania oraz opcją --rcfile, by wymusić czy-
       tanie innego pliku, ale rshd zazwyczaj nie  wywołuje  powłoki  z
       tymi opcjami ani nie pozwala na ich podanie.

       Jeśli  powłoka  została  uruchomiona z efektywnym id użytkownika
       (grupy) różnym od id rzeczywistego, a nie podano  opcji  -p,  to
       nie  są odczytywane żadne pliki startowe, funkcje powłoki nie są
       dziedziczone ze środowiska, zmienna SHELLOPTSP, jeśli jest  taka
       w   środowisku,   jest   ignorowana  a  efektywny  identyfikator
       użytkownika jest ustawiany na  jego  identyfikator  rzeczywisty.
       Jeśli  przy  wywołaniu  podano  opcję -p, to zachowanie startowe
       jest takie samo, ale nie jest resetowany efektywny id  użytkown-
       ika.

DEFINICJE
       W   pozostałej   części   tego  dokumentu  używane  są  poniższe
       definicje.
       odstęp Spacja lub znak tabulacji.
       słowo  Sekwencja znaków uważana przez powłokę za pojedynczą jed-
              nostkę. Znana też jako token.
       nazwa  Jest  to słowo składające się wyłącznie ze znaków alfanu-
              merycznych i znaków podkreślenia,  i  rozpoczynające  się
              znakiem   alfabetycznym   lub  podkreśleniem.  Wspominane
              również jako identyfikator.
       metaznak
              Znak, które, gdy nie jest cytowany, oddziela słowa. Jeden
              z poniższych:
              |  & ; ( ) < > spacja tab
       operator sterujący
              token   pełniący  funkcję  sterującą.  Jest  to  jeden  z
              poniższych symboli:
              || & && ; ;; ( ) | <nowalinia>

SŁOWA ZASTRZEŻONE
       Słowa zastrzeżone (reserved words)  to  takie,  które  mają  dla
       powłoki  specjalne znaczenie.  Następujące słowa są rozpoznawane
       jako zastrzeżone, gdy nie są  cytowane  i  występują  albo  jako
       pierwsze  słowo  polecenia  prostego  (zobacz  GRAMATYKA POWŁOKI
       poniżej) albo trzecie słowo poleceń case lub for;

       ! case  do done elif else esac fi for function if in select then
       until while { } time [[ ]]

GRAMATYKA POWŁOKI
   Polecenia proste
       Polecenie  proste  jest  sekwencją opcjonalnych przypisań zmien-
       nych, po której  następują  rozdzielane  przez  odstęp  słowa  i
       przekierowania,  a  zakończoną  operatorem  sterującym. Pierwsze
       słowo  określa  polecenie,  jakie  ma  zostać  wykonane  i  jest
       przekazywane  jako  argument  numer  zero.   Pozostałe  słowa są
       przekazywane jako argumenty wywoływanego polecenia.

       Wartością zwracaną polecenia prostego jest jego kod  zakończenia
       lub 128+n jeżeli polecenie przerwane jest sygnałem n.

   Potoki
       Potok  jest  sekwencją  jednego lub więcej poleceń rozdzielonych
       znakiem |.  Formatem potoku jest:

              [time [-p]] [ ! ] polecenie [ | polecenie2 ... ]

       Standardowe wyjście z polecenia połączone jest  za  pośrednictem
       potoku  ze  standardowym  wejściem  polecenia2.   Połączenie  to
       wykonywane jest przed możliwymi  przekierowaniami  podanymi  dla
       polecenia (zobacz poniżej PRZEKIEROWANIE.

       Jeżeli  potok  poprzedza zastrzeżone słowo !, to kod zakończenia
       takiego potoku jest negacją (NOT)  kodu  zakończenia  ostatniego
       polecenia.   W   przeciwnym   wypadku,  kodem  potoku  jest  kod
       zakończenia ostatniego polecenia.  Powłoka oczekuje na zakończe-
       nie  (terminate)  wszystkich  poleceń  w potoku przed zwróceniem
       wartości.

       Jeżeli potok jest poprzedzony słowem zastrzeżonym  time,  to  po
       jego  zakończeniu  podawany  jest  czas wykonywania, jak również
       czas użytkownika i czas systemu zużyty na wykonanie.   Opcja  -p
       zmienia  format tworzonych wyników na określony przez POSIX.  Do
       sformatowania łańcucha określającego, jak powinna  być  wyświet-
       lana  informacja  o  czasach,  można ustawić zmienną TIMEFORMAT;
       zobacz opis TIMEFORMAT w Zmienne powłoki poniżej.

       Każde polecenie w potoku uruchamiane jest  jako  odrębny  proces
       (tj. w podpowłoce).

   Listy
       Lista  jest  potokiem  lub sekwencją kilku potoków rozdzielonych
       jednym z operatorów ;, &, && lub ||,  i  opcjonalnie  zakończoną
       jednym ze znaków ;, & lub <nowalinia>.

       Spośród  tych operatorów listowych, && i || mają ten sam priory-
       tet, następujące po nich ; i &, również mają równy  między  sobą
       priorytet.

       Jeśli  polecenie  zakończone  jest  operatorem  sterującym &, to
       powłoka wykonuje je w tle (background)  w  podpowłoce.   Powłoka
       macierzysta  nie  oczekuje  na zakończenie polecenia, a zwracany
       kod wynosi 0. Polecenia oddzielane znakiem średnika ; wykonywane
       są  sekwencyjnie;  powłoka  oczekuje  na zakończenie pracy przez
       każde z nich po  kolei.  Zwracany  kod  jest  kodem  zakończenia
       ostatniego wykonanego polecenia.

       Operatory  sterujące  &&  i || oznaczają odpowiednio listy AND i
       OR. Lista AND ma postać

       polecenie2 wykonywane jest wtedy, i tylko wtedy, gdy  polecenie1
       zwraca zerowy kod zakończenia.

       Lista OR ma postać

              polecenie1 || polecenie2

       polecenie2  jest wykonywane wtedy, i tylko wtedy, gdy polecenie1
       zwraca niezerowy kod zakończenia.  Kod zwracany przez listy  AND
       i  OR  jest  kodem  zakończenia  ostatniego wykonanego polecenia
       listy.

   Polecenia złożone
       Polecenie złożone (compound command) jest jednym z poniższych:

       (lista)
              lista wykonywana jest w podpowłoce. Przypisania zmiennych
              i  polecenia  wbudowane  wpływające na środowisko powłoki
              nie zachowują swoich skutków  po  zakończeniu  polecenia.
              Zwracanym kodem jest kod zakończenia listy.

       { lista; }
              lista  jest  po  prostu  wykonywana w bieżącym środowisku
              powłoki.  lista musi być zakończona znakiem  nowej  linii
              lub  średnika.  Nazywane  jest  to poleceniem grupowania.
              Zwracanym  kodem  jest  kod  zakończenia  listy.   Należy
              pamiętać,  że w przeciwieństwie do metaznaków ( i , { i }
              są słowami zastrzeżonymi i aby zostały  rozpoznane  muszą
              się  pojawić  tam,  gdzie dozwolone jest użycie słów zas-
              trzeżonych.  Ponieważ nie  powodują  podziału  na  słowa,
              muszą być oddzielone od listy za pomocą białego znaku.

       ((wyrażenie))
              wyrażenie   interpretowane   jest   zgodnie   z  zasadami
              opisanymi poniżej w sekcji OBLICZANIE  WYRAŻEŃ  ARYTMETY-
              CZNYCH.  Jeśli wartość wyrażenia jest niezerowa, to kodem
              zwracanym jest 0; w przeciwnym razie kodem zwracaym  jest
              1. Jest to ściśle równoważne konstrukcji let "wyrażenie".

       [[ wyrażenie ]]
              Zwraca  kod  0  lub  1  w  zależności  od   interpretacji
              wyrażenia  warunkowego wyrażenie. Wyrażenia złożone są ze
              składowych  (primaries)   opisanych   poniżej   w   opcji
              WYRAŻENIA  WARUNKOWE.  Na słowach pomiędzy [[ a ]] nie są
              wykonywane rozwinięcia nazw plików ani podział na  słowa;
              są natomiast wykonywane: interpretacja tyld, parametrów i
              zmiennych, interpretacja wyrażeń arytmetycznych, podstaw-
              ianie  wyników  poleceń,  podstawianie wyników procesów i
              usunięcia cytowań.

              Gdy używane są operatory == i !=,  łańcuch  na  prawo  od
              operatora  traktowany  jest  jak  wzorzec  i dopasowywany
              zgodnie z  zasadami  opisanymi  poniżej  w  sekcji  Dopa-
              sowywanie   wzorców.  Wartością  zwracaną  jest  0  jeśli
              łańcuch odpowiednio pasuje lub nie pasuje do wzorca,  zaś
              1  w przeciwnym przypadku.  Można zacytować dowolną część
              wzorca w celu wymuszenia dopasowywania jej jako łańcucha.

              Wyrażenia  można  łączyć przy pomocy następujących opera-
              torów, wymienionych w kolejności malejącego priorytetu:

              ( wyrażenie )
                     Zwraca  wartość   wyrażenia.    Może   służyć   do
                     unieważnienia zwykłej kolejności operatorów.
              ! wyrażenie
                     Prawda jeżeli wyrażenie jest fałszywe.
              wyrażenie1 && wyrażenie2
                     Prawda  jeśli  zarówno wyrażenie1 jak i wyrażenie2
                     są prawdziwe.
              wyrażenie1 || wyrażenie2
                     Prawda jeśli choć  jedno  spośród  wyrażenie1  lub
                     wyrażenie2 jest prawdziwe.

              Operatory  && i || nie wykonują wyrażenia2 jeżeli wartość
              wyrażenia1  wystarcza  do   określenia   wartości,   jaka
              zostanie zwrócona przez całe wyrażenie warunkowe.

       for nazwa [ in słowo ] ; do lista ; done
              Interpretowane  są słowa następujące po in, tworząc listę
              elementów.  Zmiennej nazwa nadawana jest kolejno  wartość
              każdego  elementu tej listy i każdorazowo wykonywana jest
              lista poleceń.  Jeżeli pominięto in słowo,  to  polecenie
              for  wykonuje  listę  po  jednym razie dla każdego ustaw-
              ionego parametru pozycyjnego (zobacz PARAMETRY  poniżej).
              Zwracanym  kodem  jest  kod  zakończenia ostatniego wyko-
              nanego   polecenia.    Jeśli   interpretacja    elementów
              następujących  po in daje w wyniku pustą listę, to nie są
              wykonywane żadne polecenia i zwracany jest kod 0.

       for (( wyr1 ; wyr2 ; wyr3 )) ; do lista ; done
              Na początku obliczane jest wyrażenie  arytmetyczne  wyr1,
              zgodnie z zasadami opisanymi poniżej w OBLICZANIE WYRAŻEŃ
              ARYTMETYCZNYCH.  Następnie  wielokrotnie  obliczane  jest
              wyr2,   aż   do  osiągnięcia  przez  nie  wartości  zero.
              Każdorazowo gdy obliczone wyr2 jest niezerowe, wykonywana
              jest  lista i obliczane jest wyrażenie arytmetyczne wyr3.
              Jeśli pominięto któreś z wyrażeń, to  zachowuje  się  ono
              tak,  jakby  przyjmowało wartość 1.  Zwracanym kodem jest
              kod zakończenia ostatniego  wykonanego  polecenia  listy,
              lub fałsz jeśli któreś z wyrażeń jest niepoprawne.

       select nazwa [ in słowo ] ; do lista ; done
              Interpretowana  jest  lista  słów  następujących  po  in,
              tworząc listę elementów.  Zestaw  zinterpretowanych  słów
              wypisywany  jest  na standardowym wyjściu, każde poprzed-
              zone liczbą kolejną. Jeśli pominięto in słowo, to wypisy-
              wane  są  parametry pozycyjne (zobacz PARAMETRY poniżej).
              Następnie wyświetlana jest zachęta  PS3  i  czytany  jest
              wiersz ze standardowego wejścia. Jeżeli wiersz składa się
              z liczby odpowiadającej jednemu z wyświetlonych słów,  to
              zmiennej  nazwa  przypisywana  jest  wartość  tego słowa.
              Jeśli wiersz jest pusty, słowa i zachęta  wyświetlane  są
              ponownie.  Jeżeli  odczytano  EOF,  to  polecenie  kończy
              pracę. Każda inna wartość powoduje,  że  nazwie  zostanie
              przypisany  łańcuch  pusty.  Odczytany wiersz zachowywany
              jest w zmiennej REPLY.  lista wykonywana jest  po  każdym
              wyborze,  dopóki  nie  zostanie wykonane polecenie break.
              Kodem zakończenia select jest kod zakończenia  ostatniego
              wykonanego  polecenia  listy  lub zero jeśli nie wykonano
              żadnych poleceń.

       case słowo in [ [(] wzorzec [ | wzorzec ] ... ) lista ;;  ]  ...
       esac
              Polecenie case  najpierw  interpretuje  słowo  i  próbuje
              dopasować  uzyskany  wynik  każdego  z  wzorców po kolei,
              posługując się tymi samymi regułami dopasowywania, co dla
              rozwijania   nazw  ścieżkowych  (zobacz  Rozwijanie  nazw
              ścieżkowych  poniżej).  Gdy  znalezione  zostanie   dopa-
              sowanie, wykonywana jest odpowiadająca mu lista. Po pier-
              wszym dopasowaniu nie  są  dokonywane  próby  dopasowania
              pozostałych wzorców. Jeśli żaden ze wzorców nie pasuje do
              kodem zakończenia jest  zero.  W  przeciwnym  razie  jest
              równy  kodowi zakończenia ostatniego z wykonanych poleceń
              listy.

       if lista; then lista; [ elif lista; then lista;  ]  ...  [  else
       lista; ] fi
              Wykonywana jest lista występująca po if.  Jeżeli jej  kod
              zakończenia   jest   zerowy,  to  wykonywana  jest  lista
              klauzuli then.  W  przeciwnym  wypadku,  wykonywana  jest
              lista  każdego  elif  po  kolei;  jeśli  kod  zakończenia
              którejś wynosi 0, to wykonywana jest lista then i polece-
              nie jest kończone. Jeżeli nie wystąpił żaden z powyższych
              przypadków,  to  wykonywana  jest  lista  występująca  po
              klauzuli  else,  jeśli takowa istnieje. Kodem zakończenia
              jest kod ostatniego wykonanego polecenia listy  lub  zero
              jeśli żaden z warunków nie okazał się prawdziwy.

       while lista; do lista; done
       until lista; do lista; done
              Polecenie  while powtarza wykonywanie listy podanej po do
              tak długo,  jak  długo  ostatnie  polecenie  listy  while
              zwraca  zerowy  kod  zakończenia.  Polecenie until działa
              identycznie jak while, poza tym, że  warunek  jest  zane-
              gowany:  do  lista  wykonywane  jest tak długo, jak długo
              ostatnie  polecenie  listy  until  zwraca  niezerowy  kod
              zakończenia.   Kod zakończenia poleceń while i until jest
              równy kodowi zakończenia ostatniego z wykonanych  poleceń
              listy do lub zeru jeśli żadne nie zostało wykonane.

       [ function ] nazwa () { lista; }
              Definuje  to  funkcję  nazwaną nazwa. Ciałem funkcji jest
              lista poleceń zawarta pomiędzy  {  i  }.  Lista  ta  jest
              wykonywana  w  za  każdym  razem gdy nazwa występuje jako
              polecenie proste.  Kodem  zakończenia  funkcji  jest  kod
              zakończenia  ostatniego  z  wykonanych poleceń jej ciała.
              (Zobacz FUNKCJE poniżej.)

KOMENTARZE
       W powłoce  nie-interaktywnej  lub  w  powłoce  interaktywnej,  w
       której  włączono opcję interactive_comments do opcji wbudowanych
       shopt(zobacz  WBUDOWANE   POLECENIA   POWŁOKI   poniżej)   słowo
       rozpoczynające  się od znaku # powoduje, że słowo to i wszystkie
       pozostałe znaki w tym wierszu będą ignorowane. Powłoka  interak-
       tywna  bez  włączonej  opcji interactive_comments nie pozwala na
       komentarze. Opcja interactive_comments jest domyślnie włączona w
       powłokach interaktywnych.

CYTOWANIE
       Cytowanie  służy  do  usuwania specjalnego znaczenia dla powłoki
       pewnych znaków lub słów. Cytowanie można stosować do  wyłączania
       specjalnego traktowania znaków specjalnych, zapobiegania rozpoz-
       nawaniu słów zastrzeżonych jako takich oraz do zapobiegania pod-
       stawianiu parametrów.

       Każdy  z  metaznaków  podanych powyżej w DEFINICJACH posiada dla
       powłoki specjalne  znaczenie  i  musi  być  cytowany,  jeśli  ma
       oznaczać samego siebie.

       Gdy  używane  są  funkcje  interpretacji  historii poleceń, znak
       interpretacji historii, zwykle !, musi być cytowany, jeśli  chce
       się uniknąć interpretacji historii.

       Istnieją trzy mechanizmy cytowania: znak specjalny(escapecharac-
       ter), apostrofy  (pojedyncze  cudzysłowy)  i  cudzysłowy  zwykłe
       (podwójne).

       Niecytowany   odwrotny  ukośnik  (\)  jest  znakiem  specjalnym.
       Chroni on przed interpretacją dosłowną wartość następującego  po
       nim  znaku,  z  wyjątkiem  <nowejlinii>.  Jeśli  pojawi się para
       \<nowalinia> a sam odwrotny ukośnik nie jest cytowany, to  trak-
       towana jest ona jak kontynuacja wiersza (to znaczy, usuwana jest
       ze strumienia wejściowego i w efekcie ignorowana).

       Ujęcie znaków w apostrofy chroni  dosłowne  wartości  każdego  z
       nich. Apostrof nie może pojawić się pomiędzy innymi apostrofami,
       nawet jeśli jest poprzedzony odwrotnym ukośnikiem.

       Ujęcie znaków w cudzysłowy chroni dosłowne  wartości  każdego  z
       nich,  za  wyjątkiem  $, ` i \.  Znaki $ i ` zachowują swe spec-
       jalne znaczenie wewnątrz cudzysłowów. Odwrotny ukośnik zachowuje
       specjalne   znaczenie  tylko,  gdy  występuje  po  nim  jeden  z
       poniższych znaków: $, `, ", \ lub <nowalinia>.   Cudzysłów  może
       być  cytowany wewnątrz cudzysłowów przez poprzedzenie go odwrot-
       nym ukośnikiem.

       Parametry specjalne * i @ posiadają specjalne znaczenie wewnątrz
       cudzysłowów (zobacz PARAMETRY poniżej).

       Słowa  postaci  $'łańcuch' traktowane są specjalnie. Słowo takie
       interpretowane jako łańcuch, w którym znaki poprzedzone  odwrot-
       nym ukośnikiem zastępowane są według standardu ANSI C. Sekwencje
       specjalne z odwrotnym ukośnikiem, jeśli występują, dekodowane są
       następująco:
              \a     alarm (dzwonek)
              \b     backspace
              \e     znak escape
              \f     znak wysuwu strony (form feed)
              \n     znak nowej linii (new line)
              \r     powrót karetki (carriage return)
              \t     tabulacja pozioma (horizontal tab)
              \v     tabulacja pionowa (vertical tab)
              \\     odwrotny ukośnik (backslash)
              \'     apostrof
              \nnn   ośmiobitowy  znak, którego wartością jest ósemkowa
                     liczba nnn (jedna do trzech cyfr)
              \xnnn  ośmiobitowy znak,  którego  wartością  jest  szes-
                     nastkowa  liczba  nnn  (jedna do trzech cyfr szes-
                     nastkowych)

       Przetłumaczony wynik jest pojedynczo  cytowany,  tak  jakby  nie
       było znaku dolara.

       Ujęty  w  cudzysłowy  łańcuch  poprzedzony  znakiem  dolara  ($)
       spowoduje,  że  łańcuch  zostanie  zinterpretowany   zgodnie   z
       bieżącymi ustawieniami regionalnymi (locale). Jeśli ustawione są
       one na C lub POSIX,  to  znak  dolara  jest  ignorowany.  Jeżeli
       łańcuch  jest  tłumaczony  i  zamieniany,  to  zastąpienie  jest
       podwójnie cytowane.

PARAMETRY
       Parametr jest elementem przechowującym  wartości.  Może  on  być
       nazwą,  liczbą lub jednym ze znaków specjalnych podanych poniżej
       w sekcji Parametry specjalne.  Dla celów  powłoki  zmienna  jest
       parametrem  oznaczanym  przez  nazwę.  Zmienna posiada wartość i
       zero lub więcej atrybutów.  Wartość atrybutom przypisuje się  za
       pomocą polecenia wbudowanego declare (zobacz opis tego polecenia
       poniżej, w sekcji WBUDOWANE POLECENIA POWŁOKI).

       Parametr jest ustawiony jeśli  przypisano  mu  wartość.  Łańcuch
       pusty  jest poprawną wartością. Po ustawieniu zmiennej, może być
       ona unieważniona wyłącznie przez  użycie  wbudowanego  polecenia
       unset (zobacz poniżej WBUDOWANE POLECENIA POWŁOKI).

       Do  zmiennej  można  wykonać  przypisanie przy pomocy instrukcji
       postaci

              nazwa=[wartość]

       Jeżeli  nie  podano  wartości,  to  zmiennej  przypisywany  jest
       łańcuch pusty. Wszystkie wartości przechodzą przez interpretację
       tyld, podstawianie parametrów, interpretację zmiennych, podstaw-
       ianie  wyników  poleceń,  interpretację wyrażeń arytmetycznych i
       usuwanie cytowań (zobacz poniżej INTERPRETACJA).  Jeżeli zmienna
       ma  ustawiony  atrybut  integer  (całkowita), to wartość podlega
       interpretacjom wyrażeń arytmetycznych,  nawet  jeśli  nie  użyto
       interpretacji  $((...)).  Zobacz  poniżej  Interpretacja wyrażeń
       arytmetycznych.  Nie  jest  wykonywane  dzielenie  na  słowa,  z
       wyjątkiem  "$@",  jak  wyjaśniono  to poniżej w sekcji Parametry
       specjalne.   Nie  jest  wykonywane   rozwijanie   nazw   plików.
       Instrukcje  przypisania  mogą  się  też  pojawiać jako argumenty
       poleceń wbudowanych declare, typeset, export, readonly i  local.

   Parametry pozycyjne
       Parametr  pozycyjny  to  parametr  określany  cyfrą lub cyframi,
       innymi niż pojedyncza cyfra 0.  Parametrom  pozycyjnym  nadawane
       są   wartości  argumentów  powłoki  (w  czasie  jej  wywołania).
       Wartości te mogą być ponownie nadawane przy  pomocy  wbudowanego
       polecenia  set.   Do  parametrów  pozycyjnych  nie można wykonać
       przypisania przy pomocy instrukcji przypisania.  Parametry pozy-
       cyjne  są  tymczasowo  zastępowane  podczas  wykonywania funkcji
       powłoki (zobacz poniżej FUNKCJE).   Jeżeli  interpretowany  jest
       parametr pozycyjny określany więcej niż jedną cyfrą, to musi być
       ujęty w nawiasy (zobacz poniżej INTERPRETACJA).

   Parametry specjalne
       Powłoka kilka parametrów traktuje specjalnie. Do parametrów tych
       można  się wyłącznie odwoływać; nie jest dozwolone przypisywanie
       im wartości.

       *      Interpretowane jest jako parametry  pozycyjne,  począwszy
              od  pierwszego.  Gdy  interpretacja  pojawia się wewnątrz
              cudzysłowów, to parametr  ten  interpretowany  jest  jako
              pojedyncze  słowo  z  wartościami  każdego  z  parametrów
              rozdzielonymi pierwszym znakiem zmiennej specjalnej  IFS.
              To znaczy, "$*" jest równoważne "$1c$2c...", gdzie c jest
              pierwszym znakiem wartości zmiennej IFS.  Jeżeli IFS  nie
              jest  ustawione,  to  parametry  oddzielane  są spacjami.
              Jeśli IFS jest łańcuchem pustym, to parametry są ze  sobą
              połączone bez rozdzielających je separatorów.
       @      Interpretowane  jako  parametry  pozycyjne,  począwszy od
              pierwszego. Gdy interpretacja pojawia się  wewnątrz  cud-
              zysłowów,  to  każdy  parametr  interpretowany  jest jako
              odrębne słowo. To znaczy, "$@" jest równoważne "$1"  "$2"
              ...   Jeśli nie ma żadnych parametrów pozycyjnych, "$@" i
              $@ interpretowane są jako nic (tj. są usuwane).
       #      Interpretowane jako liczba parametrów pozycyjnych, podana
              dziesiętnie.
       ?      Interpretowane  jako  kod zakończenia ostatnio wykonanego
              potoku pierwszoplanowego.
       -      Interpretowane jako  bieżące  flagi  opcji,  takie  jakie
              zostały  podane  podczas wywołania, ustawione przy pomocy
              wbudowanego  polecenia  set  lub  ustawione  przez   samą
              powłokę (tak jak opcja -i).
       $      Interpretowany jest jako identyfikator procesu powłoki. W
              podpowłoce  (),  interpretowany  jest  jako  ID   procesu
              bieżącej powłoki, nie zaś podpowłoki.
       !      Interpretowany  jako  ID  procesu  ostatnio  wykonywanego
              polecenia tła (polecenia asynchronicznego).
       0      Interpretowany jako nazwa powłoki  lub  skryptu  powłoki.
              Ustawiane  jest  to na etapie inicjowania powłoki. Jeżeli
              bash wywoływany został z plikiem poleceń, to $0 ustawiane
              jest na nazwę tego pliku. Jeśli bash został uruchomiony z
              opcją -c, to $0 jest ustawiane na  pierwszy  argument  po
              łańcuchu,  jaki ma zostać wywołany, jeśli taki występuje.
              W przeciwnym wypadku, ustawiany jest na nazwę pliku użytą
              do wywołania bash, jaką podaje argument zerowy.
       _      Podczas  uruchamiania  powłoki,  ustawiany na bezwzględną
              nazwę   powłoki   lub   wykonywanego   skryptu    powłoki
              przekazanego  w  liście argumentów.  Następnie, interpre-
              towany jest jako ostatni argument poprzedniego polecenia,
              po interpretacji.  Ustawiany również na pełną nazwę pliku
              każdego polecenia wykonanego i umieszczonego w środowisku
              eksportowanym  do  tego  polecenia.   Podczas sprawdzania
              poczty   parametr   ten   przechowuje   nazwę   aktualnie
              sprawdzanego pliku poczty.

   Zmienne powłoki
       Powłoka ustawia następujące zmienne:

       BASH   Interpretowane  jako pełna nazwa pliku użyta do wywołania
              tego przebiegu  bash .
       BASH_VERSINFO
              Zmienna tablicowa tylko do odczytu, której elementy  zaw-
              ierają  informacje o wersji uruchomionego bash.  Wartości
              przypisane elementom tablicy są następujące:
              BASH_VERSINFO[0]        Główny  numer   wersji,   wydanie
                                      (release).
              BASH_VERSINFO[1]        Poboczny  numer wersji (version).
              BASH_VERSINFO[2]        Poziom łat (patch level).
              BASH_VERSINFO[3]        Wersja kompilatu (build version).
              BASH_VERSINFO[4]        Status wydania (np. beta1).
              BASH_VERSINFO[5]        Wartość MACHTYPE.

       BASH_VERSION
              Interpretowane   jako   łańcuch   opisujący  wersję  uru-
              chomionego bash.

       COMP_CWORD
              Indeks  w  ${COMP_WORDS}  słowa   zawierającego   bieżącą
              pozycję  kursora.   Zmienna  ta jest dostępna wyłącznie w
              funkcjach powłoki wywołanych przez usługi programowalnego
              uzupełniania (zobacz poniżej Programowalne uzupełnianie).

       COMP_LINE
              Bieżący wiersz poleceń.  Ta zmienna jest dostępna tylko w
              funkcjach powłoki i poleceniach zewnętrznych wywoływanych
              przez usługi programowalnego uzupełniania (zobacz poniżej
              Programowalne uzupełnianie).

       COMP_POINT
              Indeks   bieżącej   pozycji   kursora  względem  początku
              bieżącego  polecenia.   Jeżeli  kursor  jest   na   końcu
              bieżącego  polecenia,  to wartość tej zmiennej jest równa
              ${#COMP_LINE}.  Ta zmienna jest dostępna tylko  w  funkc-
              jach  powłoki  i  poleceniach  zewnętrznych  wywoływanych
              przez usługi programowalnego uzupełniania (zobacz poniżej
              Programowalne uzupełnianie).

       COMP_WORDS
              Zmienna  tablicowa (patrz Tablice poniżej) składająca się
              z  pojedynczych  słów  z  aktualnego   wiersza   poleceń.
              Zmienna  ta  jest  dostępna wyłącznie w funkcjach powłoki
              wywołanych  przez  usługi  programowalnego   uzupełniania
              (zobacz poniżej Programowalne uzupełnianie).

       DIRSTACK
              Zmienna  tablicowa  (zobacz  Tablice poniżej) zawierająca
              bieżącą zawartość stosu katalogów. Katalogi pojawiają się
              na  stosie  w  kolejności,  w jakiej są wyświetlane przez
              wbudowane dirs.  Przypisanie  do  elementów  tej  zmienej
              tablicowej   może   posłużyć   do  zmiany  katalogów  już
              występujących na stosie, ale do dodania i usunięcia kata-
              logów  muszą  być  użyte  wbudowane pushd i popd.  Przyp-
              isanie wartości tej zmiennej nie zmieni  bieżącego  kata-
              logu.   Jeśli  DIRSTACK  jest  unieważnione, to traci swe
              specjalne  właściwości,  nawet  jeżeli   jest   następnie
              ponownie ustawione.

       EUID   Interpretowane  jako  efektywny  identyfikator  bieżącego
              użytkownika, inicjowane przy uruchamianiu  powłoki.  Zmi-
              enna ta jest tylko do odczytu.

       FUNCNAME
              Nazwa  aktualnie  wykonywanej funkcji powłoki. Zmienna ta
              istnieje  tylko  podczas  wykonywania  funkcji   powłoki.
              Próby  przypisywania  jej  wartości  nie odnoszą efektu i
              zwracają kod błędu.  Jeżeli FUNCNAME  jest  unieważnione,
              to  traci  swe  specjalne  właściwości, nawet jeżeli jest
              następnie ponownie ustawione.

       GROUPS Zmienna  tablicowa  zawierająca   listę   grup,   których
              członkiem  jest  bieżący  użytkownik. Próby przypisywania
              jej wartości nie odnoszą efektu  i  zwracają  kod  błędu.
              Jeżeli  GROUPS  jest unieważnione, to traci swe specjalne
              właściwości, nawet jeżeli jest następnie ponownie  ustaw-
              ione.

       HISTCMD
              Licznik  historii  (indeks  na  liście  historii poleceń)
              bieżącego polecenia.  Jeżeli HISTCMD  jest  unieważnione,
              to  traci  swe  specjalne  właściwości, nawet jeżeli jest
              następnie ponownie ustawione.

       HOSTNAME
              Automatycznie ustawiane na nazwę aktualnego hosta.

       HOSTTYPE
              Automatycznie ustawiane na  łańcuch  unikalnie  opisujący
              typ  maszyny,  na  której  jest wykonywany bash.  Wartość
              domyślna zależy od systemu.

       LINENO Przy każdym odwołaniu do tego parametru powłoka zastępuje
              jego  wartość  liczbą  dziesiętną reprezentującą aktualny
              kolejny numer  wiersza  (poczynając  od  1)  skryptu  lub
              funkcji.  Nie zapewnia się, by wartość ta miała znaczenie
              poza  skryptem   bądź   funkcją.    Jeśli   LINENO   jest
              unieważnione,  to  traci swe specjalne właściwości, nawet
              jeżeli jest następnie ponownie ustawione.

       MACHTYPE
              Automatycznie ustawiane na łańcuch w pełni opisujący  typ
              systemu,  na  którym jest wykonywany bash, w standardowym
              formacie GNU cpu-firma-system.  Wartość  domyślna  zależy
              od systemu.

       OLDPWD Poprzedni katalog roboczy ustawiony poleceniem cd.

       OPTARG Wartość  ostatniego,  będącego opcją, argumentu przetwor-
              zonego przez wbudowane polecenie getopts (zobacz  poniżej
              WBUDOWANE POLECENIA POWŁOKI).

       OPTIND Numer  (indeks)  następnego  argumentu,  jaki  ma  zostać
              przetworzony przez wbudowane  polecenie  getopts  (zobacz
              poniżej WBUDOWANE POLECENIA POWŁOKI).

       OSTYPE Automatycznie ustawiane na łańcuch opisujący system oper-
              acyjny, w którym jest wykonywany bash.  Wartość  domyślna
              zależy od systemu.

       PIPESTATUS
              Zmienna  tablicowa  (zobacz  Tablice  poniżej) zwierająca
              listę kodów zakończenia z procesów w ostatnio wykonywanym
              potoku  pierwszoplanowym  (który może zawierać pojedyncze
              polecenie).

       PPID   Identyfikator procesu macierzystego powłoki.  Zmienna  ta
              jest tylko do odczytu.

       PWD    Bieżący katalog roboczy, ustawiony poleceniem cd.

       RANDOM Za   każdym   razem,  gdy  następuje  odwołanie  do  tego
              parametru, generowana  jest  całkowita  liczba  losowa  z
              zakresu  od  0  do  32767. Sekwencję liczb losowych można
              zainicjować przypisując wartość do RANDOM.  Jeżeli RANDOM
              jest  unieważniona,  to  traci swe specjalne właściwości,
              nawet jeżeli jest następnie ponownie ustawione.

       REPLY  Ustawiona na wiersz wejścia odczytany wbudowanym  polece-
              niem read jeśli nie podano żadnych jego argumentów.

       SECONDS
              Każdorazowo,  gdy  występuje odwołanie do tego parametru,
              zwracana jest liczba sekund, jakie upłynęły od  wywołania
              powłoki.  Jeżeli  do SECONDS zostanie przypisana wartość,
              to wartość zwracana przez kolejne odwołania równa liczbie
              sekund  od  czasu  przypisania  plus  przypisana wartość.
              Jeżeli SECONDS jest unieważnione, to traci swe  specjalne
              właściwości,  nawet jeżeli jest następnie ponownie ustaw-
              ione.

       SHELLOPTS
              Lista,  rozdzielonych   dwukropkami,   włączonych   opcji
              powłoki.  Każde  słowo  listy  jest  poprawnym argumentem
              opcji -o  wbudowanego  polecenia  set  (zobacz  WBUDOWANE
              POLECENIA POWŁOKI poniżej). Opcje pojawiające się w SHEL-
              LOPTS to te, które są zgłaszane jako włączone (on)  przez
              set  -o.   Jeśli zmienna ta istnieje w środowisku podczas
              uruchamiania bash, to każda z opcji  powłoki  występująca
              na tej liście zostanie włączona przed odczytem jakichkol-
              wiek  plików  startowych.   Jest  to  zmienna  tylko   do
              odczytu.

       SHLVL  Inkrementowana  każdorazowo, gdy uruchamiane jest kolejne
              wystąpienie bash.

       UID    Interpretowane jako identyfikator bieżącego  użytkownika,
              inicjowane  przy  uruchamianiu  powłoki.  Zmienna ta jest
              tylko do odczytu.

       Poniższe zmienne są używane przez powłokę. W niektórych przypad-
       kach bash przypisuje im domyślne wartości; przypadki te są odno-
       towane niżej.

       BASH_ENV
              Jeżeli parametr ten jest  ustawiony  podczas  wykonywania
              przez  bash  skryptu, to jego wartość interpretowana jest
              jako nazwa pliku zawierającego polecenia do zainicjowania
              powłoki,  jak  w  ~/.bashrc.   Wartość  BASH_ENV  podlega
              interpretacji parametrów, podstawianiu wyników poleceń  i
              interpretacjom wyrażeń arytmetycznych przed interpretacją
              jej jako nazwy pliku.  Zmienna PATH nie jest  używana  do
              znalezienia pliku o powstałej w ten sposób nazwie.
       CDPATH Ścieżka  wyszukiwania  dla  polecenia  cd.  Jest to lista
              rozdzielonych dwukropkami katalogów,  w  których  powłoka
              szuka  katalogów  docelowych podanych przez polecenie cd.
              Przykładową wartością jest ,,.:~:/usr''.
       COLUMNS
              Używana przez polecenie wbudowane select  do  wyznaczenia
              szerokości terminala przy wypisywaniu list wyboru. Ustaw-
              iana automatycznie po otrzymaniu SIGWINCH.
       COMPREPLY
              Zmienna  tablicowa,   z   której   bash   czyta   możliwe
              uzupełnienia  tworzone  przez  funkcję  powłoki  wywołaną
              przez usługę programowalnego uzupełniania (zobacz poniżej
              Programowalne uzupełnianie).
       FCEDIT Domyślny edytor dla wbudowanego polecenia fc.
       FIGNORE
              Lista  rozdzielonych  dwukropkami przyrostków, jakie mają
              być ignorowane podczas uzupełniania nazw  plików  (zobacz
              READLINE poniżej).  Nazwa pliku o przyrostku pasującym do
              jednej z pozycji FIGNORE wyłączana  jest  z  listy  dopa-
              sowanych   nazw   plików.    Przykładową  wartością  jest
              ,,.o:~''.
       GLOBIGNORE
              Lista  rozdzielonych  dwukropkami  wzorców  definiujących
              zestaw  nazw  plików,  jakie  mają być ignorowane podczas
              rozwijania nazw plików.  Jeżeli plik pasujący  do  wzorca
              rozwijającego  nazwę ścieżkową pasuje również do któregoś
              z wzorców w GLOBIGNORE, to jest on usuwany z listy  dopa-
              sowanych.
       HISTCONTROL
              Jeżeli  posiada wartość ignorespace, to wiersze rozpoczy-
              nające się od znaku spacji nie są  wprowadzane  do  listy
              historii.  Jeśli  posiada  wartość ignoredups, to wiersze
              pasujące  do   ostatniego   wiersza   historii   nie   są
              wprowadzane.     Wartość   ignoreboth   łączy   obie   te
              możliwości.  Jeśli zmienna ta nie jest  zdefiniowana  lub
              ma  wartość  inną  od  powyższych,  to  wszystkie wiersze
              przeczytane przez analizator  składni  zachowywane  są  w
              liście   historii,   stosownie  do  wartości  HISTIGNORE.
              Funkcja tej zmiennej jest  zastąpiona  przez  HISTIGNORE.
              Drugi  i  kolejne  wiersze złożonego polecenia wielowier-
              szowego nie są sprawdzane i są dodawane do  historii  bez
              względu na wartość
       HISTFILE
              Nazwa  pliku,  w którym zachowywana jest historia poleceń
              (zobacz  HISTORIA  poniżej).   Wartością  domyślną   jest
              ~/.bash_history.  Jeśli  ustawienie tej zmiennej zostanie
              skasowane, to historia poleceń nie  będzie  zachowana  po
              zakończeniu pracy powłoki interaktywnej.
       HISTFILESIZE
              Maksymalna  liczba  wierszy  zawartych  w pliku historii.
              Podczas przypisywania wartości tej zmiennej, jeżeli  jest
              to  niezbędne,  plik  historii  jest obcinany tak, by nie
              zawierał więcej wierszy.  Domyślną  wartością  jest  500.
              Plik  historii  jest  także  obcinany do tego rozmiaru po
              zapisaniu go  w  czasie  kończenia  pracy  przez  powłokę
              interaktywną.
       HISTIGNORE
              Lista  rozdzielonych  dwukropkami  wzorców  służących  do
              decydowania, jakie wiersze poleceń powinny być  zachowane
              w  liście  historii. Każdy z wzorców zakotwiczony jest na
              początku wiersza i musi pasować do  całego  wiersza  (nie
              jest  dodawane  żadne  niejawne  `*').  Każdy  z  wzorców
              sprawdzany jest z bieżącym wierszem po wykonaniu kontroli
              określonych  przez  HISTCONTROL.   Oprócz zwykłych znaków
              dopasowywania wzorców używanych przez powłokę, `&'  dopa-
              sowuje  poprzedni  wiersz  historii.  Literał  `&'  można
              uzyskać poprzedzając go  odwrotnym  ukośnikiem;  odwrotny
              ukośnik  jest  usuwany  przed próbą dopasowania.  Druga i
              kolejne wiersze złożonego polecenia wielowierszowego  nie
              są  sprawdzane  i  są dodawane do historii bez względu na
              wartość HISTIGNORE.
       HISTSIZE
              Liczba poleceń do zapamiętania w historii poleceń (zobacz
              HISTORIA poniżej).  Wartością domyślną jest 500.
       HOME   Katalog  domowy  bieżącego użytkownika; domyślny argument
              wbudowanego polecenia cp.   Wartość  tej  zmiennej  wyko-
              rzystywana  jest też przy wykonywaniu interpretacji tyld.
       HOSTFILE
              Zawiera nazwę pliku o tym samym  formacie  co  /etc/hosts
              który   pownien   być  czytany,  gdy  powłoka  potrzebuje
              uzupełnić nazwę hosta.  Listę możliwych uzupełnień  można
              zmieniać  podczas  pracy  powłoki.   Następnym razem, gdy
              wykonywana  jest  próba  uzupełnienia  nazwy  hosta  bash
              dodaje  zawartość  nowego pliku do już istniejącej listy.
              Jeżeli HOSTFILE jest ustawione, ale nie posiada wartości,
              bash  usiłuje  uzyskać  listę  możliwych  uzupełnień nazw
              hostów   czytając   /etc/hosts    Gdy    HOSTFILE    jest
              unieważniane, lista hostów jest czyszczona.
       IFS    Wewnętrzny   Separator  Pól  (Internal  Field  Separator)
              używany do podziału na słowa po interpretacjach i dziele-
              nia  wierszy na słowa we wbudowanym poleceniu read.  Jego
              domyślną      wartością       jest       ,,<spacja><tabu-
              lacja><nowalinia>''.
       IGNOREEOF
              Steruje  działaniem powłoki interaktywnej przy otrzymaniu
              przez nią znaku EOF jako jedynego znaku  wejścia.  Jeżeli
              jest  ustawiona,  to  jej  wartość  jest liczbą kolejnych
              znaków EOF jakie muszą być wpisane  jako  pierwsze  znaki
              wiersza wprowadzania przed zakończeniem pracy przez bash.
              Jeśli zmienna  ta  istnieje,  ale  nie  zawiera  wartości
              numerycznej  lub  nie  ma wartości, to wartością domyślną
              jest 10. Jeżeli nie istnieje,  to  EOF  wskazuje  powłoce
              koniec wprowadzanych danych.
       INPUTRC
              nazwa   pliku  startowego  dla  readline,  unieważniająca
              domyślną ~/.inputrc (zobacz READLINE poniżej).
       LANG   Służy do wyznaczania kategorii locale dla wszystkich kat-
              egorii nie wyszczególnionych przez zmienne rozpoczynające
              się od znaków LC_.
       LC_ALL Zmienna ta unieważnia wartość  LANG  i  wszelkich  innych
              zmiennych LC_ określających kategorie locale.
       LC_COLLATE
              Ta  zmienna  wyznacza kolejność (collation order) używaną
              przy sortowaniu wyników rozwijania nazw plików,  decyduje
              też  o zachowaniu wielu wyrażeń, klas równoważnych i sek-
              wencje sortowania (collating sequences) w rozwijaniu nazw
              plików i dopasowywaniu wzorców.
       LC_CTYPE
              Ta  zmienna  decyduje o interpretacji znaków i zachowaniu
              się klas znaków wewnątrz rozwijania nazw plików  i  dopa-
              sowywania wzorców.
       LC_MESSAGES
              Ta  zmienna  decyduje  o  ustawieniu  locale  używanym do
              tłumaczenia ujętych w cudzysłowy łańcuchów  poprzedzonych
              znakiem $.
       LC_NUMERIC
              Ta zmienna określa kategorię locale używaną do formatowa-
              nia liczb.
       LINES  Używana przez polecenie wbudowane select  do  wyznaczenia
              długości  kolumn przy wypisywaniu list wyboru.  Ustawiana
              automatycznie po otrzymaniu SIGWINCH.
       MAIL   Jeżeli parametrowi temu jest przypisana  nazwa  pliku,  a
              nie  jest  ustawiona  zmienna MAILPATH, to bash informuje
              użytkownika o nadejściu poczty do podanego pliku.
       MAILCHECK
              Określa jak często (w sekundach)  bash  sprawdza  pocztę.
              Domyślnie   jest   to   60  sekund.  Gdy  nadchodzi  pora
              sprawdzenia poczty, powłoka wykonuje to przed  wyświetle-
              niem  głównej  zachęty.  Jeśli zmienna ta nie jest ustaw-
              iona, to powłoka wyłącza sprawdzanie poczty.
       MAILPATH
              Lista rozdzielonych dwukropkami nazw plików, w jakich  ma
              być  sprawdzana  poczta.  Można  podać komunikat, jaki ma
              zostać  wyświetlony,  gdy  do  danego  pliku   przybędzie
              wiadomość  pocztowa,  przez  oddzielenie  nazwy  pliku od
              komunikatu znakiem '?'.  Użyte w tekście  komunikatu,  $_
              interpretowane  jest  jako  nazwa  bieżącego  pliku pocz-
              towego.  Przykład:
              MAILPATH='/var/mail/bfox?"You have mail":~/shell-mail?"$_
              has mail!"'
              Bash   zapewnia   tej   zmiennej  wartość  domyślną,  ale
              położenie  plików  pocztowych  użytkownika,   jakim   się
              posługuje zależy od systemu (np. /var/mail/$USER).
       OPTERR Jeżeli  ustawiono na wartość 1, bash wyświetla komunikaty
              o błędach generowanych przez wbudowane polecenie  getopts
              (zobacz  WBUDOWANE  POLECENIA  POWŁOKI  poniżej).  OPTERR
              inicjowane jest na 1  każdorazowo,  gdy  wywoływana  jest
              powłoka lub wykonywany jest skrypt powłoki.
       PATH   Ścieżka wyszukiwania poleceń. Jest to lista rozdzielanych
              dwukropkami katalogów, w których  powłoka  szuka  poleceń
              (zobacz  WYKONYWANIE  POLECEŃ  poniżej). Domyślna ścieżka
              zależy od systemu i ustawiana jest  przez  administratora
              instalującego    bash.     Powszechną    wartością   jest
              ,,/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.''.
       POSIXLY_CORRECT
              Jeśli  podczas uruchamiania bash w środowisku istnieje ta
              zmienna, to  powłoka  przed  odczytem  plików  startowych
              wchodzi w tryb posix, tak jakby przy jej wywołaniu podano
              opcję --posix.  Jeśli zmienna ta zostanie ustawiona  pod-
              czas  pracy powłoki, to bash włącza tryb posix, tak jakby
              zostało wykonane polecenie set -o posix.
       PROMPT_COMMAND
              Jeżeli jest ustawiona, to  jej  wartość  jest  wykonywana
              jwko polecenie przed każdym wysłaniem zachęty głównej.
       PS1    Wartość   tego   parametru  jest  interpretowana  (zobacz
              poniżej ZACHĘTA) i używana jako główny  łańcuch  zachęty.
              Jego wartością domyślną jest ,,\s-\v\$ ''.
       PS2    Wartość  tego  parametru  jest  interpretowana  jak PS1 i
              używana  jako   wtórny   (secondary)   łańcuch   zachęty.
              Domyślnie jest to ,,> ''.
       PS3    Wartość  tego  parametru  służy  jako zachęta w poleceniu
              select (zobacz powyżej GRAMATYKA POWŁOKI).
       PS4    Wartość tego parametru interpretowana jest jak PS1 i wyp-
              isywana  przed  każdym poleceniem wyświetlanym przez bash
              podczas śledzenia  wykonywania.   Pierwszy  znak  PS4,  w
              razie  potrzeby, powtarzany jest wielokrotnie, by wskazać
              wiele pozionów zagnieżdżenia.  Domyślnie jest to ,,+  ''.
       TIMEFORMAT
              Wartość   tego   parametru  służy  jako  łańcuch  formatu
              określającego, jak powinna być wyświetlana  informacja  o
              czasach  dla  potoków  poprzedzonych  słowem zastrzeżonym
              time.  Znak % rozpoczyna sekwencję specjalną, która  jest
              interpretowana  jako  wartość  czasu lub inna informacja.
              Sekwencje specjalne i ich znaczenie są następujące;  naw-
              iasy kwadratowe opisują części opcjonalne.
              %%        Literał %.
              %[p][l]R  Czas, jaki upłynął, w sekundach.
              %[p][l]U  Liczba   sekund,   jakie  CPU  zużył  w  trybie
                        użytkownika.
              %[p][l]S  Liczba sekund, jakie CPU zużył w trybie  syste-
                        mowym.
              %P        Procent  wykorzystania  CPU, liczony jako (%U +
                        %S) / %R.

              Opcjonalne p jest cyfrą  określającą  dokładność  (preci-
              sion),  liczbę  cyfr  ułamkowych  po  kropce dziesiętnej.
              Wartość zero powoduje,  że  nie  będzie  wyświetlana  ani
              kropka dziesiętna ani część ułamkowa.  Mogą być podane co
              najwyżej trzy miejsca po kropce dziesiętnej;  wartości  p
              większe  od 3 zmieniane są na 3.  Jeżeli nie podano p, to
              używana jest wartość 3.

              Opcjonalne Bl określa dłuższy  (longer)  format  wyników,
              zawierający  minuty,  w  postaci  MMmSS.FFs.   O tym, czy
              występuje ułamkowa część sekund decyduje wartość p.

              Jeżeli zmienna ta nie jest ustawiona, to bash działa tak,
              jakby             miała            ona            wartość
              $'\nreal\t%3lR\nuser\t%3lU\nsys%3lS'.      Jeżeli     jej
              wartością  jest  pusty  łańcuch,  to nie jest wyświetlana
              żadna informacja o czasach (timing).  Podczas  wyświetla-
              nia  łańcucha  formatu  dodawany jest kończący znak nowej
              linii.

       TMOUT  Jeśli ustawione na wartość większą od zera, to wartość ta
              jest  interpretowana jako liczba sekund określającą czas,
              przez jaki powłoka ma czekać na  wprowadzenie  danych  po
              wyświetleniu  zachęty.   Bash  kończy pracę po odczekaniu
              tego czasu jeśli dane nie pojawiły się.

       auto_resume
              Zmienna  ta  steruje  sposobem   interakcji   powłoki   z
              użytkownikiem  i  sposobem  kontroli  zadań.  Jeżeli jest
              ustawiona,  to   jednowyrazowe   polecenia   proste   bez
              przekierowań  traktowane są jako aspirujące do wznowienia
              istniejącego zatrzymanego zadania.  Nie  pozwala  się  na
              żadną  dwuznaczność;  jeśli jest więcej niż jedno zadanie
              rozpoczynające się od wpisanego łańcucha, wybierane  jest
              zadanie, do którego ostatnio sięgano.  Nazwa zatrzymanego
              zadania, w tym kontekście, jest wierszem  poleceń  użytym
              do  jego  uruchomienia.   Jeśli posiada wartość exact, to
              podany łańcuch musi pasować dokładnie  do  nazwy  zatrzy-
              manego  zadania;  Jeśli  jest  ustawione na substring, to
              podany łańcuch  powinien  pasować  do  podłańcucha  nazwy
              zatrzymanego   zadania.    Wartość   substring   zapewnia
              funkcjonalność analogiczną do identyfikatora  zadania  %?
              (zobacz  STEROWANIE  ZADANIAMI poniżej).  Jeśli ustawiono
              inną wartość, to podany łańcuch  musi  być  przedrostkiem
              nazwy  zatrzymanego  zadania;  zapewnia to funkcjonalność
              analogiczną do identyfikatora zadania %.

       histchars
              Dwa lub trzy znaki  sterujące  interpretacją  historii  i
              podziałem  na  leksemy (zobacz poniżej INTERPRETACJA HIS-
              TORII).  Pierwszy  znak  jest  znakiem  interpretacjihis-
              torii,  sygnalizującym  początek  interpretacji historii,
              zwykle `!'.  Drugi znak jest znakiem szybkiego podstawia-
              nia  ,  ("quick  substitution"),  służącym  jako skrót do
              powtórnego uruchamiania poprzednio wprowadzonego  polece-
              nia,  podstawiającym  w  poleceniu jeden łańcuch za inny.
              Domyślnym  znakiem  szybkiego  podstawiania   jest   `^'.
              Opcjonalny,  trzeci  znak  jest  znakiem  wskazującym, że
              pozostała część wiersza, w którym występuje on jako pier-
              wszy  znak  słowa,  jest komentarzem.  Zwykle znakiem tym
              jest `#'.  Znak  komentarza  historii  powoduje,  że  dla
              pozostałych   słów  wiersza  podstawianie  historii  jest
              pomijane.  Niekoniecznie powoduje to  traktowanie  reszty
              wiersza jako komentarza przez analizator składni powłoki.

   Tablice
       Bash udostępnia zmienne tablicowe jednowymiarowe.  Jako  tablica
       może  zostać  użyta  dowolna  zmienna;  wbudowane declare jawnie
       explicitly zadeklaruje tablicę.  Nie  ma  maksymalnego  rozmiaru
       tablic,  ani  wymagania,  by  wszystkie jej elementy były indek-
       sowane czy przypisywane w sposób ciągły. Tablice indeksowane  są
       przy pomocy liczb całkowitych, począwszy od zera.

       tablica tworzona jest automatycznie jeśli wykonywane jest przyp-
       isanie    do    jakiejś    zmiennej    przy    pomocy    składni
       nazwa[wskaźnik]=wartość.   Wskaźnik tablicy traktowany jest jako
       wyrażenie arytmetyczne, które musi po interpretacji  dać  liczbę
       większą bądź równą zero. Chcąc jawnie zadeklarować tablicę, użyj
       declare -a nazwa (zobacz WBUDOWANE POLECENIA  POWŁOKI  poniżej).
       declare  -a  nazwa[wskaźnik]  jest również akceptowane; wskaźnik
       jest wówczas ignorowany.  Dla zmiennej  tablicowej  można  podać
       atrybuty  przy  pomocy  wbudowanych declare i readonly.  Każdy z
       atrybutów stosowany jest do wszystkich elementów tablicy.

       Przypisania  do  tablic  wykonywane  są  przy  pomocy  przypisań
       złożonych  postaci  nazwa=(wartość1  ...  wartośćn), gdzie każda
       wartość ma postać [wskaźnik]=łańcuch.  Wymagany  jest  wyłącznie
       łańcuch. Jeżeli podano opcjonalne nawiasy i wskaźnik, to wartość
       jest przypisywana wskazanemu elementowi  tablicy;  w  przeciwnym
       wypadku  wartość przypisywana jest elementowi o indeksie o jeden
       większym od ostatniego elementu z przypisaną wartością.  Indeksy
       ropoczynają  się  od  zera.   Składnia ta jest akceptowana także
       przez wbudowane declare.  Przypisania do pojedynczych  elementów
       tablicy      można     wykonywać     przy     pomocy     składni
       nazwa[wskaźnik]=wartość wprowadzonej powyżej.

       Do   elementu   tablicy    można    odwoływac    się    używając
       ${nazwa[wskaźnik]}. Nawiasy są wymagane, by uniknąć konfliktów z
       rozwijaniem nazw plików. Jeśli wskaźnikiem  jest  @  lub  *,  to
       powyższe  słowo  interpretowane  jest  jako  wszystkie  elementy
       nazwy.  Wskaźniki te różnią się tylko wtedy, gdy  słowo  pojawia
       się   w  cudzysłowach.   Jeśli  słowo  ujęto  w  cudzysłowy,  to
       ${nazwa[*]} interpretowane jest jako pojedyncze słowo o wartości
       wszystkich  elementów  tablicy  rozdzielonych  pierwszym znakiem
       zmiennej specjalnej IFS, zaś ${nazwa[@]}  interpretuje  każdy  z
       elementów  nazwa  jako  odrębne słowo. Jeśli brak jest elementów
       tablicy, to ${nazwa[@]} interpretowane jest jako  nic.  Jest  to
       zachowanie analogiczne do interpretacji parametrów specjalnych *
       i @ (zobacz powyżej Parametry  specjalne).   ${#nazwa[wskaźnik]}
       interpretowane   jest  jako  długość  ${nazwa[wskaźnik]}.  Jeśli
       wskaźnikiem jest * lub @, to interpretacją jest liczba elementów
       w  tablicy.   Odwoływania się do zmiennej tablicowej bez podania
       wskaźnika jest równoważne odwołaniu do elementu numer zero.

       Do niszczenia tablic służy  wbudowane  polecenie  unset.   unset
       nazwa[wskaźnik]  niszczy  element  tablicy  o indeksie wskaźnik.
       unset   nazwa,   gdzie   nazwa   jest   tablicą,    lub    unset
       nazwa[wskaźnik],  gdzie  wskaźnikiem  jest  *  lub @, usuwa całą
       tablicę.

       Każde z wbudowanych declare, local i readonly akceptuje opcję -a
       do  określania  tablic.  Wbudowane  read  akceptuje  opcję -a do
       przypisywania tablicy listy słów przeczytanych ze  standardowego
       wejścia.   set i declare wyświetlają wartości tablicowe w sposób
       umożliwiający ponowne ich użycie w przypisaniach.

INTERPRETACJA
       Interpretacja  wykonywana  jest  na  wierszu  poleceń  po   jego
       podziale na słowa.  Istnieje siedem rodzajów wykonywanych inter-
       pretacji: interpretacja nawiasów  (brace  expansion),  interpre-
       tacja  tyld  (tilde expansion), podstawianie parametrów i inter-
       pretacja zmiennych (parameter and variable expansion),  podstaw-
       ienie  wyników  poleceń  (command  substitution),  interpretacja
       wyrażeń arytmetycznych (arithmetic expansion), podział na  słowa
       (word splitting) i rozwinięcie nazw plików (pathname expansion).

       Kolejność interpretacji: interpretacja  nawiasów,  interpretacja
       tyld, podstawianie parametrów, interpretacja zmiennych i wyrażeń
       arytmetycznych i podstawianie  wyników  poleceń  (wykonywane  od
       lewej   do   prawej),   podział   na  słowa  i  rozwijanie  nazw
       ścieżkowych.

       Na  systemach  potrafiących  to  obsłużyć,  istnieje   dodatkowa
       dostępna  interpretacja:  podstawienie wyników procesów (process
       substitution).

       Tylko interpretacja nawiasów, dzielenie na słowa  i  rozwinięcie
       nazw plików mogą zmienić liczbę słów interpretowanego wyrażenia;
       pozostałe interpretacje rozwijają pojedyncze słowo w  pojedyncze
       słowo.  Jedynymi wyjątkami są interpretacje "$@" i "${nazwa[@]}"
       wyjaśnione powyżej (zobacz PARAMETRY).

   Interpretacja nawiasów
       Interpretacja nawiasów jest mechanizmem, przez  który  mogą  być
       generowane   dowolne   łańcuchy.    Mechanizm   ten   przypomina
       rozwinięcia nazw plików, ale generowane nazwy plików  nie  muszą
       określać  plików istniejących. Wzorce, mające podlegać interpre-
       tacji nawiasów mają  postać  opcjonalnej  preambuły,  po  której
       występują serie separowanych przecinkami łańcuchów pomiędzy parą
       nawiasów   klamrowych,   po   których    następuje    opcjonalny
       dopisek(postscript).   Preambuła stanowi przedrostek dla każdego
       z łańcuchów zawartych w nawiasach, a dopisek  dodawany  jest  do
       każdego  łańcucha  wynikowego,  przy  interpretacji  od lewej do
       prawej.

       Interpretacja nawiasów może  być  zagnieżdżana.  Wyniki  każdego
       zinterpretowanego  łańcucha  nie  są sortowane; zachowywana jest
       kolejność od lewej do prawej. Na przykład,  a{d,c,b}e  interpre-
       towane jest jako `ade ace abe'.

       Interpretacja  nawiasów  wykonywana  jest przed innymi rodzajami
       interpretacji, a znaki o specjalnym znaczeniu dla innych  inter-
       pretacji  są  zachowywane  w wyniku. Jest ściśle tekstowa.  Bash
       nie stosuje żadnej interpretacji składniowej do kontekstu inter-
       pretacji czy tekstu pomiędzy nawiasami.

       Poprawnie  zbudowana interpretacja nawiasów musi zawierać niecy-
       towany nawias otwierający  i  zamykający  i  co  najmniej  jeden
       niecytowany   przecinek.   Wszelkie  niepoprawnie  skonstruowane
       interpretacje nawiasów są pozostawiane bez zmian.  { lub , można
       cytować  przy  pomocy  odwrotnego  ukośnika,  co chroni je przed
       przyjmowaniem za część wyrażenia  nawiasowego.   Dla  uniknięcia
       konfliktu  z interpretacją parametrów, łańcuch ${ nie jest trak-
       towany jako spełniający warunki interpretacji nawiasów.

       Typowym zastosowaniem tej  konstrukcji  jest  skrót,  wtedy  gdy
       wspólny  przedrostek  łańcuchów do utworzenia jest dłuższy niż w
       powyżej podanym przykładzie, np.:

              mkdir /usr/local/src/bash/{old,new,dist,bugs}
       lub
              chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}

       Interpretacja nawiasów wprowadza niewielką niezgodność z  histo-
       rycznymi  wersjami sh.  sh nie traktuje nawiasów otwierających i
       zamykających w specjalny sposób gdy pojawiają się one jako część
       słowa,  i  zachowuje je w wyniku.  W bash konsekwencją interpre-
       tacji nawiasów jest usuwanie nawiasów  ze  słów.   Na  przykład,
       słowo  wprowadzone do sh jako plik{1,2} pojawi się w identycznej
       postaci na wyjściu. To samo słowo po  interpretacji  przez  bash
       daje  plik1  plik2.   Jeżeli pożądana jest ścisła zgodność z sh,
       uruchom bash z opcją +B lub wyłącz interpretację  nawiasów  przy
       pomocy  opcji  +B  polecenia  set  (zobacz  WBUDOWANE  POLECENIA
       POWŁOKI poniżej).

   Interpretacja tyldy
       Jeżeli słowo rozpoczyna się niecytowanym znakiem tyldy (`~'), to
       wszystkie  znaki poprzedzające pierwszy niecytowany ukośnik (lub
       wszystkie znaki, gdy nie ma ukośnika) uważane są za  przedrostek
       tyldy  (tilde-prefix).   Jeżeli  żaden  ze  znaków w przedrostku
       tyldy nie jest cytowany, to  jego  znaki  następujące  po  znaku
       tyldy  traktowane  są jako możliwa nazwa logowania (login name).
       Jeśli  ta  nazwa  logowania  jest  łańcuchem  pustym,  to  tylda
       zastępowana  jest wartością parametru powłoki HOME.  Jeżeli HOME
       nie jest ustawione, to podstawiany jest za  nie  katalog  domowy
       użytkownika  uruchamiającego  powłokę.   W  przeciwnym  wypadku,
       przedrostek tyldy zastępowany jest  katalogiem  domowym  skojar-
       zonym z określoną nazwą logowania.

       Jeśli  przedrostkiem  tyldy  jest  `~+',  to jest on zastępowany
       wartością zmiennej PWDpowłoki.  Jeśli przedrostkiem  tyldy  jest
       `~-',  to jest on zastępowany wartością zmiennej powłoki OLDPWD,
       jeśli jest ona ustawiona.  Jeżeli występujące w  przedrostku  po
       tyldzie  znaki składają się z liczby N, opcjonalnie poprzedzonej
       przez  `+'  lub  `-',  to  przedrostek  tyldy  zastępowany  jest
       odpowiednim elementem stosu katalogów, jaki zostałby wyświetlony
       przez wbudowane dirs, wywołane z przedrostkiem tyldy jako  argu-
       mentem.  Jeżeli w przedrostku tyldy znaki występujące po tyldzie
       składają się z liczby bez początkowego `+' lub  `-',  to  przyj-
       mowane jest `+'.

       Jeśli nazwa logowania jest nieprawidłowa lub interpretacja tyldy
       nie powiodła się, to słowo z tyldą pozostaje niezmienione.

       Każde z przypisań do zmiennej sprawdzane jest na obecność niecy-
       towanych  przedrostków tyldy występujących bezpośrednio po : lub
       =.  W tych przypadkach również jest  wykonywana  jest  interpre-
       tacja  tyldy.   Na  skutek  tego,  można  posługiwać się nazwami
       plików z tyldami w przypisaniach do PATH, MAILPATH i  CDPATH,  a
       powłoka przypisze zinterpretowaną wartość.

   Podstawianie parametrów
       Znak `$' wprowadza podstawianie parametrów, podstawianie wyników
       poleceń  i  interpretację  wyrażeń  arytmetycznych.  Podlegająca
       interpretacji  nazwa  parametru lub symbol mogą być ujęte w naw-
       iasy klamrowe, które są opcjonalne, ale służą do ochrony  inter-
       pretowanej  zmiennej przed znakami, jakie występują bezpośrednio
       po niej, a  które  mogłyby  zostać  zinterpretowane  jako  część
       nazwy.

       Gdy  używane są nawiasy, pasującym nawiasem kończącym jest pier-
       wszy `}', nie chroniony przez odwrotny ukośnik,  nie  znajdujący
       się  wewnątrz cytowanego łańcucha ani osadzony w wyrażeniu aryt-
       metycznym,  podstawieniu  wyniku  polecenia   czy   podstawieniu
       parametru.

       ${parametr}
              Podstawiana  jest  wartość parametru. Nawiasy wymagane są
              gdy parametr jest parametrem pozycyjnym o więcej niż jed-
              nej  cyfrze,  lub gdy po parametrze występuje znak, który
              nie powinien być interpretowany jako część jego nazwy.

       Jeżeli  pierwszym  znakiem   parametru   jest   wykrzyknik,   to
       rozpoczyna  on  poziom  zagnieżdżenia zmiennej pośredniej.  Bash
       posługuje się wartością zmiennej utworzonej z  reszty  parametru
       jako  nazwą zmiennej; zmienna ta jest następnie interpretowana a
       w dalszym podstawianiu używana jest  otrzymana  wartość  zamiast
       wartości  samego  parametru.   Znane  jest to jako interpretacja
       pośrednia (indirect expansion).  Wyjątkiem jest tu interpretacja
       ${!przedrostka*} opisana poniżej.

       W  każdym  z  poniższych przypadków, słowo podlega interpretacji
       tyldy, podstawianiu parametrów, podstawianiu wyników  poleceń  i
       interpretacji   wyrażeń  arytmetycznych.  Gdy  nie  przeprowadza
       interpretacji podłańcuchów, bash sprawdza czy parametr nie  jest
       pusty lub nieustawiony;

       ${parametr:-słowo}
              Używa wartości domyślnych. Jeżeli parametr jest nieustaw-
              iony  lub  pusty,  to  podstawiane  jest  zinterpretowane
              słowo.   W  przeciwnym  razie,  podstawiana  jest wartość
              parametru.
       ${parametr:=słowo}
              Przypisuje  wartości  domyślne.   Jeżeli  parametr   jest
              nieustawiony  lub  pusty, to jest mu przypisywane zinter-
              pretowane  słowo.   Następnie  podstawiana  jest  wartość
              parametru.   Nie  można w ten sposób przypisywać wartości
              parametrom pozycyjnym ani parametrom specjalnym.
       ${parametr:?słowo}
              Wyświetla błąd  jeśli  pusty  lub  nieustawiony.   Jeżeli
              parametr  jest  nieustawiony lub pusty, to na standardowe
              wyjście błędów zapisywane jest zinterpretowane słowo (lub
              komunikat  o  takim  wyniku,  jeśli  brak  słowa).  Jeśli
              powłoka nie jest interaktywna, to kończy pracę.  W  prze-
              ciwnym wypadku, podstawiana jest wartość parametru.
       ${parametr:+słowo}
              Używa   wartości  alternatywnej.   Jeżeli  parametr  jest
              nieustawiony lub pusty, to nic nie  jest  podstawiane,  w
              przeciwnym  razie podstawiane jest zinterpretowane słowo.
       ${parametr:offset}
       ${parametr:offset:długość}
              Interpretacja  podłańcuchów.   Interpretuje  co  najwyżej
              długość znaków parametru poczynając od znaków określonych
              przez offset. Jeśli pominięto  długość,  to  interpretuje
              podłańcuch  parametru  poczynając  od  znaku  określonego
              przez offset. długość i offset są  wyrażeniami  arytmety-
              cznymi    (zobacz   OBLICZANIE   WYRAŻEŃ   ARYTMETYCZNYCH
              poniżej).  długość musi dawać  w  wyniku  liczbę  większą
              bądź  równą  zero.   Jeżeli  offset  daje w wyniku liczbę
              mniejszą od zera, to uzyskana wartość używana  jest  jako
              offset  liczony  od  końca  wartości  parametru.   Jeżeli
              parametrem jest @, to wynikiem  jest  długość  parametrów
              pozycyjnych,  począwszy  od  offset. Jeżeli parametr jest
              nazwą tablicy indeksowanej przez @  lub  *,  to  wynikiem
              jest    długość    członków    tablicy    począwszy    od
              ${parametr[offset]}.  Indeksowanie podłańcucha rozpoczyna
              się  od  zera,  chyba  że używane są parametry pozycyjne,
              wówczas indeksowanie zaczyna się od 1.

       ${!przedrostek*}
              rozwija się w listę nazw tych  zmiennych,  których  nazwy
              rozpoczynają  się od przedrostka, rozdzielonych od siebie
              pierwszym znakiem zmiennej specjalnej IFS.

       ${#parametr}
              Podstawiana jest długość, w znakach, wartości  parametru.
              Jeżeli  parametrem jest * lub @, wartość podstawiana jest
              liczbą  parametrów  pozycyjnych.   Jeżeli  parametr  jest
              nazwą  tablicy o indeksowanej przez * lub @, wartość pod-
              stawiana jest liczbą elementów tablicy.

       ${parametr#słowo}
       ${parametr##słowo}
              słowo jest interpretowane tworząc wzorzec, tak  samo  jak
              przy  rozwijaniu  nazw  plików.  Jeżeli wzorzec pasuje do
              początku wartości parametru,  to  wynikiem  interpretacji
              jest   zinterpretowana   wartość  parametru  z  usuniętym
              najkrótszym (przypadek ,,#'') lub najdłuższym  (przypadek
              ,,##'')  pasującym wzorcem.  Jeżeli parametrem jest @ lub
              *, to operacja usunięcia wzorca stosowana jest do każdego
              po  kolei  parametru  pozycyjnego, zaś wynikiem interpre-
              tacji jest powstała lista.  Jeśli parametr  jest  zmienną
              tablicową  indeksowaną  przez  @ lub *, operacja usuwania
              wzorca jest przeprowadzana po kolei na  każdym  elemencie
              tablicy,  zaś wynikiem interpretacji jest powstała lista.

       ${parametr%słowo}
       ${parametr%%słowo}
              słowo jest interpretowane tworząc wzorzec, tak  samo  jak
              przy  rozwijaniu  nazw  plików.  Jeżeli wzorzec pasuje do
              końcowej  części  zinterpretowanego  parametru,  wynikiem
              interpretacji  jest  zinterpretowana  wartość parametru z
              usuniętym najkrótszym (przypadek ,,%'')  lub  najdłuższym
              (przypadek  ,,%%'') pasującym wzorcem.  Jeżeli parametrem
              jest @ lub *, to operacja usunięcia wzorca stosowana jest
              do  każdego  po kolei parametru pozycyjnego, zaś wynikiem
              interpretacji jest powstała lista.  Jeśli  parametr  jest
              zmienną  tablicową  indeksowaną  przez  @ lub *, operacja
              usuwania wzorca jest przeprowadzana po  kolei  na  każdym
              elemencie  tablicy,  zaś wynikiem interpretacji jest pow-
              stała lista.

       ${parametr/wzorzec/łańcuch}
       ${parametr//wzorzec/łańcuch}
              wzorzec jest interpretowany tworząc wzorzec, tak samo jak
              przy   rozwijaniu   nazw   plików.   Interpretowany  jest
              parametr, a najdłuższe dopasowanie wzorca do jego zinter-
              pretowanej  wartości  zastępowane jest łańcuchem. W pier-
              wszej postaci,  zastępowane  jest  tylko  pierwsze  dopa-
              sowanie.  Druga  postać  powoduje  zastąpienie wszystkich
              dopasowań wzorca łańcuchem.   Jeżeli  wzorzec  rozpoczyna
              się  od  #,  to musi pasować do początku zinterpretowanej
              wartości parametru.  Jeżeli pattern rozpoczyna się od  %,
              to   musi  pasować  do  końca  zinterpretowanej  wartości
              parametru.  Jeśli  łańcuch  jest  pusty,  to  dopasowania
              wzorca  są  usuwane  a  /  występujące  po  wzorcu  można
              pominąć.  Jeżeli parametrem jest @  lub  *,  to  operacja
              podstawiania stosowana jest do każdego po kolei parametru
              pozycyjnego, zaś  wynikiem  interpretacji  jest  powstała
              lista.  Jeśli parametr jest zmienną tablicową indeksowaną
              przez @ lub *, operacja podstawiania jest  przeprowadzana
              po kolei na każdym elemencie tablicy, zaś wynikiem inter-
              pretacji jest powstała lista.

   Podstawianie wyników poleceń
       Podstawianie wyników poleceń (command substitution)  pozwala  na
       zastępowanie   nazwy   polecenia   wyjściem  (wynikiem)  z  jego
       działania.  Posiada dwie postaci:

              $(polecenie)
       lub
              `polecenie`

       Bash wykonuje interpretację  wykonując  polecenie  i  zastępując
       podstawiane  polecenie  jego utworzonym standardowym wyjściem, z
       usuniętymi końcowymi  znakami  nowej  linii.   Zawarte  wewnątrz
       wyniku  znaki  nowej linii nie są usuwane, ale nogą być usunięte
       podczas podziału na słowa.  Podstawienie wyniku polecenia  $(cat
       plik) można zastąpić równoważnym, ale szybszym $(< plik).

       Gdy  używane jest podstawianie w starym stylu, z użyciem odwrot-
       nych  apostrofów,  odwrotny  ukośnik  zachowuje  swe   znaczenie
       dosłowne,  z  wyjątkiem przypadków, gdy poprzedza on $, ` lub \.
       Pierwszy  odwrotny  apostrof  (`)  nie   poprzedzony   odwrotnym
       ukośnikiem   kończy   podstawianie  wyniku  polecenia.   Podczas
       posługiwania się postacią $(polecenie), polecenie tworzą  wszys-
       tkie  znaki  pomiędzy nawiasami; żaden nie jest traktowany spec-
       jalnie.

       Podstawianie wyników poleceń może być zagnieżdżane. W celu  zag-
       nieżdżenia   postaci   z   odwrotnymi   apostrofami   zabezpiecz
       wewnętrzne przed interpretacją używając odwrotnych ukośników.

       Jeżeli podstawianie pojawia  się  wewnątrz  cudzysłowów,  to  na
       wynikach   nie   jest   przeprowadzany   podział  na  słowa  ani
       rozwinięcie nazw plików.

   Interpretacja wyrażeń arytmetycznych
       Interpretacja  wyrażeń  arytmetycznych  pozwala  na   obliczanie
       wyrażeń  arytmetycznych  i podstawianie wyniku. Format interpre-
       tacji arytmetycznej:

              $((wyrażenie))

       wyrażenie traktowane jest tak, jakby było  ujęte  w  cudzysłowy,
       ale  cudzysłów wewnątrz nawiasów nie jest traktowany specjalnie.
       Wszystkie tokeny w wyrażeniu podlegają interpretacji parametrów,
       interpretacji łańcuchów, podstawianiu wyników poleceń i usuwaniu
       cudzysłowów.

       Interpretacja przeprowadzana jest zgodnie  z  zasadami  podanymi
       poniżej w sekcji OBLICZENIA ARYTMETYCZNE.  Jeżeli wyrażenie jest
       nieprawidłowe, bash wypisuje komunikat  o  niepowodzeniu  i  nie
       występuje żadne podstawienie.

   Podstawianie wyników procesów (Process substitution)
       Podstawianie  wyników  procesów  obsługiwane  jest  na systemach
       obsługujących potoki nazwane (FIFO) lub metodę /dev/fd nazywania
       otwartych  plików.   Przybiera ono postać <(lista) lub >(lista).
       Proces lista uruchamiany jest z wejściem i wyjściem  podłączonym
       do  FIFO  lub  jakiegoś  pliku w /dev/fd. W wyniku interpretacji
       nazwa tego pliku przesyłana jest jako argument bieżącego polece-
       nia.   Jeżeli  posłużono  się  postacią >(lista), zapis do pliku
       będzie stanowić wejście dla listy. Jeżeli posłużono się postacią
       <(lista),  plik  przekazany jako argument powinien zostać odczy-
       tany w celu uzyskania wyjścia listy.

       Gdy jest to możliwe,  podstawianie  wyników  procesu  wykonywane
       jest  równocześnie  z interpretacją parametrów i zmiennych, pod-
       stawianiem wyników poleceń  i  interpretacją  wyrażeń  arytmety-
       cznych.

   Podział na słowa
       Powłoka  przeszukuje wyniki interpretacji parametrów, podstawia-
       nia poleceń i interpretacji wyrażeń  arytmetycznych,  które  nie
       pojawiają  się  wewnątrz  cudzysłowów,  w  celu  przeprowadzenia
       podziału na słowa.

       Powłoka traktuje każdy znak IFS jak separator i  w  miejscu  ich
       występowania   dzieli  na  słowa  wyniki  innych  interpretacji.
       Jeżeli IFS nie jest ustawione lub jego wartością jest  dokładnie
       <spacja><tab><nowalinia>,  wartość  domyślna,  to do podziału na
       słowa służy dowolna sekwencja znaków IFS.   Jeżeli  IFS  posiada
       wartość  inną niż domyślna, to sekwencje białych znaków spacji i
       tabulacji są ignorowane na początku i końcu słowa, dopóki  biały
       znak  występuje  w  wartości IFS (biały znak IFS).  Inne znaki w
       IFS nie będące białymi znakami IFS, łącznie  z  dowolnymi  przy-
       ległymi   białymi  znakami  IFS,  ograniczają  pole.   Sekwencja
       białych znaków IFS jest  również  traktowana  jako  ogranicznik.
       Jeśli  IFS  jest  łańcuchem  pustym, to nie występuje podział na
       słowa.

       Jawnie puste argumenty ("" lub '') są pozostawiane.  Niecytowane
       argumenty puste niejawnie, wynikające z interpretacji parametrów
       nie posiadających wartości,  są  usuwane.   Jeśli  parametr  bez
       wartości  interpretowany  jest wewnątrz cudzysłowów, to wynikiem
       jest argument pusty i jest on zachowywany.

       Zauważ, że  jeśli  nie  występuje  interpretacja,  to  nie  jest
       również wykonywany podział.

   Rozwijanie nazw plików (Pathname Expansion)
       Po  podziale  na  słowa,  jeżeli nie ustawiona została opcja -f,
       przegląda każde słowo w poszukiwaniu znaków *, ?   i  [.   Jeśli
       pojawia  się  jeden  z  nich, to słowo uważane jest za wzorzec i
       zastępowane jest posortowaną  alfabetycznie  listą  nazw  plików
       pasujących  do  wzorca.  Jeżeli nie znaleziono pasujących nazw a
       wyłączona jest opcja nullglob powłoki, słowo  pozostawiane  jest
       bez  zmian.   Jeżeli  nullglob  jest  włączone, a nie znaleziono
       dopasowań, to słowo jest usuwane.  Jeżeli  włączona  jest  opcja
       nocaseglob  powłoki, to dopasowywanie wzorca wykonywane jest bez
       zwracania uwagi na wielkość  liter.   Gdy  do  rozwinięcia  nazw
       plików  używa  się  wzorca, to znak ,,.''  na początku nazwy lub
       bezpośrednio po ukośniku musi zostać dopasowany dosłownie, chyba
       że ustawiono opcję dotglob powłoki.  Podczas dopasowywania nazwy
       pliku znak ukośnika musi zawsze zostać dopasowany dosłownie.   W
       pozostałych przypadkach, kropka ,,.''  nie jest traktowana spec-
       jalnie.  Zobacz poniżej opis shopt w sekcji WBUDOWANE  POLECENIA
       POWŁOKI,  gdzie  znajdziesz  omówienie opcji powłoki nocaseglob,
       nullglob i dotglob.

       Do ograniczenia zestawu nazw plików pasujących do  wzorca  można
       wykorzystać  zmienną powłoki GLOBIGNORE.  Jeżeli GLOBIGNORE jest
       ustawione, każda z pasujących nazw plików  pasująca  również  do
       jednego  ze wzorców w GLOBIGNORE jest usuwana z listy dopasowań.
       Nazwy plików ,,.''  i ,,..''  są zawsze  ignorowane,  nawet  gdy
       GLOBIGNORE   jest  ustawione.  Jednakże,  ustawienie  GLOBIGNORE
       skutkuje włączeniem opcji  dotglob,  tak  że  będą  dopasowywane
       wszystkie  inne  nazwy  plików  rozpoczynające się od kropki.  W
       celu uzyskania starego  zachowania,  ignorującego  nazwy  zaczy-
       nające  się  ,,.'', jednym ze wzorców w GLOBIGNORE należy zrobić
       ,,.*'' .  Opcja dotglob jest wyłączana, gdy kasowane  jest  GLO-
       BIGNORE .

       Dopasowanie wzorca

       Każdy  znak  pojawiający  się  we wzorcu, różnych od specjalnych
       znaków wzorca opisanych poniżej, dopasowuje sam siebie. Znak NUL
       nie  może  wystąpić  we wzorcu. Specjalne znaki wzorca muszą być
       cytowane, jeżeli mają być dopasowane dosłownie.

       Specjalne znaki wzorca mają następujące znaczenie:

       *      Dopasowuje dowolny łańcuch, łącznie z łańcuchem pustym.
       ?      Dopasowuje dowolny pojedynczy znak.
       [...]  Dopasowuje jeden z ujętych w nawiasy  kwadratowe  znaków.
              Para  znaków  rozdzielona  myślnikiem  opisuje  wyrażenie
              zakresu; dopasowywany jest nim dowolny znak,  który  przy
              sortowaniu  leksykalnym, z zastosowaniem bieżącego ustaw-
              ienia locale i zestawu znaków, wypada między  tymi  dwoma
              znakami,  włącznie  z  nimi.   Jeżeli  pierwszym  znakiem
              występującym po [ jest !  lub  ^,  to  dopasowywany  jest
              dowolny znak nie zawarty w nawiasach.  Kolejność sortowa-
              nia znaków w wyrażeniach  zakresu  określona  jest  przez
              bieżące    ustawienie    locale    i   wartość   zmiennej
              środowiskowej LC_COLLATE, jeśli istnieje.  Znak  -  można
              dopasować  włączając  go  jako  pierwszy  lub  ostatni ze
              znaków zestawu.  Znak ] można dopasować włączając go jako
              pierwszy znak zestawu.

              Wewnątrz  [  i  ],  można podawać klasy znaków (character
              classes), używając składni [:klasa:],  gdzie  klasa  jest
              jedną  z  poniższych  klas  zdefiniowanych  w standardzie
              POSIX.2:
              alnum alpha ascii blank cntrl  digit  graph  lower  print
              punct space upper xdigit
              Klasa  znaków  dopasowuje  dowolny  znak  należący do tej
              klasy.

              Wewnątrz [ i ], można podać klasę równoważności, używając
              składni  [=z=],  która  dopasowuje  wszystkie znaki o tej
              samej wadze sortowania (zdefiniowaną w bieżącym  ustawie-
              niu locale) co znak z.

              Wewnątrz  [  i  ],  składnia [.symbol.] dopasowuje symbol
              sortowania (collating symbol) symbol.

       Jeżeli przy pomocy wbudowanego shopt włączono opcję extglob,  to
       rozpoznawane  jest  kilka  rozszerzonych  operatorów dopasowania
       wzorców.  W poniższym opisie, lista-wzorców jest listą złożoną z
       jednego  lub  więcej  wzorców  rozdzielonych  znakiem |.  Wzorce
       złożone  można  konstruować  przy  pomocy  jednego  lub   więcej
       poniższych pod-wzorców:

              ?(lista-wzorców)
                     Dopasowuje  zero  lub  jedno  wystąpienie zadanych
                     wzorców
              *(lista-wzorców)
                     Dopasowuje  zero  lub  więcej  wystąpień  zadanych
                     wzorców
              +(lista-wzorców)
                     Dopasowuje  jedno  lub  więcej  wystąpień zadanych
                     wzorców
              @(lista-wzorców)
                     Dopasowuje dokładnie jeden z zadanych wzorców
              !(lista-wzorców)
                     Dopasowuje  cokolwiek  prócz  jednego  z  zadanych
                     wzorców

   Usunięcie cytowań
       Po    poprzednich    interpretacjach,    wszystkie   niecytowane
       wystąpienia znaków \, ' i  ",  które  nie  wynikły  z  jednej  z
       powyższych interpretacji, są usuwane.

PRZEKIEROWANIE
       Przed  wykonaniem  polecenia, jego wejście i wyjście mogą zostać
       przekierowane przy  pomocy  specjalnej  notacji  interpretowanej
       przez  powłokę.   Przekierowań  można też używać do otwierania i
       zamykania plików dla środowiska  wykonywania  bieżącej  powłoki.
       Poniższe  operatory  przekierowania  mogą  występować  przed lub
       pojawiać  się  gdziekolwiek  wewnątrz  polecenia  prostego   lub
       występować po poleceniu.  Przekierowania przetwarzane są w kole-
       jności występowania, od lewej do prawej.

       W poniższych opisach, jeśli pominięto deskryptor pliku, a  pier-
       wszym  znakiem  operatora przekierowania  jest <, przekierowanie
       dotyczy standardowego  wejścia  (deskryptor  pliku  0).   Jeżeli
       pierwszym    znakiem    operatora    przekierowania    jest   >,
       przekierowanie dotyczy standardowego wyjścia  (deskryptor  pliku
       1).

       Słowo  następujące  do  operatorze  przekierowania  w poniższych
       opisach podlega, chyba że  podano  inaczej,  interpretacji  naw-
       iasów, interpretacji tyldy, interpretacji parametrów, podstawia-
       niu  wyników  poleceń,  interpretacji  wyrażeń   arytmetycznych,
       usuwaniu  cytowań, rozwijaniu nazw plików i podziałowi na słowa.
       Jeśli zinterpretowane zostanie jako więcej niż jedno  słowo,  to
       bash zgłosi błąd.

       Zauważ,  że  kolejność  przekierowań jest znacząca. Na przykład,
       polecenie

              ls > dirlist 2>&1

       kieruje zarówno standardowe wyjście jak i wyjście  diagnostyczne
       (stderr) do pliku dirlist, podczas gdy polecenie

              ls 2>&1 > dirlist

       kieruje tylko standardowe wyjście do pliku dirlist, gdyż wyjście
       błędów  zostało  zduplikowane  jako  standardowe  wyjście  przed
       przekierowaniem wyjścia do dirlist.

       Bash  obsługuje  kilka nazw plików w sposób specjalny gdy są one
       użyte w przekierowaniach. Opisano to w poniższej tablicy:

              /dev/fd/fd
                     Jeżeli fd jest poprawną liczbą całkowitą, to  dup-
                     likowany jest deskryptor pliku fd.
              /dev/stdin
                     Duplikowany jest deskryptor pliku 0.
              /dev/stdout
                     Duplikowany jest deskryptor pliku 1.
              /dev/stderr
                     Duplikowany jest deskryptor pliku 2.
              /dev/tcp/host/port
                     Jeśli  host  jest poprawną nazwą hosta lub adresem
                     internetowym,  a  port   jest   liczbą   całkowitą
                     określającą  numer portu lub nazwą usługi, to bash
                     usiłuje otworzyć połączenie TCP  do  odpowiedniego
                     gniazda.
              /dev/udp/host/port
                     Jeśli  host  jest poprawną nazwą hosta lub adresem
                     internetowym,  a  port   jest   liczbą   całkowitą
                     określającą  numer portu lub nazwą usługi, to bash
                     usiłuje otworzyć połączenie UDP  do  odpowiedniego
                     gniazda.

       Nieudane  otwarcie  lub  utworzenie pliku powoduje niepowodzenie
       przekierowania.

   Przekierowanie wejścia
       Przekierowanie  wejścia  powoduje  otwarcie  do  odczytu  pliku,
       którego  nazwa  wynika  z  interpretacji  słowa.   Odczyt będzie
       wykonywany z  deskryptora  pliku  n  lub  standardowego  wejścia
       (zerowy deskryptor pliku) jeśli nie podano n.

       Ogólny format przekierowania wejścia:

              [n]<słowo

   Przekierowanie wyjścia
       Przekierowanie   wyjścia  powoduje  otwarcie  do  zapisu  pliku,
       którego  nazwa  wynika  z  interpretacji  słowa.   Zapis  będzie
       wykonywany  z  deskryptora  pliku  n  lub  standardowego wyjścia
       (deskryptor pliku 1) jeśli nie podano n.  Jeżeli plik  nie  ist-
       nieje  jest  tworzony; jeżeli istnieje obcinany jest do rozmiaru
       zerowego.

       Ogólny format przekierowania wyjścia:

              [n]>słowo

       Jeżeli operatorem przekierowania  jest  >,  a  została  włączona
       opcja noclobber wbudowanego polecenie set, to przekierowanie nie
       powiedzie się jeżeli plik o nazwie wynikającej  z  interpretacji
       słowa  istnieje  i  jest  zwykłym  plikiem.   Jeżeli  operatorem
       przekierowania jest >|, albo operatorem jest > przy niewłączonej
       opcji  noclobber, to wykonywana jest próba przekierowania, nawet
       jeśli plik słowo istnieje.

   Dołączanie przekierowanego wyjścia
       Przekierowanie wyjścia w ten sposób powoduje, że plik  o  nazwie
       wynikającej z interpretacji słowa zostanie otwarty do dołączania
       (append).  Dołączanie będzie wykonywane z  deskryptora  pliku  n
       lub  standardowego wyjścia (deskryptor pliku 1) jeśli nie podano
       n.  Jeżeli plik nie istnieje jest tworzony.

       Ogólny format dołączania wyjścia:

              [n]>>słowo

   Przekierowanie standardowego wyjścia i wyjścia błędów
       Bash pozwala, przy pomocy tej konstrukcji, przekierować standar-
       dowe  wyjście  (deskryptor pliku 1) i standardowe wyjście błędów
       (deskryptor plików 2) do pliku, którego  nazwą  jest  zinterpre-
       towane słowo.

       Istnieją dwie postaci takiego przekierowania:

              &>słowo
       i
              >&słowo

       Spośród  nich,  zalecaną jest pierwsza forma.  Jest ona semanty-
       cznie równoważna

              >słowo 2>&1

   Dokumenty włączone (Here Documents)
       Ten typ przekierowania instruuje powłokę, by czytała  wejście  z
       bieżącego  źródła  aż  do napotkania wiersza zawierającego tylko
       słowo (bez  żadnych  kończących  odstępów).   Wszystkie  wiersze
       przeczytane  do tego momentu są następnie używane jako standard-
       owe wejście polecenia.

       Format dokumentów włączonych jest następujący:

              <<[-]słowo
                      dokument włączony
              ogranicznik

       Na słowie nie jest wykonywana interpretacja parametrów, podstaw-
       iania  wyników poleceń, rozwijanie nazw plików ani interpretacja
       wyrażeń  arytmetycznych.   Jeżeli  jakieś  znaki  w  słowie   są
       cytowane,  to  ogranicznik  jest  wynikiem  usunięcia cytowań ze
       słowa, a wiersze w dokumencie włączonym nie  są  interpretowane.
       Jeżeli  słowo  nie  jest  cytowane,  wszystkie wiersze dokumentu
       włączonego  podlegają  interpretacji  parametrów,   podstawianiu
       poleceń  i  interpretacji wyrażeń arytmetycznych. W tym ostatnim
       przypadku, sekwencja \<nowalinia> jest ignorowana, a do  cytowa-
       nia znaków \, $ i ` musi być użyte \.

       Jeżeli   operatorem   przekierowania   jest  <<-,  to  wszystkie
       początkowe znaki tabulacji są obcinane z wierszy  wejściowych  i
       wiersza  zawierającego  ogranicznik.   Pozwala  to na ustawienie
       naturalnych wcięć dla dokumentów włączonych w skryptach powłoki.

   Powielanie deskryptorów plików
       Operator przekierowania

              [n]<&słowo

       służy  do  powielania  deskryptorów  plików wejściowych.  Jeżeli
       słowo zinterpretowane zostanie jako jedna lub  więcej  cyfr,  to
       deskryptor  pliku  oznaczony  przez  n  czyniony jest kopią tego
       deskryptora.  Jeżeli cyfry w słowie nie określają otwartego  dla
       wejścia  deskryptora,  pojawia  się błąd przekierowania.  Jeżeli
       słowo zinterpretowane jest  jako  -,  deskryptor  pliku  n  jest
       zamykany.  Jeżeli  n  nie  zostało  określone, to stosowane jest
       standardowe wejście (deskryptor pliku 0).

       Operator

              [n]>&słowo

       podobnie,  służy  do   powielania   deskryptorów   standardowego
       wyjścia.   Jeżeli  nie  określono  n, stosowane jest standardowe
       wyjście  (deskryptor  pliku  1).   Jeżeli  cyfry  w  słowie  nie
       określają  deskryptora  pliku  otwartego do wyjścia, pojawia się
       błąd przekierowania.  W przypadku specjalnym,  jeżeli  pominięto
       n,  a  słowo nie jest interpretowane jako jedna lub więcej cyfr,
       to przekierowywane są standardowe wyjście i standardowe  wyjście
       błędów, jak opisano poprzednio.

   Otwieranie deskryptorów plików do odczytu i zapisu
       Operator przekierowania

              [n]<>słowo

       powoduje,  że  plik  o  nazwie  wynikłej  z  interpretacji słowa
       zostanie otwarty do odczytu  i  zapisu.   Odczyt  i  zapis  będą
       wykonywane  z  deskryptora  pliku  n  lub  standardowego wejścia
       (deskryptor pliku 0) jeśli nie podano n.  Jeżeli plik  nie  ist-
       nieje jest tworzony.

ALIASY
       Aliasy   (czyli   synonimy)   pozwalają   na  zastąpienie  słowa
       łańcuchem, gdy zostanie ono użyte jako pierwsze słowo w  polece-
       niu  prostym.   Powłoka  utrzymuje listę aliasów, które mogą być
       ustawiane i unieważniane przy pomocy wbudowanych poleceń alias i
       unalias (zobacz poniżej WBUDOWANE POLECENIA POWŁOKI).  Dla pier-
       wszego  słowa  każdego  polecenia,  jeśli  nie  jest   cytowane,
       następuje  sprawdzenie,  czy  posiada  ono alias. Jeżeli tak, to
       słowo  to  jest  zastępowane  tekstem  aliasu.  Nazwa  aliasu  i
       zastępujący  ja  tekst  mogą  zawierać  dowolne poprawne wejście
       powłoki, łącznie z metaznakami  podanymi  powyżej,  z  wyjątkiem
       tego, że nazwy aliasów nie mogą zawierać znaku równości =. Pier-
       wsze słowo tekstu  zastępującego  jest  z  kolei  sprawdzane  na
       aliasy,  ale  słowo identyczne z interpretowanym właśnie aliasem
       nie jest interpretowane powtórnie. Oznacza  to,  że  można  mieć
       alias  ls  do  ls  -F,  na  przykład, a bash nie będzie usiłował
       rekurencyjnie interpretować zastępującego tekstu.  jeżeli ostat-
       nim  znakiem  wartości  aliasu  jest  odstęp,  to następne słowo
       polecenia występujące po aliasie ma również sprawdzaną interpre-
       tację aliasów.

       Aliasy  są  tworzone  i  pokazywane  poleceniem alias, a usuwane
       poleceniem unalias.

       Nie ma żadnego mechanizmu posługiwania się argumentami w tekście
       zastępującym. Jeśli potrzebne są argumenty, powinna zostać użyta
       funkcja powłoki (zobacz poniżej FUNKCJE).

       Aliasy nie są interpretowane, gdy powłoka nie jest interaktywna,
       chyba  że  ustawiono  opcję  powłoki  expand_aliases przy pomocy
       shopt (zobacz opis shopt w sekcji  WBUDOWANE  POLECENIA  POWŁOKI
       poniżej).

       Reguły  dotyczące  definiowania i używania aliasów są nieco zag-
       matwane.  Bash zawsze czyta co najmniej  jeden  pełny  wiersz  z
       wejścia  przed  wykonaniem  jakichkolwiek  poleceń tego wiersza.
       Aliasy interpretowane są w czasie odczytu polecenia, nie podczas
       jego  wykonywania. Z tego powodu, definicja aliasu występująca w
       tym samym wierszu, co inne polecenie nie zadziała aż do przeczy-
       tania  następnego  wiersza wejścia.  Na polecenia występujące po
       definicji aliasu, w tym samym wierszu, nowy alias nie ma wpływu.
       Zachowanie  to  ujawnia  się  także podczas wykonywania funkcji.
       Aliasy interpretowane są w czasie odczytu definicji funkcji, nie
       zaś podczas jej wykonywania, gdyż sama definicja funkcji stanowi
       polecenie złożone. W skutek tego aliasy zdefiniowane  w  funkcji
       nie  są  dostępne,  aż do chwili po wykonaniu funkcji.  Dla bez-
       pieczeństwa, zawsze  umieszczaj  definicje  aliasów  w  odrębnym
       wierszu i nie używaj alias w poleceniach złożonych.

       Prawie  w  każdym  zastosowaniu  aliasy są wyparte przez funkcje
       powłoki.

FUNKCJE
       Punkcja powłoki, zdefiniowana jak opisano powyżej, w sekcji GRA-
       MATYKA POWŁOKI, przechowuje szereg poleceń do późniejszego wyko-
       nania.  Gdy  nazwa  funkcji  powłoki  używana  jest  jako  nazwa
       polecenia  prostego,  wykonywana jest lista poleceń związanych z
       tą nazwą funkcji.  Funkcje wykonywane są w  kontekście  bieżącej
       powłoki;  do ich interpretacji nie jest tworzony żaden nowy pro-
       ces (zauważ różnicę w stosunku do  wykonania  skryptu  powłoki).
       Podczas  wykonywania funkcji, przekazane jej argumenty stają się
       parametrami pozycyjnymi. Aktualizowany jest  specjalny  parametr
       #,  tak  by odzwierciedlał zmianę. Parametr pozycyjny 0 nie jest
       zmieniany.  Zmienna FUNCNAME podczas wykonywania funkcji  ustaw-
       iana  jest  na  jej  nazwę.   Wszystkie  inne aspekty środowiska
       wykonywania  powłoki  są  identyczne  między   funkcją   i   jej
       wywołującym,  z wyjątkiem tego, że nie jest dziedziczona pułapka
       (trap) DEBUG (zobacz opis wbudowanego  trap  poniżej,  w  sekcji
       WBUDOWANE POLECENIA POWŁOKI ).

       Zmienne  lokalne  dla  funkcji  mogą być deklarowane przy pomocy
       wbudowanego polecenia local.  Zwykle zmienne i ich  wartości  są
       wspólne dla funkcji i jej wołającego.

       Jeżeli  w  funkcji  wywoływane  jest wbudowane polecenie return,
       funkcja  kończy  działanie  i  wykonywanie  wznawiane  jest   od
       następnego  polecenia  po  wywołaniu funkcji. Gdy funkcja kończy
       działanie, parametrom pozycyjnym  i  parametrowi  specjalnemu  #
       przywracane  są  wartości,  jakie posiadały one przed wykonaniem
       funkcji.

       Listę nazw i definicji funkcji można uzyskać przy  pomocy  opcji
       -f  wbudowanych  poleceń  declare lub typeset.  Opcja -F poleceń
       declare lub typeset podaje same nazwy  funkcji.   Funkcje  można
       eksportować,  tak  że będą one automatycznie zdefiniowane w pod-
       powłokach. Wykonuje się to  przy  pomocy  opcji  -f  wbudowanego
       polecenia export.

       Funkcje  mogą  być rekurencyjne. Nie ma narzuconego ograniczenia
       na liczbę rekurencyjnych wywołań.

OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH
       Powłoka pozwala, pod pewnymi warunkami, na  obliczanie  wartości
       wyrażeń  arytmetycznych (zobacz wbudowane polecenie let i Inter-
       pretacja wyrażeń arytmetycznych).  Obliczenia wykonywane  są  na
       długich   liczbach  całkowitych  (long  integer),  bez  kontroli
       przepełnienia (overflow), mimo iż dzielenie przez 0 jest przech-
       wytywane i oznaczane jako błąd.  Operatory i ich priorytety oraz
       sposób ich dołączania są takie same jak w  języku  C.   Poniższa
       lista  operatorów  pogrupowana  jest w poziomy operatorów o jed-
       nakowym priorytecie.  Poziomy  podano  w  kolejności  malejącego
       priorytetu.

       id++ id--
              post-inkrementacja i post-dekrementacja zmiennej
       ++id --id
              pre-inkrementacja i pre-dekrementacja zmiennej
       - +    jednoargumentowy minus i plus
       ! ~    negacja logiczna i bitowa
       **     potęgowanie
       * / %  mnożenie, dzielenie, reszta z dzielenia
       + -    dodawanie, odejmowanie
       << >>  lewo i prawostronne przesunięcie bitowe
       <= >= < >
              porównanie
       == !=  równości i nierówność
       &      bitowa koniunkcja (AND)
       ^      bitowa alternatywa wyłączna (XOR)
       |      bitowa alternatywa (OR)
       &&     logiczna koniunkcja (AND)
       ||     logiczna alternatywa (OR)
       wyraż?wyraż:wyraż
              obliczenie warunkowe (conditional evaluation)
       = *= /= %= += -= <<= >>= &= ^= |=
              przypisanie
       wyraż1 , wyraż2
              przecinek

       Jako   operandy  dozwolone  są  zmienne  powłoki;  interpretacja
       parametrów  przeprowadzana  jest  przed  obliczeniem  wyrażenia.
       Wewnątrz wyrażenia, do zmiennych powłoki można się też odwoływać
       przez nazwę, bez użycia składni interpretacji  parametrów.   Gdy
       wystąpi  odwołanie  się  do zmiennej, jej wartość obliczana jest
       jako wyrażenie arytmetyczne.   Zmienna  powłoki  nie  musi  mieć
       włączonego  atrybutu  liczby  całkowitej  by  mogła  być użyta w
       wyrażeniu.

       Stałe z początkowym 0 interpretowane są  jako  liczby  ósemkowe.
       Początkowe  0x lub 0X oznacza liczbę szesnastkową. W pozostałych
       przypadkach liczby mają postać [podstawa#]n, gdzie  podstawajest
       liczbą dziesiętną pomiędzy 2 a 64 reprezentującą podstawę układu
       pozycyjnego, zaś n liczbą w układzie  o  tej  podstawie.   Jeśli
       pominięto podstawa#, to używana jest podstawa 10.  Cyfry większe
       niż 9 reprezentowane są przez małe litery, wielkie litery,  @  i
       _,  w  tej kolejności.  Jeżeli podstawa jest mniejsza bądź równa
       36, to do zapisu liczb pomiędzy 10 a 35 można  używać  zamiennie
       małych i wielkich liter.

       Operatory   interpretowane  są  w  kolejności  priorytetu.  Pod-
       wyrażenia  w  nawiasach  obliczane  są  jako  pierwsze  i   mogą
       unieważnić podane wyżej reguły priorytetów.

WYRAŻENIA WARUNKOWE
       Wyrażenia  warunkowe  używane są przez polecenie złożone [[ oraz
       polecenia wbudowane test i [ do  testowania  atrybutów  pliku  i
       wykonywania  porównań  łańcuchowych i arytmetycznych.  Wyrażenia
       złożone są z poniższych jedno-  i  dwuargumentowych  składowych.
       Jeśli  któryś  z argumentów plikowych jednej z składowych jest w
       postaci  /dev/fd/n,  to  sprawdzany  jest  deskryptor  pliku  n.
       Jeżeli argument plik którejś składowej jest jednym z /dev/stdin,
       /dev/stdout lub /dev/stderr, to  sprawdzany  jest,  odpowiednio,
       deskryptor 0, 1 lub 2.

       -a plik
              Prawda jeśli plik istnieje.
       -b plik
              Prawda  jeśli plik istnieje i jest blokowym plikiem spec-
              jalnym.
       -c plik
              Prawda jeśli plik istnieje i jest znakowym plikiem  spec-
              jalnym.
       -d plik
              Prawda jeśli plik istnieje jest katalogiem.
       -e plik
              Prawda jeśli plik istnieje.
       -f plik
              Prawda jeśli plik istnieje i jest plikiem zwykłym.
       -g plik
              Prawda  jeśli plik istnieje i ma ustawiony bit set-group-
              id.
       -h plik
              Prawda jeśli plik istnieje  i  jest  dowiązaniem  symbol-
              icznym.
       -k plik
              Prawda  jeśli  plik  istnieje  i ma ustawiony bit ochrony
              (sticky bit).
       -p plik
              Prawda jeśli  plik  istnieje  i  jest  potokiem  nazwanym
              (FIFO).
       -r plik
              Prawda jeśli plik istnieje i daje się czytać.
       -s plik
              Prawda jeśli plik istnieje i ma rozmiar większy niż zero.
       -t fd  Prawda jeśli deskryptor pliku fd jest  otwarty  i  odnosi
              się do terminala.
       -u plik
              Prawda  jeśli  plik istnieje i ma ustawiony bit set-user-
              id.
       -w plik
              Prawda jeśli plik istnieje i daje się doń zapisać.
       -x plik
              Prawda jeśli plik istnieje i jest wykonywalny.
       -O plik
              Prawda jeśli plik istnieje i jego właścicielem jest efek-
              tywny id użytkownika.
       -G plik
              Prawda jeśli plik istnieje i jego właścicielem jest efek-
              tywny id grupy.
       -L plik
              Prawda jeśli plik istnieje  i  jest  dowiązaniem  symbol-
              icznym.
       -S plik
              Prawda jeśli plik istnieje i jest gniazdem.
       -N plik
              Prawda  jeśli  plik  istnieje  i  być  zmieniany od czasu
              ostatniego jego odczytu.
       plik1 -nt plik2
              Prawda jeśli plik1 jest nowszy (według daty  modyfikacji)
              od pliku2.
       plik1 -ot plik2
              Prawda jeśli plik1 jest starszy niż plik2.
       plik1 -ef plik2
              Prawda  jeśli plik1 i plik2 mają ten sam numer urządzenia
              i i-węzła.
       -o nazwa_opcji
              Prawda jeśli opcja  powłoki  nazwa_opcji  jest  włączona.
              Zobacz  zestawienie  opcji  w opisie opcji -o wbudowanego
              set, poniżej.
       -z łańcuch
              Prawda jeśli długość łańcucha wynosi zero.
       -n łańcuch
       łańcuch
              Prawda jeśli łańcuch ma długość niezerową.
       łańcuch1 == łańcuch2
              Prawda jeśli łańcuchy są równe. Zamiast == można użyć  =.
       łańcuch1 != łańcuch2
              Prawda jeśli łańcuchy nie są równe.
       łańcuch1 < łańcuch2
              Prawda  jeśli łańcuch1 przy sortowaniu występowałby przed
              łańcuchem2 według bieżącego ustawienia locale.
       łańcuch1 > łańcuch2
              Prawda jeśli łańcuch1  przy  sortowaniu  występowałby  po
              łańcuchu2 według bieżącego ustawienia locale.
       arg1 OP arg2
              OP  jest  jednym  z  -eq, -ne, -lt, -le, -gt lub -ge.  Te
              arytmetyczne  operatory  dwuargumentowe  zwracają  prawdę
              jeśli  arg1  jest odpowiednio równe (eq), nie równe (ne),
              mniejsze niż (lt), mniejsze bądź równe (le), większe  niż
              (gt)  lub większe bądź równe (ge) arg2.  Arg1 i arg2 mogą
              być dodatnimi lub ujemnymi liczbami całkowitymi.

INTERPRETACJA POLECEŃ PROSTYCH
       Gdy  wykonywane  jest   polecenie   proste,   powłoka   wykonuje
       następujące  interpretacje,  przypisania  i  przekierowania,  od
       lewej do prawej.

       1.     Słowa oznaczone przez analizator składni jako przypisania
              zmiennych  (poprzedzające nazwę polecenia) i przekierowa-
              nia zachowywane są do późniejszego przetworzenia.

       2.     Słowa,   nie   będące   przypisaniami    zmiennych    ani
              przekierowaniami  są  interpretowane. Jeżeli po interpre-
              tacji pozostaną jakieś słowa, to pierwsze z  nich  przyj-
              mowane  jest za nazwę polecenia a pozostałe za argumenty.

       3.     Wykonywane  są  przekierowania,  jak  opisano  powyżej  w
              sekcji PRZEKIEROWANIE.

       4.     W  każdym  przypisaniu zmiennej tekst po znaku równości =
              podlega interpretacji  tyldy,  interpretacji  parametrów,
              podstawianiu wyników poleceń, interpretacji wyrażeń aryt-
              metycznych i usuwaniu cudzysłowów, zanim zostanie  przyp-
              isany do zmiennej.

       Jeżeli nie otrzymano żadnej nazwy polecenia, to przypisania zmi-
       enncyh dotyczą środowiska aktualnej powłoki. W przeciwnim razie,
       zmienne  są  dodawane do środowiska wykonywanego polecenia i nie
       mają wpływu na środowisko  bieżącej  powłoki.  jeżeli  któreś  z
       przypisań  usiłuje nadać wartość zmiennej read-only, pojawia się
       błąd, a polecenie kończy pracę z niezerowym kodem.

       Jeżeli nie  otrzymano  żadnej  nazwy  polecenia,  wykonywane  są
       przekierowania,  ale  nie  mają one wpływu na bieżące środowisko
       powłoki. Błąd przekierowania powoduje, że polecenie kończy pracę
       z niezerowym kodem.

       Jeżeli po interpretacji istnieje nazwa polecenia, to wykonywanie
       odbywa się jak opisano poniżej. W przeciwnym wypadku,  polecenie
       kończy pracę.  Jeżeli jednym z wykonanych kroków było podstawie-
       nie wyników polecenia, to zwracany kod  zakończenia  jest  kodem
       ostatniego   wykonanego   podstawienia   polecenia.   Jeśli  nie
       wystąpiło podstawianie poleceń,  to  polecenie  kończy  pracę  z
       kodem zerowym.

WYKONYWANIE POLECEŃ
       Po podziale polecenia na słowa, jeśli jego wynikiem jest polece-
       nie  proste  z  opcjonalną  listą  argumentów,  podejmowane   są
       poniższe akcje.

       Jeśli  polecenie  nie  zawiera  ukośników,  powłoka  usiłuje  je
       zlokalizować.  jeżeli istnieje funkcja  powłoki  o  tej  nazwie,
       wywoływana  jest  ta  funkcja,  jak  opisano  powyżej  w  sekcji
       FUNKCJE.  Jeżeli nazwa nie pasuje do funkcji, powłoka szuka  jej
       na  liście  poleceń wbudowanych. Jeżeli nie znaleziono pasujące,
       to jest ono wywoływane.

       Jeżeli nazwa nie jest ani funkcją powłoki  ani  poleceniem  wbu-
       dowanym  i nie zawiera ukośników, to bash przeszukuje każdy ele-
       ment z PATH usiłując znaleźć katalog  zawierający  plik  wykony-
       walny  o  takiej  nazwie.  Bash posługuje się tablicą mieszającą
       (hash table) do zapamiętywania pełnych nazw plików wykonywalnych
       (zobacz  hash  w  WBUDOWANE  POLECENIA  POWŁOKI poniżej).  Pełne
       przeszukiwanie katalogów z PATH wykonywane jest tylko wtedy, gdy
       polecenia nie znaleziono w tablicy mieszającej.  Jeżeli poszuki-
       wanie nie powiodło się, powłoka wypisuje komunikat o  błędzie  i
       zwraca kod zakończenia równy 127.

       Jeżeli poszukiwanie było pomyślne lub jeśli nazwa polecenia zaw-
       iera jeden lub więcej ukośników, powłoka wykonuje zadany program
       w  odrębnym  środowisku  wykonania.   Argumentowi 0 przypisywana
       jest podana nazwa,  a  pozostałym  argumentom  polecenia  podane
       argumenty, jeśli były takowe.

       Jeżeli  wykonanie to nie powiedzie się, gdyż plik nie ma formatu
       wykonywalnego, a nie jest katalogiem, to zakłada się, że jest on
       skryptem   powłoki,   plikiem  zawierającym  polecenia  powłoki.
       Powoływana  jest  podpowłoka  do  jego  wykonania.  Powłoka   ta
       reinicjuje  się, zatem efekt jest taki, jakby do obsługi skryptu
       została wywołana nowa powłoka, z wyjątkiem  tego,  że  położenia
       poleceń  zapamiętane  przez  rodzica (zobacz hash poniżej w WBU-
       DOWANE POLECENIA POWŁOKI są zachowywane przez potomka.

       Jeżeli program jest plikiem o zawartości rozpoczynającej się  od
       #!,  to  reszta  pierwszego wiersza określa interpreter dla tego
       programu.  Powłoka uruchamia  podany  interpreter  na  systemach
       operacyjnych,  które  same nie obsługują tego formatu wykonywal-
       nego. Argumenty dla interpretera  składają  się  z  pojedynczego
       opcjonalnego  argumentu  występującego  po nazwie interpretera w
       pierwszym wierszu programu, następującej po nim nazwy programu i
       następujących po niej argumentów polecenia, jeśli były takowe.

ŚRODOWISKO WYKONYWANIA POLECEŃ
       Powłoka  posiada środowisko wykonywania (execution environment),
       składające się z:

       o      otwarte pliki odziedziczone przez powłokę przy wywołaniu,
              zmodyfikowane  przez  przekierowania  przekazane  do wbu-
              dowanego polecenia exec

       o      bieżący katalog roboczy ustawiony  przez  cd,  pushd  lub
              popd, albo odziedziczony przez powłokę przy wywołaniu

       o      maskę trybut tworzonych plików ustawioną przez umask albo
              odziedziczoną po rodzicu powłoki

       o      bieżące pułapki ustawione przez trap

       o      parametry powłoki ustawione przez  przypisania  zmiennych
              przy  pomocy set albo odziedziczone ze środowiska rodzica
              powłoki

       o      funkcje  powłoki  zdefiniowane  podczas  wykonywania  lub
              odziedziczone ze środowiska rodzica powłoki

       o      opcje  włączone  przy wywołaniu (albo domyślnie albo przy
              pomocy argumentów wiersza poleceń) albo przez set

       o      opcje włączone przez shopt

       o      aliasy powłoki zdefiniowane przy pomocy alias

       o      różne id procesów, łącznie z identyfikatorami zadań  tła,
              wartość $$ i wartość $PPID

       Gdy ma zostać wykonane polecenie proste inne niż funkcja powłoki
       lub polecenie wbudowane, wywoływane jest w  odrębnym  środowisku
       wykonania,  skłądających  się  z poniższych elementów. Jeśli nie
       podano inaczej, wartości dziedziczone są z powłoki.

       o      otwarte  pliki  powłoki,  plus  modyfikacje   i   dodatki
              określone przez przekierowania polecenia

       o      bieżący katalog roboczy

       o      maska trybu tworzonych plików

       o      zmienne  powłoki  oznaczone  do wyeksportowania, razem ze
              zmiennymi wyeksportowanymi  do  polecenia,  przekazane  w
              środowisku.

       o      pułapki  przechwycone  przez  powłokę  resetowane  są  do
              wartości odziedziczonych przez nią od rodzica, a  pułapki
              ignorowane przez powłokę są ignorowane.

       Polecenie  wywołane  w  odrębnym  środowisku nie może wpływać na
       środowisko wykonywania powłoki.

       Podstawienia  wyników   poleceń   i   polecenia   asynchroniczne
       wywoływane   są   w  środowisku  podpowłoki,  które  jest  kopią
       środowiska powłoki, z wyjątkiem tego,  że  pułapki  przechwycone
       przez  powłokę są resetowane do wartości, jakie powłoka odziedz-
       iczyła  po  rodzicu  podczas  wywołania.   Polecenia   wbudowane
       wywoływane  jako część potoku również wykonywane są w środowisku
       podpowłoki. Zmiany wykonane w  środowisku  podpowłoki  nie  mogą
       wpływać na środowisko wykonywania powłoki.

       Jeżeli  po  poleceniu  występuje &, a nie uaktywniono sterowania
       zadaniami, to domyślnym standardowym wejściem dla tego polecenia
       jest pusty plik /dev/null. W przeciwnym razie wywoływane polece-
       nie dziedziczy deskryptory plików po wołającej  powłoce,  zmody-
       fikowane przekierowaniami.

ŚRODOWISKO
       Poczas  wywoływania  program  otrzymuje  tablicę łańcuchów zwaną
       środowiskiem(environment).  jest to lista par  nazwa-wartość,  o
       postaci nazwa=wartość.

       Powłoka pozwala na manipulowanie środowiskiem na kilka sposobów.
       Przy wywołaniu,  przeszukuje  ona  własne  środowisko  i  tworzy
       parametr dla każdej znalezionej nazwy, automatycznie zaznaczając
       go do wyeksportowania do procesów potomnych. Wykonywane  polece-
       nia  dziedziczą  środowisko.   Polecenia  export  i  declare  -x
       pozwalają na dodawanie i usuwanie  ze  środowiska  parametrów  i
       funkcji.   Jeżeli w środowisku zmieniana jest wartość parametru,
       to nowa wartość staje się częścią środowiska, zastępując  starą.
       Środowisko  dziedziczone przez każde wykonywane polecenie składa
       się z początkowego środowiska powłoki, którego wartości mogą być
       w  powłoce  zmieniane, minus ewentualne pary usunięte poleceniem
       unset, plus dodane poprzez polecenia export i declare -x.

       Środowisko dla dowolnego polecenia prostego czy funkcji może być
       tymczasowo powiększone przez poprzedzenie polecenia przypisaniem
       parametrów,  jak  opisano  powyżej  w  sekcji   PARAMETRY.    Te
       instrukcje   przypisania  mają  wpływ  wyłącznie  na  środowisko
       postrzegane przez to polecenie.

       Jeżeli ustawiona jest opcja -k (zobacz poniżej opis  wbudowanego
       polecenia  set), to wszystkie przypisania parametrów umieszczane
       są w środowisku polecenia, a nie  tylko  te,  które  poprzedzają
       nazwę polecenia.

       Gdy bash wywołuje polecenie zewnętrzne, zmienna _ ustawiana jest
       na pełną nazwę pliku polecenia i przekazywana temu  poleceniu  w
       jego środowisku.

KOD ZAKOŃCZENIA
       Dla  celów  powłoki, polecenie, które zakończyło pracę z zerowym
       kodem zakończenia, powiodło się. Zerowy kod oznacza  powodzenie.
       Niezerowy  kod oznacza niepowodzenie. Gdy polecenie kończy pracę
       z błędem krytycznym N, bash posługuje się wartością  128+N  jako
       kodem zakończenia.

       Jeżeli nie znaleziono polecenia, proces potomny powołany do jego
       wykonania zwraca kod 127. Jeżeli polecenie  zostało  znalezione,
       ale nie jest wykonywalne, kod zakończenia wynosi 126.

       Jeżeli  polecenie nie powiodło się z powodu błędu podczas inter-
       pretacji lub przekierowania, kod  zakończenia  jest  większy  od
       zera.

       Wbudowane  polecenia  powłoki zwracają kod 0 (true prawda) jeśli
       się powiodły,  i  niezerowy  (false  fałsz)  jeśli  podczas  ich
       wykonywania  pojawił  się  błąd.   Wszystkie polecenia wbudowane
       zwracają kod 2 dla wskazania niepoprawnego użycia.

       Sam Bash zwraca kod zakończenia ostatniego wykonanego polecenia,
       chyba  że  pojawi  się  błąd  składni,  wówczas  kończy  pracą z
       wartością niezerową.  Zobacz  też  poniżej  polecenie  wbudowane
       exit.

SYGNAŁY
       Gdy  bash  jest  interaktywny,  przy braku jakichkolwiek pułapek
       (przechwytywania sygnałów), ignoruje on SIGTERM (tak, że kill  0
       nie  zabija powłoki interaktywnej), a SIGINT jest przechwytywany
       i obsługiwany (tak, że wbudowane polecenie wait  daje  się  prz-
       erwać).   We  wszystkich  przypadkach,  bash  ignoruje  SIGQUIT.
       Jeżeli działa kontrola zadań, bash ignoruje SIGTTIN,  SIGTTOU  i
       SIGTSTP.

       Zadania  synchroniczne  uruchomione  przez  bash  mają procedury
       obsługi  sygnałów  (signal  handlers)  ustawione   na   wartości
       odziedziczone  przez powłokę po rodzicu. Jeżeli nie pracuje kon-
       trola zadań, to polecenia asynchroniczne ignorują również SIGINT
       i  SIGQUIT.   Polecenia uruchamiane wskutek podstawiania poleceń
       ignorują generowane z klawiatury sygnały kontroli zadań SIGTTIN,
       SIGTTOU i SIGTSTP.

       Powłoka  domyślnie  kończy  pracę  po  otrzymaniu SIGHUP.  Przed
       zakończeniem, powłoka interaktywna rozsyła otrzymany  SIGHUP  do
       wszystkich zadań, pracujących lub zatrzymanych.  Do zatrzymanych
       zadań wysyłany jest SIGCONT by upewnić się, że otrzymują SIGHUP.
       Chcąc  uniknąć  wysłania  sygnału  przez  powłokę do konkretnego
       zadania, należy usunąć je  z  tablicy  zadań  przy  pomocy  wbu-
       dowanego  polecenia  disown  (zobacz poniżej WBUDOWANE POLECENIA
       POWŁOKI) lub oznakować, by nie  otrzymywało  SIGHUP,  posługując
       się disown -h.

       Jeżeli  przy  pomocy  shopt  została  ustawiona  opcja huponexit
       powłoki, bash wysyła SIGHUP  do  wszystkich  zadań,  gdy  kończy
       pracę interaktywna powłoka zgłoszeniowa.

       Gdy  bash  podczas oczekiwania na ukończenie polecenia otrzymuje
       sygnał, dla którego ustawiono pułapkę, pułapka ta  nie  zostanie
       wykonana  aż  do zakończenia pracy polecenia.  Gdy bash oczekuje
       na polecenie asynchroniczne za pośrednictwem  wbudowanego  wait,
       odbiór sygnału, dla którego ustawiono przechwytywanie spowoduje,
       że wbudowane wait natychmiast skończy pracę z kodem większym  od
       128, po czym natychmiast zostanie wywołana pułapka.

KONTROLA ZADAŃ
       Kontrola zadań odnosi się do możliwości selektywnego zatrzymywa-
       nia (zawieszania - suspend) wykonywania procesów  i  późniejszej
       kontynuacji  (wznawiania  -  resume) ich wykonywania. Użytkownik
       zwykle wykorzystuje to udogodnienie za pośrednictwem  interakty-
       wnego   interfejsu   obsługiwanego   wspólnie   przez  systemowy
       sterownik terminala i bash.

       Powłoka kojarzy z każdym potokiem zadanie.  Przechowuje  tablicę
       aktualnie  wykonywanych  zadań, którą można przeglądać za pomocą
       polecenia jobs.  Gdy bash uruchamia zadanie  asynchronicznie  (w
       tle), wypisuje wiersz w rodzaju:

              [1] 25647

       wskazujący,  że  zadanie to ma numer 1 a ID ostatniego procesu w
       potoku związanym z zadaniem wynosi 25647.  Wszystkie  procesy  w
       jednym potoku należą do tego samego zadania.  Bash posługuje się
       abstrakcją (abstraction) zadania jako podstawą kontroli zadań.

       Dla ułatwienia implementacji interfejsu użytkownika do  kontroli
       zadań,  system  operacyjny  utrzymuje  pojęcie ID grupy procesów
       bieżącego terminala (current terminal process group  ID).   Ele-
       menty  tej  grupy  procesów  (procesy, których ID grupy procesów
       jest równy ID grupy procesów bieżącego terminala) otrzymują gen-
       erowane z klawiatury sygnały, takie jak SIGINT.  Mówimy, że pro-
       cesy te pracują pierwszoplanowo.  Procesy tła to takie,  których
       ID  grupy  procesów  różni  się  od  terminala; procesy takie są
       odporne na sygnały  pochodzące  z  klawiatury.   Tylko  procesom
       pierwszoplanowym wolno czytać z lub pisać na terminalu.  Do pro-
       cesów tła usiłujących czytać (pisać) z terminala  wysyłany  jest
       przez sterownik terminala sygnał SIGTTIN (SIGTTOU), który, jeśli
       nie zostanie przechwycony, wstrzymuje proces.

       Jeżeli system operacyjny, na którym działa bash  obsługuje  kon-
       trolę  zadań,  bash  zawiera  funkcje  do  jej  wykorzystywania.
       Naciśnięcie klawisza wstrzymania (zwykle ^Z, Control-Z)  podczas
       pracy  procesu  powoduje,  że  proces  ten zostanie zatrzymany a
       sterowanie zostanie  zwrócone  do  bash.   Naciśnięcie  klawisza
       opóźnione wstrzymanie (zwykle ^Y, Control-Y) powoduje, że proces
       zostanie zatrzymywany gdy będzie usiłował czytać wejście z  ter-
       minala, a sterowanie powróci do bash.  Użytkownik może następnie
       zmieniać stan takiego zadania, posługując się poleceniem  bg  do
       kontynuacji zadania w tle, fg do kontynuacji na pierwszym planie
       lub poleceniem kill do zabicia zadania.  ^Z działa natychmiast i
       ma  efekt  uboczny:  powoduje  odrzucenie oczekującego wyjścia i
       wprowadzonych, a nieprzetworzonych  naciśnięć  klawiszy  (typea-
       head).

       Istnieje  kilka  sposobów wskazywania zadania w powłoce.  Znak %
       poprzedza nazwę zadania. Zadanie numer n można wskazać jako  %n.
       Zadanie  może  być  też określone przez użycie przedrostka nazwy
       użytej do jego uruchomienia lub podłańcucha,  jaki  występuje  w
       jego  wierszu  poleceń.   Na przykład, %ce odnosi się do zatrzy-
       manego zadania ce.  Jeśli przedrostek pasuje do więcej niż  jed-
       nego  zadania, bash zgłasza błąd. Z drugiej strony, użycie %?ce,
       wskazuje na zadanie zawierające podłańcuch  ce  w  swym  wierszu
       poleceń.  Jeżeli  łańcuch  pasuje do więcej niż jednego zadania,
       bash zgłasza błąd. Symbole %% i  %+  określają  rozumiane  przez
       powłokę  bieżące  zadanie, będące ostatnim zadaniem zatrzymanym,
       gdy było  na  pierwszym  planie  lub  uruchomionym  w  tle.   Do
       poprzedniego  zadania  można  odwoływać  się  przy pomocy %-.  W
       wyjściu odnoszącym się do zadań (np.  wyjście  polecenia  jobs),
       bieżące  zadanie  jest  zawsze  zaznaczone  znakiem +, a zadanie
       poprzednie -.

       Do przywrócenia zadania na pierwszy plan można posłużyć  się  po
       prostu  jego  nazwą:  %1  jest  synonimem  dla  ,,fg %1'', przy-
       wracającego zadanie 1 z tła na pierwszy  plan.   Podobnie,  ,,%1
       &'' wznawia zadanie 1 w tle, równoważnie do ,,bg %1''''.

       Powłoka  natychmiast  dowiaduje  się  czy zadanie zmieniło stan.
       Normalnie, bash czeka ze zgłoszeniem zmian do  momentu,  gdy  ma
       wyświetlić  zachętę,  by  nie  przerywać  innego wyjścia. Jeżeli
       włączono opcję -b wbudowanego polecenia set, bash zgłasza  takie
       zmiany natychmiast.  Dla każdego kończącego pracę procesu potom-
       nego wykonywana jest ewentualna pułapka przechwytująca  SIGCHLD.

       Jeżeli  wykonano  próbę zakończenia pracy bash przy istniejących
       zatrzymanych zadaniach, powłoka wypisuje komunikat ostrzegawczy.
       Można  wówczas  posłużyć  się poleceniem jobs do sprawdzenia ich
       stanu. Jeżeli wykonywana jest druga próba zakończenia pracy  bez
       wystąpienia  wtrąconego  między  nie polecenia, powłoka nie wyp-
       isuje kolejnego ostrzeżenia a zatrzymane zadania są  przerywane.

ZACHĘTA POWŁOKI
       Przy  wykonywaniu  interaktywnym  bash  wyświetla  główny symbol
       zachęty (primary prompt) PS1 kiedy jest gotowa na odczyt polece-
       nia,  zaś wtórną (secondary) zachętę PS2 kiedy potrzebuje więcej
       danych z wejścia do uzupełnienia  polecenia.   Bash  pozwala  na
       dostosowywanie  tych łańcuchów zachęty poprzez wstawianie pewnej
       ilości  znaków  specjalnych   rozpoczynających   się   odwrotnym
       ukośnikiem, które są dekodowane jak następuje:
              \a     znak dzwonka ASCII (07)
              \d     data  w  formacie  "DzieńTyg Miesiąc Dzień" format
                     (np., "Tue May 26")
              \e     znak escape ASCII (033)
              \h     nazwa hosta do pierwszej kropki `.'
              \H     nazwa hosta
              \j     liczba zadań aktualnie obsługiwanych przez powłokę
              \l     główna część nazwy urządzenia terminala powłoki
              \n     znak nowej linii
              \r     powrót karetki
              \s     nazwa  powłoki,  główna  część  nazwy $0 (fragment
                     występujący po ostatnim ukośniku)
              \t     bieżący czas w formacie 24-godzinnym GG:MM:SS
              \T     bieżący czas w formacie 12-godzinnym GG:MM:SS
              \@     bieżący czas w 12-godzinnym formacie am/pm
              \A     bieżący czas w 24-godzinnym formacie GG:MM
              \u     nazwa bieżącego użytkownika (username)
              \v     wersja programu bash (np. 2.00)
              \V     wydanie bash, wersja+poziom łat (np., 2.00.0)
              \w     bieżący katalog roboczy
              \W     główna część nazwy bieżącego katalogu roboczego
              \!     numer tego polecenia w historii
              \#     numer polecenia tego polecenia
              \$     Jeżeli efektywnym UID jest 0, to #,  w  przeciwnym
                     razie $
              \nnn   znak odpowiadający szesnastkowej liczbie nnn
              \\     odwrotny ukośnik
              \[     początek  sekwencji  znaków niedrukowalnych, która
                     może służyć  do  osadzenia  w  zachęcie  sekwencji
                     sterujących terminalem
              \]     koniec sekwencji znaków niedrukowalnych

       Numer  polecenia  i  numer  w  historii  są  zwykle różne: numer
       polecenia w historii jest jego pozycją na liście historii, która
       może  obejmować  polecenia  odtworzone  z pliku historii (zobacz
       poniżej HISTORIA), podczas gdy numer polecenia  jest  pozycją  w
       sekwencji  poleceń  wykonanych  w  obecnej  sesji  powłoki.   Po
       zdekodowaniu, łańcuch jest interpretowany poprzez  interpretację
       parametrów,  podstawianie wyników poleceń, interpretację wyrażeń
       arytmetycznych,  interpretację  łańcuchów  i  usuwanie  cytowań,
       zgodnie  z  wartością  opcji  promptvars  powłoki  (zobacz  opis
       polecenia shopt w sekcji WBUDOWANE POLECENIA POWŁOKI poniżej).

READLINE
       Jest to  biblioteka  obsługująca  odczytywanie  wejścia  podczas
       posługiwania  się  powłoką interaktywną, chyba że przy wywołaniu
       powłoki podano opcję --noediting.  Domyślnie,  polecenia  edycji
       wiersza  są  podobne  do występujących w emacsie.  Dostępny jest
       także interfejs edycji wiersza w stylu vi.  By  wyłączyć  edycję
       wiersza  po  uruchomieniu powłoki, użyj opcji +o emacs lub +o vi
       wbudowanego polecenia set (zobacz  WBUDOWANE  POLECENIA  POWŁOKI
       poniżej).

   Notacja Readline
       W  tej sekcji, do zapisu naciśnięć klawiszy używana jest notacja
       w stylu emacsa. Klawisze kontrolne zapisywane są  jako   C-klaw-
       isz, np., C-n oznacza Control-N. Podobnie, meta klawisze zapisy-
       wane są jako M-klawisz, zatem M-x oznacza Meta-X.  (Na klawiatu-
       rach  bez  klawisza meta M-x oznacza ESC x, tj. naciśnij klawisz
       Escape a następnie klawisz x.  Czyni to  ESC  the  przedrostkiem
       meta (meta prefix).  Kombinacja M-C-x oznacza ESC-Control-x, lub
       naciśnij klawisz Escape, następnie przytrzymaj  klawisz  Control
       podczas naciskania klawisza x.)

       Poleceniom  readline  można  podawać numeryczne argumenty, które
       normalnie działają  jako  licznik  powtórzeń.   Czasami  jednak,
       znaczący  jest  znak  argumentu.  Przekazanie ujemnego argumentu
       poleceniu, które działa w przód  (np.  kill-line)  powoduje,  że
       będzie  ono  działać  odwrotnym  kierunku  (wstecz).  Polecenia,
       których zachowanie z argumentami odbiega od podanego  odnotowano
       poniżej.

       Gdy  polecenie opisano jako usuwające (killing) tekst, tekst ten
       jest  zachowywany  to   ewentualnego   późniejszego   odzyskania
       (przywołania yanking). Kolejne usunięcia powodują, że tekst jest
       zbierany w jedną całość, którą można odzyskać  naraz.  Polecenia
       nie usuwające tekstu oddzielają kawałki tekstu w stosie usuwania
       (killing ring).

   Inicjalizacja Readline
       Readline dostosowywane jest przy pomocy poleceń umieszczanych  w
       pliku inicjującym (plik inputrc).  Nazwa tego pliku brana jest z
       wartości zmiennej INPUTRC.  Jeżeli zmienna ta  nie  jest  ustaw-
       iona,  domyślną  nazwą  jest  ~/.inputrc.   Gdy startuje program
       używający biblioteki readline, odczytywany jest plik inicjujący,
       po  czym  ustawiane są przypisania klawiszy i zmienne.  Istnieje
       tylko kilka podstawowych konstrukcjii dozwolonych w pliki  inic-
       jacji readline.  Puste wiersze są ignorowane.  Wiersze rozpoczy-
       nające się od # są komentarzami.  Wiersze rozpoczynające się  od
       $  wskazują  konstrukcje  warunkowe.   Inne  wiersze  wyznaczają
       przypisania klawiszy i ustawienia zmiennych.

       Domyślne przypisania klawiszy można zmienić  przy  pomocy  pliku
       inputrc.   Inne  programy  posługujące  się  tą  biblioteką mogą
       dodawać własne polecenia i przypisania.

       Na przykład, umieszczenie

              M-Control-u: universal-argument
       lub
              C-Meta-u: universal-argument
       w inputrc spowodowałoby, że M-C-u wywoływałoby  polecenie  read-
       line universal-argument.

       Rozpoznawane  są  następujące  symboliczne nazwy znaków: RUBOUT,
       DEL, ESC, LFD, NEWLINE, RET, RETURN, SPC, SPACE i TAB.

       Oprócz nazw poleceń readline  pozwala  przypisywać  klawisze  do
       łańcucha.   Łańcuch  ten zostanie wstawiony po naciśnięciu klaw-
       isza (makro).

   Przypisania klawiszy Readline
       Składnia przypisań klawiszy sterujących  w  pliku  inputrc  jest
       prosta.  Wymagana jest wyłącznie nazwa polecenia lub tekst makra
       i sekwencja klawiszy, do której powinno być przypisane. Klawisze
       mogą być podane na dwa sposoby: jako symboliczna nazwa klawisza,
       może być z przedrostkami Meta- lub Control-, lub jako  sekwencja
       klawiszy.

       Przy  użyciu  postaci nazwa-klaw:nazwa-funkcji lub makro, nazwa-
       klaw jest nazwą klawisza zapisaną w jęz.angielskim. Na przykład:

              Control-u: universal-argument
              Meta-Rubout: backward-kill-word
              Control-o: "> output"

       W  powyższym przykładzie, C-u przypisane jest do funkcji univer-
       sal-argument,   M-DEL   przypisane   jest   do   funkcji   back-
       ward-kill-word a C-o przypisane do uruchamiania makra wyrażonego
       po prawej (to jest, wstawiania tekstu ,,> output'' w wiersz).

       W drugiej postaci, "sekw-klaw":nazwa-funkcji  lub  makro,  sekw-
       klaw  różni się od nazwa-klaw powyżej tym, że przez umieszczenie
       sekwencji w cudzysłowach można podać łańcuchy  oznaczające  całą
       sekwencję  klawiszy.  Można posłużyć się niektórymi kombinacjami
       klawiszy w stylu GNU Emacs-a, jak w poniższym  przykładzie,  nie
       są jednak rozpoznawane symboliczne nazwy znaków:

              "\C-u": universal-argument
              "\C-x\C-r": re-read-init-file
              "\e[11~": "Klawisz funkcyjny 1"

       W  tym przykładzie, C-u jest ponownie przypisane do funkcji uni-
       versal-argument.    C-x   C-r   przypisane   jest   do   funkcji
       re-read-init-file, zaś ESC [ 1 1 ~ przypisane jest do wstawienia
       tekstu ,,Klawisz funkcyjny  1''.   Oto  pełny  zestaw  sekwencji
       specjalnych w stylu GNU Emacs
              \C-    przedrostek control
              \M-    przedrostek meta
              \e     znak escape
              \\     odwrotny ukośnik
              \"     dosłowny cudzysłów "
              \'     dosłowny apostrof '

       Oprócz  sekwencji  specjalnych w stylu GNU Emacsa, dostępny jest
       drugi zestaw sekwencji z użyciem odwrotnego ukośnika:
              \a     alarm (dzwonek)
              \b     backspace
              \d     delete
              \f     wysuw strony (form feed)
              \n     nowa linia (newline)
              \r     powrót karetki (carriage return)
              \t     tabulacja pozioma (horizontal tab)
              \v     tabulacja pionowa (vertical tab)
              \nnn   ośmiobitowy znak, którego wartością jest  ósemkowa
                     liczba nnn (jedna do trzech cyfr)
              \xHH   ośmiobitowy  znak,  którego  wartością  jest szes-
                     nastkowa liczba nnn (jedna lub  dwie  cyfry  szes-
                     nastkowe)

       Podczas  wprowadzania  tekstu makra, do wskazania jego definicji
       muszą być użyte pojedyncze  lub  podwójne  cudzysłowy.   Zakłada
       się,  że  tekst  niecytowany  jest nazwą funkcji.  W ciele makra
       interpretowane  są  sekwencje  specjalne  z  użyciem  odwrotnego
       ukośnika  opisane  powyżej. odwrotny ukośnik cytuje dowolny inny
       znak w tekście makra, łącznie z " i '.

       Bash umożliwia wyświetlanie i zmianę bieżących  przypisań  klaw-
       iszy readline za pomocą wbudowanego polecenia bind.  Tryb edycji
       można   przełączać   podczas   używania   interaktywnego   przez
       posłużenie  się  opcją  -o  wbudowanego  polecenia  set  (zobacz
       poniżej WBUDOWANE POLECENIA POWŁOKI).

   Zmienne Readline
       Readline posiada zmienne, których można  używać  do  dodatkowego
       dostosowania  jej zachowania. Zmienna może być ustawiana w pliku
       inputrc przy pomocy instrukcji postaci

              set nazwa-zmiennej wartość

       Z wymienionymi niżej wyjątkami, zmienne readline mogą przyjmować
       wartości On lub Off.  A oto zmienne i ich wartości domyślne:

       bell-style (audible)
              Kontroluje,  co dzieje się gdy readline chce użyć sygnału
              dźwiękowego terminala. Jeśli ustawiona na none,  readline
              nigdy  nie  emituje sygnału.  Jeśli ustawiona na visible,
              readline posługuje się  "widzialnym  dzwonkiem"  (visible
              bell), jeśli jest dostępny.  Jeżeli ustawiona na audible,
              readline usiłuje uzyskać sygnał dźwiękowy z terminala.
       comment-begin (,,#'')
              Łańcuch  wstawiany,   gdy   wykonywane   jest   polecenie
              insert-comment readline.  Polecenie to jest przypisane do
              M-# w trybie emacs, zaś do # w trybie vi.
       completion-ignore-case (Off)
              Jeżeli ustawiona na On, readline wykonuje dopasowywanie i
              uzupełnianie   nazw  plików  bez  rozróżniania  wielkości
              liter.
       completion-query-items (100)
              Określa, kiedy użytkownik jest pytany o oglądanie  takiej
              liczby  możliwych  uzupełnień  tworzonych przez polecenie
              possible-completions.   Może  być  ustawiona  na  dowolną
              liczbę  całkowitą  większą lub równą zero.  Jeżeli liczba
              możliwych uzupełnień jest większa bądź równa wartości tej
              zmiennej, to użytkownik jest pytany czy chce je oglądnąć;
              w  przeciwnym  razie  są  one  po  prostu  pokazywane  na
              terminalu.
       convert-meta (On)
              Jeśli  ustawione na On, readline będzie zamieniał znaki z
              ustawionym ósmym bitem na sekwencje klawiszy ASCII  przez
              obcięcie  ósmego  bitu  i  poprzedzenie znakiem escape (w
              efekcie, używając escape jako przedrostka meta).
       disable-completion (Off)
              Jeśli ustawione  na  On,  readline  zabroni  uzupełniania
              słów.  Znaki uzupełniania zostaną wstawione w wiersz tak,
              jakby zostały przypisane do self-insert.
       editing-mode (emacs)
              Kontroluje  czy  readline  rozpoczyna  pracę  z  zestawem
              przypisań  klawiszy  podobnym  do emacs czy do vi.  edit-
              ing-mode może być ustawiane albo na emacs albo na vi.
       enable-keypad (Off)
              Gdy  jest  ustawione  na  On,  readline  będzie  usiłować
              włączyć  numeryczny  blok klawiatury (application keypad)
              przy wywołaniu.   Niektóre  systemy  potrzebują  tego  do
              włączenia klawiszy strzałek.
       expand-tilde (Off)
              Jeżeli  ustawione  na on, podczas próby uzupełniania słów
              readline wykonuje interpretację tyldy.
       history-preserve-point
              Ustawione na on powoduje, że kod obsługi historii poleceń
              usiłuje  w  każdym  wierszu  poleceń odzyskanym za pomocą
              previous-history lub next-history umieścić punkt (bieżącą
              pozycję kursora) w tym samym miejscu.
       horizontal-scroll-mode (Off)
              Ustawione  na  On  powoduje,  że readline do wyświetlania
              posługuje się pojedynczym wierszem.  Jeśli  wejście  jest
              dłuższe  niż  szerokość  ekranu,  to  jego zawartość jest
              wówczas  przewijana  w  poziomie  w  pojedynczym  wierszu
              ekranu, zamiast zawijania do następnego wiersza.
       input-meta (Off)
              Jeśli  ustawiona  na  On,  readline  dopuści  ośmiobitowe
              wejście (to znaczy, nie  będzie  obcinać  ósmego  bitu  z
              odczytywanych  znaków),  bez  względu  na to, co twierdzi
              terminal o możliwości obsługi. Nazwa meta-flag jest  syn-
              onimem tej zmiennej.
       isearch-terminators (,,C-[C-J'')
              Łańcuch  znaków,  który  powinien  przerywać wyszukiwanie
              krokowe (incremental search) bez późniejszego wykonywania
              znaku  jako  polecenia.   Jeżeli  zmiennej tej nie nadano
              wartości, to wyszukiwanie krokowe będą  przerywać  ESC  i
              C-J.
       keymap (emacs)
              Ustawia  bieżące mapowanie klawiatury readline. Zestawami
              poprawnych mapowań są emacs, emacs-standard,  emacs-meta,
              emacs-ctlx,   vi,   vi-command   i  vi-insert.   vi  jest
              równoważnikiem  dla  vi-command;  emacs  jest  równoważne
              emacs-standard.  Domyślną  wartością  jest emacs; wartość
              editing-mode również wpływa na domyślne mapowanie.
       mark-directories (On)
              Jeżeli ustawione na On, to  uzupełniane  nazwy  katalogów
              mają dołączany końcowy ukośnik.
       mark-modified-lines (Off)
              Jeżeli  ustawione  na On, wiersze historii, które zostały
              zmienione wyświetlane są z poprzedzającą je gwiazdką (*).
       match-hidden-files (On)
              Ta  zmienna, gdy jest ustawiona na On, powoduje, że read-
              line wykonując uzupełnianie nazw plików dopasowuje pliki,
              których nazwy zaczynają się od kropki `.' (pliki ukryte),
              chyba  że  użytkownik  podał  taką  początkową  kropkę  w
              nazwie, jaka ma być uzupełniona.
       output-meta (Off)
              Jeżeli ustawione na On, readline wyświetla znaki z ustaw-
              ionym ósmym bitem wprost zamiast jako sekwencje specjalne
              z meta-przedrostkiem.
       print-completions-horizontally (Off)
              Jeżeli  ustawione  na  On,  readline wyświetla dopasowane
              uzupełnienia w kolejności alfabetycznej poziomo,  zamiast
              w dół ekranu.
       show-all-if-ambiguous (Off)
              Zmienia  to  domyślne  zachowanie  funkcji  uzupełniania.
              Jeżeli jest ustawione na on, to słowa mające  więcej  niż
              jedno   możliwe  uzupełnienie  powodują,  że  natychmiast
              zostaną podane dopasowania zamiast  wyemitowania  sygnału
              dźwiękowego.
       visible-stats (Off)
              Jeżeli  ustawione  na  On, to przy wyświetlaniu możliwych
              uzupełnień  do  nazwy  pliku  zostanie   dołączony   znak
              określający typ pliku wskazywany przez stat(2).

   Konstrukcje warunkowe Readline
       Readline  implementuje  udogodnienie  podobne  duchem do funkcji
       kompilacji warunkowej preprocesora C, pozwalające na wykonywanie
       przypisań  klawiszy  i ustawień zmiennych w zależności od wyniku
       testów. Używane są cztery dyrektywy analizatora składni.

       $if    Konstrukcja $if pozwala na wykonanie przypisań klawiszy w
              oparciu  o  tryb  edycji,  używany terminal lub aplikację
              korzystającą z readline.  Tekst  testu  rozciąga  się  do
              końca  wiersza; do jego wydzielenia nie są wymagane żadne
              znaki.

              mode   Postać mode= dyrektywy $if  służy  do  sprawdzania
                     czy  readline jest w trybie emacs czy vi. Może być
                     wykorzystywana,  na  przykład,  w   połączeniu   z
                     poleceniem  set  keymap, do ustawienia przypisań w
                     mapowaniach  emacs-standard  i  emacs-ctlx   tylko
                     jeśli readline uruchamia się w trybie emacs.

              term   Postać  term=  można  wykorzystywać  do  włączenia
                     specyficznych dla  terminala  przypisań  klawiszy,
                     być  może  do  przypisania  wyjścia  dla sekwencji
                     klawiszy funkcyjnych terminala.  Słowo  po  prawej
                     stronie  =  sprawdzane  jest z zarówno pełną nazwą
                     terminala, jaki i częścią jego nazwy  przed  pier-
                     wszym  -.  Umożliwia  to, na przykład, dopasowanie
                     przez sun zarówno sun jak i sun-cmd.

              aplikacja
                     Konstrukcja aplikacja służy do włączania  ustawień
                     specyficznych dla aplikacji. Każdy program korzys-
                     tający  z  biblioteki   readline   ustawia   nazwę
                     aplikacji  (application  name),  a plik inicjujący
                     może  sprawdzić  czy  ma  ona   jakąś   szczególną
                     wartość.   Może  to  być  używane do przypisywania
                     sekwencji klawiszy  funkcjom  przydatnym  w  danym
                     programie.  Na przykład, poniższe polecenie dodaje
                     sekwencję klawiszy  wykonującą  w  bash  cytowanie
                     bieżącego lub poprzedniego słowa:

                     $if Bash
                     # Cytuj bieżące lub poprzednie słowo
                     "\C-xq": "\eb\"\ef\""
                     $endif

       $endif Polecenie  to, jak widać w poprzednim przykładzie, kończy
              wykonywanie polecenia $if.

       $else  Polecenia w tej gałęzi dyrektywy $if  wykonywane  są  gdy
              nie powiedzie się sprawdzenie warunku.

       $include
              Dyrektywa ta pobiera jako argument pojedynczą nazwę pliku
              i odczytuje polecenia i  przypisania  z  tego  pliku.  Na
              przykład, poniższa dyrektywa odczytałaby /etc/inputrc:

              $include  /etc/inputrc

   Wyszukiwanie
       Readline  zapewnia  polecenia do wyszukiwania w historii poleceń
       (zobacz poniżej HISTORIA) wierszy zawierających zadany  łańcuch.
       Istnieją  dwa  tryby  wyszukiwania: krokowy (incremental) i nie-
       niekrokowy(non-incremental).

       Wyszukiwania krokowe rozpoczynają się przed zakończeniem  wpisy-
       wania  przez  użytkownika szukanego tekstu.  Po wpisaniu każdego
       znaków szukanego łańcucha readline  wyświetla  następną  pozycję
       historii  pasującą  do wpisanego do tej pory łańcucha.  Wyszuki-
       wanie krokowe wymaga tylko tylu znaków  ile  potrzebne  jest  do
       znalezienia  pożądanej  pozycji  historii.   Znaki występujące w
       wartości  zmiennej  isearch-terminators  służą   do   przerwania
       wyszukiwania  krokowego.   Jeżeli  zmienna ta nie ma przypisanej
       wartości, to wyszukiwanie przerywają znaki Escape  i  Control-J.
       Control-G  porzuca  wyszukiwanie  krokowe  i przywraca pierwotny
       wiersz.  Gdy przerwie się wyszukiwanie,  pozycja  historii  zaw-
       ierająca poszukiwany łańcuch staje się bieżącym wierszem.

       W  celu  odnalezienia innych pasujących pozycji, należy nacisnąć
       odpowiednio Control-S lub Control-R.  Wyszukuje to wstecz lub  w
       przód  kolejną pasującą do dotychczas wpisanego łańcucha pozycję
       historii.   Wszystkie  inne  sekwencje  klawiszy  przypisane  do
       polecenia  readline  przerywają  wyszukiwanie  i wykonują zadane
       polecenie.  Na przykład, znak nowej linii przerywa  wyszukiwanie
       i  akceptuje  wiersz,  wykonując skutkiem tego polecenie z listy
       historii.

       Readline pamięta łańcuch użyty w ostatnim wyszukiwaniu krokowym.
       Jeżeli  Control-R zostanie naciśnięte dwa razy, bez wprowadzenia
       pomiędzy naciśnięciami innych znaków definiujących nowy  łańcuch
       szukania,  to wykorzystywany jest uprzednio zapamiętany łańcuch.

       Wyszukiwania nie-krokowe  czytają  cały  szukany  łańcuch  przed
       rozpoczęciem  wyszukiwania  pasujących wierszy historii. Łańcuch
       może być wpisany przez użytkownika lub  być  częścią  zawartości
       bieżącego wiersza.

   Nazwy poleceń Readline
       Poniżej  podano  listę nazw poleceń i domyślnych sekwencji klaw-
       iszy,  do  których  są  one  przypisane.   Nazwy   poleceń   bez
       towarzyszącej  sekwencji klawiszy są domyślnie nieprzypisane.  W
       poniższych opisach, punkt oznacza bieżącą pozycję  kursora,  zaś
       zaznaczenie  do  pozycji  kursora  zapamiętanej  przez polecenie
       set-mark.  Tekst pomiędzy punktem a zaznaczeniem  nazywany  jest
       obszarem.

   Polecenia ruchu
       beginning-of-line (C-a)
              Przesuwa na początek bieżącego wiersza.
       end-of-line (C-e)
              Przesuwa na koniec wiersza.
       forward-char (C-f)
              Przesuwa o znak w przód.
       backward-char (C-b)
              Przesuwa o znak wstecz.
       forward-word (M-f)
              Przesuwa  na koniec następnego słowa. Słowa złożone są ze
              znaków alfanumerycznych (liter i cyfr).
       backward-word (M-b)
              Przesuwa na początek bieżącego, lub poprzedniego,  słowa.
              Słowa  złożone  są  ze  znaków  alfanumerycznych (liter i
              cyfr).
       clear-screen (C-l)
              Czyści  ekran  pozostawiając  bieżący  wiersz  na   górze
              ekranu.   Z   argumentem,  odświeża  bieżący  wiersz  bez
              czyszczenia ekranu.
       redraw-current-line
              Odświeża bieżący wiersz.

   Polecenia operujące na historii
       accept-line (Newline, Return)
              Akceptuje wiersz bez względu na to,  gdzie  znajduje  się
              kursor. Jeżeli wiersz ten nie jest pusty, to dodaje go do
              listy historii stosownie do stanu  zmiennej  HISTCONTROL.
              Jeżeli  wiersz jest zmienionym wierszem historii, to odt-
              warza wiersz historii do stanu pierwotnego.
       previous-history (C-p)
              Śprowadza poprzednie polecenie z  listy  historii,  prze-
              suwając się wstecz listy.
       next-history (C-n)
              Ściąga  następne  polecenie z listy historii, przesuwając
              się do przodu na liście.
       beginning-of-history (M-<)
              Przesuwa na pierwszy wiersz w historii.
       end-of-history (M->)
              Przesuwa na koniec  historii  wprowadzania,  tj.  obecnie
              wprowadzanego wiersza.
       reverse-search-history (C-r)
              Wyszukuje  wstecz poczynając od bieżącego wiersza i prze-
              suwając się, w razie potrzeby, 'w górę' historii. Jest to
              wyszukiwanie krokowe.
       forward-search-history (C-s)
              Wyszukuje w przód poczynając od bieżącego wiersza i prze-
              suwając się, w razie potrzeby, 'w dół' historii. Jest  to
              wyszukiwanie krokowe.
       non-incremental-reverse-search-history (M-p)
              Wyszukuje   wstecz   poczynając   od   bieżącego  wiersza
              posługując się wyszukiwaniem nie-krokowym podanego  przez
              użytkownika łańcucha.
       non-incremental-forward-search-history (M-n)
              Wyszukuje   w   przód  poczynając  od  bieżącego  wiersza
              posługując się wyszukiwaniem nie-krokowym podanego  przez
              użytkownika łańcucha.
       history-search-forward
              Wyszukuje  w  przód  w  historii łańcucha znaków pomiędzy
              początkiem bieżącego wiersza a punktem.  Jest to wyszuki-
              wanie nie-krokowe.
       history-search-backward
              Wyszukuje  wstecz  w  historii  łańcucha  znaków pomiędzy
              początkiem bieżącego wiersza a  bieżącą  pozycją  kursora
              (punkt).  Jest to wyszukiwanie nie-krokowe.
       yank-nth-arg (M-C-y)
              Wstawia  pierwszy argument poprzedniego polecenia (zwykle
              drugie słowo z poprzedniego  wiersza)  w  punkt  (bieżącą
              pozycję  kursora).  Z  argumentem  n,  wstawia n-te słowo
              poprzedniego  polecenia  (słowa  w  poprzednim  poleceniu
              zaczynają  się  od słowa 0). Argument ujemny wstawia n-te
              słowo od końca poprzedniego polecenia.
       yank-last-arg (M-., M-_)
              Wstawia ostatni argument poprzedniego polecenia (ostatnie
              słowo   poprzedniej   pozycji  historii).  Z  argumentem,
              zachowuje się dokładnie tak, jak  yank-nth-arg.   Kolejne
              wywołania yank-last-arg przesuwają wstecz listy historii,
              wstawiając po kolei ostatni argument każdego wiersza.
       shell-expand-line (M-C-e)
              Interpretuj wiersz, jak czyni  to  powłoka.  Wykonuje  to
              aliasy  i  interpretację  historii, jak również interpre-
              tację  słów  powłoki.   Zobacz   INTERPRETACJA   HISTORII
              poniżej.
       history-expand-line (M-^)
              Wykonuje interpretację powłoki w odniesieniu do bieżącego
              wiersza.  Zobacz INTERPRETACJA HISTORII poniżej.
       magic-space
              Wykonuje interpretację powłoki w odniesieniu do bieżącego
              wiersza  i wstawia spację.  Zobacz INTERPRETACJA HISTORII
              poniżej.
       alias-expand-line
              Wykonuje interpretację aliasów w odniesieniu do bieżącego
              wiersza.  Zobacz ALIASY powyżej.
       history-and-alias-expand-line
              Wykonuje  interpretację  historii i aliasów w odniesieniu
              do bieżącego wiersza.
       insert-last-argument (M-., M-_)
              Synonim yank-last-arg.
       operate-and-get-next (C-o)
              Akceptuje do wykonania bieżący wiersz i ściąga do  edycji
              następny  względem bieżącego wiersz z historii. Argumenty
              są ignorowane.

   Polecenia zmiany tekstu
       delete-char (C-d)
              Usuwa znak w punkcie (pod kursorem).  Jeżeli  punkt  jest
              początkiem  wiersza,  nie  ma żadnych znaków w wierszu, a
              ostatni wpisany znak został przypisany do delete-char, to
              zwraca EOF.
       backward-delete-char (Rubout)
              Usuwa   znak   przed  kursorem.  Jeżeli  podano  argument
              numeryczny, zachowuje usunięty tekst na stosie usunięć.
       forward-backward-delete-char
              Usuwa znak pod kursorem, chyba że kursor znajduje się  na
              końcu  wiersza, wówczas usuwany jest znak przed kursorem.
       quoted-insert (C-q, C-v)
              Dodaje następny znak do wiersza dosłownie. W  ten  sposób
              wstawiane są znaki takie, jak na przykład C-q.
       tab-insert (C-v TAB)
              Wstawia znak tabulacji.
       self-insert (a, b, A, 1, !, ...)
              Wstawia wpisany znak.
       transpose-chars (C-t)
              Zamienia  miejscami  znak  sprzed  punktu  ze  znakiem  w
              punkcie, równocześnie przesuwając punkt w  przód.  Jeżeli
              punkt  jest na końcu wiersza to zamienia to miejscami dwa
              znaki przed punktem. Argumenty ujemne nie skutkują.
       transpose-words (M-t)
              Zamienia miejscami słowo sprzed punktu ze słowem za punk-
              tem, przesuwając równocześnie punkt za przesunięte sprzed
              niego słowo.  Jeżeli  punkt  jest  na  końcu  wiersza  to
              zamienia to miejscami dwa ostanie słowa wiersza.
       upcase-word (M-u)
              Zamienia  na wielkie litery bieżące (lub następne) słowo.
              Z argumentem ujemnym zamienia na wielkie litery  poprzed-
              nie słowo, ale nie przesuwa punktu.
       downcase-word (M-l)
              Zamienia  na  małe litery bieżące (lub następne) słowo. Z
              argumentem ujemnym zamienia  na  małe  litery  poprzednie
              słowo, ale nie przesuwa punktu.
       capitalize-word (M-c)
              Zamienia na kapitaliki (pierwsza litera wielka, pozostałe
              małe) bieżące  (następne)  słowo.  Z  argumentem  ujemnym
              zamienia na kapitaliki poprzednie słowo, ale nie przesuwa
              punktu.

   Usuwanie i wklejanie
       kill-line (C-k)
              Usuwa tekst od punktu do końca wiersza.
       backward-kill-line (C-x Rubout)
              Usuwa wstecz do początku wiersza.
       unix-line-discard (C-u)
              Usuwa wstecz od punktu do początku wiersza. Usuwany tekst
              jest zachowywany na stosie usunięć.
       kill-whole-line
              Usuwa  wszystkie  znaki bieżącego wiersza, bez względu na
              położenie punktu.
       kill-word (M-d)
              Usuwa od punktu do końca bieżącego słowa, lub jeśli użyte
              pomiędzy słowami, do końca następnego słowa. Granice słów
              są takie same, jak używane przez forward-word.
       backward-kill-word (M-Rubout)
              Usuwa słowo sprzed punktu. Granice słów  są  takie  same,
              jak używane przez backward-word.
       unix-word-rubout (C-w)
              Usuwa  słowo sprzed punktu, jako separatora słów używając
              białych  znaków.   Usunięty  tekst  zachowywany  jest  na
              stosie usunięć.
       delete-horizontal-space (M-\)
              Usuwa wszystkie spacje i tabulatory wokół punktu.
       kill-region
              Usuwa tekst w bieżącym obszarze.
       copy-region-as-kill
              Kopiuje tekst obszaru do bufora usuwania.
       copy-backward-word
              Kopiuje  słowo sprzed punktu do bufora usuwania.  Granice
              słów są takie same, jak dla backward-word.
       copy-forward-word
              Kopiuje słowo występujące po punkcie do bufora  usuwania.
              Granice słów są takie same, jak dla forward-word.
       yank (C-y)
              Wkleja  wierzchołek  stosu usunięć do bufora w punkcie (w
              miejscu kursora).
       yank-pop (M-y)
              Obraca stos usunięć i  wkleja  nowy  wierzchołek.  Działa
              tylko następując po yank lub yank-pop.

   Argumenty numeryczne
       digit-argument (M-0, M-1, ..., M--)
              Dodaje   tę   cyfrę   do  już  składanego  argumentu  lub
              rozpoczyna  nowy  argument.   M--   rozpoczyna   argument
              ujemny.
       universal-argument
              Jest  to  inna metoda podawania argumentu.  Jeżeli po tym
              poleceniu występuje jedna lub więcej cyfr, z  opcjonalnym
              początkowym  znakiem  minus,  to cyfry te definiują argu-
              ment.  Jeżeli po poleceniu występują cyfry,  to  powtórne
              wykonanie  universal-argument kończy argument numeryczny,
              ale w przeciwnym wypadku jest  ignorowane.   W  przypadku
              specjalnym,   jeżeli   bezpośrednio   po   tym  poleceniu
              występuje znak nie będący ani cyfrą ani znakiem minus, to
              argument  licznik  dla  następnego polecenia mnożony jest
              przez cztery.  Argument licznik [zwykle powtórzeń] wynosi
              początkowo  cztery,  toteż  wykonanie  tej funkcji po raz
              pierwszy  nadaje  mu  wartość  cztery,   po   raz   drugi
              szesnaście, i tak dalej.

   Uzupełnianie
       complete (TAB)
              Usiłuje  przeprowadzić uzupełnianie tekstu przed punktem.
              Bash próbuje uzupełniania traktując tekst  kolejno:  jako
              zmienną  (jeżeli tekst zaczyna się od $), nazwę użytkown-
              ika (jeśli tekst zaczyna się od ~), nazwę hosta (i  jeśli
              tekst zaczyna się od @) lub polecenie (łącznie z aliasami
              i funkcjami). Jeżeli żadne z powyższych  nie  daje  dopa-
              sowania, to próbowane jest uzupełnianie nazw plików.
       possible-completions (M-?)
              Pokazuje możliwe uzupełnienia tekstu przed punktem.
       insert-completions (M-*)
              Wstawia  przed  punktem  wszystkie  uzupełnienia  tekstu,
              które zostałyby wygenerowane przez  possible-completions.
       menu-complete
              Podobne do complete, ale zastępuje słowo, jakie ma zostać
              uzupełnione pojedynczym uzupełnieniem z listy  możliwych.
              Powtarzane wykonanie menu-complete powoduje krokowe prze-
              chodzenie przez listę możliwych uzupełnień  i  wstawianie
              każdego  z  nich  po kolei (zamiast uzupełnianego słowa).
              Na końcu listy uzupełnień emitowany jest sygnał dźwiękowy
              (zależny  od  ustawienia  bell-style)  i przywracany jest
              pierwotny tekst.  Argument n przesuwa n pozycji  w  przód
              na liście dopasowań; do przesuwania się wstecz można użyć
              argumentu ujemnego. Polecenie w zamierzeniu ma być przyp-
              isane do klawisza TAB, ale domyślnie nie jest przypisane.
       delete-char-or-list
              Usuwa znak pod kursorem, jeśli nie jest to początek  bądź
              koniec  wiersza  (jak  delete-char).  Na  końcu  wiersza,
              zachowuje się identycznie  jak  possible-completions.  To
              polecenie jest domyślnie nieprzypisane.
       complete-filename (M-/)
              Usiłuje  wykonać  uzupełnianie  nazw  plików  na  tekście
              sprzed kursora.
       possible-filename-completions (C-x /)
              Pokazuje  możliwe  uzupełnienia  tekstu  sprzed  kursora,
              traktując go jak nazwę pliku.
       complete-username (M-~)
              Usiłuje wykonać uzupełnianie tekstu sprzed kursora, trak-
              tując go jak nazwę użytkownika.
       possible-username-completions (C-x ~)
              Pokazuje  możliwe  uzupełnienia  tekstu  sprzed  kursora,
              traktując go jak nazwę użytkownika.
       complete-variable (M-$)
              Usiłuje wykonać uzupełnianie tekstu sprzed kursora, trak-
              tując go jak zmienną powłoki.
       possible-variable-completions (C-x $)
              Pokazuje  możliwe  uzupełnienia  tekstu  sprzed  kursora,
              traktując go jak zmienną powłoki.
       complete-hostname (M-@)
              Usiłuje wykonać uzupełnianie tekstu sprzed kursora, trak-
              tując go jak nazwę hosta.
       possible-hostname-completions (C-x @)
              Pokazuje  możliwe  uzupełnienia  tekstu  sprzed  kursora,
              traktując go jak nazwę hosta.
       complete-command (M-!)
              Usiłuje  uzupełnić  tekst sprzed punktu, traktując go jak
              nazwę polecenia.  Uzupełnianie  polecenia  próbuje  dopa-
              sować  tekst  kolejno  do  aliasów,  słów  zastrzeżonych,
              funkcji powłoki, poleceń wbudowanych powłoki  i  wreszcie
              nazw plików wykonywalnych.
       possible-command-completions (C-x !)
              Pokazuje  możliwe  uzupełnienia  tekstu  sprzed  kursora,
              traktując go jak nazwę polecenia.
       dynamic-complete-history (M-TAB)
              Usiłuje  uzupełnić   tekst   sprzed   kursora,   w   celu
              odnalezienia  możliwych  uzupełnień porównując go z wier-
              szami listy historii.
       complete-into-braces (M-{)
              Wykonuje  uzupełnianie  nazwy  pliku  i   wstawia   listę
              możliwych  uzupełnień  ujętą  w  nawiasy klamrowe, tak że
              jest ona dostępna dla powłoki (zobacz  powyżej  Interpre-
              tacja nawiasów).

   Makra klawiaturowe
       start-kbd-macro (C-x ()
              Rozpoczyna  zachowywanie  wpisywanych  znaków  w bieżącym
              makrze klawiaturowym.
       end-kbd-macro (C-x ))
              Zatrzymuje zachowywanie  wpisywanych  znaków  w  bieżącym
              makrze klawiaturowym i przechowuje definicję.
       call-last-kbd-macro (C-x e)
              Ponownie   wykonuje   zdefiniowane   makro  klawiaturowe,
              powodując pojawianie się znaków makra tak, jakby  zostały
              wpisane z klawiatury.

   Różne
       re-read-init-file (C-x C-r)
              Odczytuje  zawartość  pliku  inputrc  i dołącza wszystkie
              znalezione tam przypisania klawiszy i zmiennych.
       abort (C-g)
              Zaniechuje bieżącego polecenia edycji  i  emituje  sygnał
              dźwiękowy  terminala (zgodnie z ustawieniami bell-style).
       do-uppercase-version (M-a, M-b, M-x, ...)
              Jeżeli poprzedzony przedrostkiem meta znak  x  jest  małą
              literą,  uruchamia  plecenie,  które  jest  przypisane do
              odpowiedniej wielkiej litery.
       prefix-meta (ESC)
              Poprzedź przedrostkiem meta następny wpisany znak.  ESC f
              jest równoważne Meta-f.
       undo (C-_, C-x C-u)
              Krokowe   cofnięcie   operacji,  pamiętane  odrębnie  dla
              każdego wiersza.
       revert-line (M-r)
              Cofa wszystkie zmiany wykonane na tym wierszu. Podobne do
              wykonania  polecenia  undo  wystarczająco  wiele razy, by
              przywrócić wiersz do stanu początkowego.
       tilde-expand (M-&)
              Wykonuje interpretację tyldy w odniesieniu  do  bieżącego
              słowa.
       set-mark (C-@, M-<space>)
              ustawia znacznik (mark) w bieżącym punkcie. Jeżeli podano
              argument numeryczny, znacznik jest  ustawiany  na  takiej
              pozycji.
       exchange-point-and-mark (C-x C-x)
              Zamień  punkt  ze  znacznikiem.  Aktualna pozycja kursora
              ustawiana jest na zapamietaną,  a  dotychczasowa  pozycja
              zachowywana jako znacznik.
       character-search (C-])
              Odczytywany  jest  znak  a punkt przesuwa się na następne
              wystąpienie tego znaku. Licznik ujemny wyszukuje poprzed-
              nie wystąpienia.
       character-search-backward (M-C-])
              Odczytywany  jest znak a punkt przesuwa się na poprzednie
              wystąpienie tego znaku. Licznik ujemny wyszukuje  kolejne
              wystąpienia.
       insert-comment (M-#)
              Na  początek bieżąceg wiersza wstawiana jest wartość zmi-
              ennej comment-begin readline, a wiersz  jest  akceptowany
              tak,   jakby  wprowadzono  znak  nowej  linii.   Domyślna
              wartość comment-begin powoduje,  że  polecenie  to  czyni
              bieżący wiersz komentarzem powłoki.
       glob-expand-word (C-x *)
              Słowo sprzed kursora traktowane jest jak wzorzec rozwija-
              nia nazw plików i wstawiana jest lista  pasujących  nazw,
              zastępując słowo-wzorzec.
       glob-list-expansions (C-x g)
              Wyświetlana  jest lista rozwinięć, jakie zostałyby utwor-
              zone  przez  glob-expand-word,  a  wiersz  jest  ponownie
              wyświetlany.
       dump-functions
              Wypisuje  do  strumienia  wyjściowego  readline wszystkie
              funkcje i ich przypisania klawiszy. Jeżeli  podano  argu-
              ment  numeryczny, wyjście jest formatowane w taki sposób,
              by można zrobić je częścią pliku inputrc.
       dump-variables
              Wypisuje do  strumienia  wyjściowego  readline  wszystkie
              ustawialne zmienne readline i ich wartości. Jeżeli podano
              argument numeryczny,  wyjście  jest  formatowane  w  taki
              sposób, by można zrobić je częścią pliku inputrc.
       dump-macros
              Wypisuje wszystkie sekwencje klawiszy readline przypisane
              do makr i łańcuchy jakie dają w  wyniku.   Jeżeli  podano
              argument  numeryczny,  wyjście   jest  formatowane w taki
              sposób, by można zrobić je częścią pliku inputrc.
       display-shell-version (C-x C-v)
              Wyświetla  informację  o  wersji  aktualnego  egzemplarza
              bash.

   Programowalne uzupełnianie
       Gdy  następuje próba uzupełnienia słowa dla argumentu polecenia,
       dla którego zdefiniowano specyfikację  uzupełniania  (completion
       specification,  compspec) przy pomocy wbudowanego polecenia com-
       plete (zobacz WBUDOWANE POLECENIA POWŁOKI  poniżej),  wywoływane
       są usługi programowalnego uzupełniania.

       Po  pierwsze,  identyfikowana  jest nazwa polecenia.  Jeżeli dla
       tego polecenia zdefiniowano compspec, to compspec  jest  używane
       do  utworzenia  listy  możliwych uzupełnień słowa.  Jeżeli słowo
       polecenia jest pełną nazwą ścieżkową, to najpierw  szukane  jest
       compspec  dla  pełnej nazwy.  Jeśli nie zostanie odnalezione, to
       następuje próba znalezienia compspec dla części występującej  po
       ostatnim ukośniku.

       Po  odnalezieniu  compspec, jest ono używane do utworzenia listy
       pasujących słów.  Jeżeli compspec  nie  zostało  znalezione,  to
       wykonywane jest domyślne uzupełnianie basha, jak opisano powyżej
       w Uzupełnianie.

       Na początek, używane są akcje określone przez compspec. Zwracane
       są  wyłącznie dopasowania poprzedzone dopasowywanym słowem.  Gdy
       do uzupełniania nazw plików lub katalogów użyto opcji -f lub -d,
       do  filtrowania  dopasowań  wykorzystywana  jest zmienna powłoki
       FIGNORE.

       W  następnej  kolejności  tworzone  są  ewentualne  uzupełnienia
       określone przez wzorzec rozwinięcia nazw plików opcji -G.  Słowa
       tworzone przez wzorzec nie muszą pasować do uzupełnianego słowa.
       Zmienna powłoki GLOBIGNORE nie jest używana do filtrowania dopa-
       sowań, ale zmienna FIGNORE jest używana.

       Następnie, brany jest pod uwagę  łańcuch  podany  jako  argument
       opcji  -W.   Łańcuch  jest  najpierw rozbijany przy zastosowaniu
       znaków ze zmiennej specjalnej IFS jako separatorów.   Honorowane
       jest  cytowanie  powłoki.   Później każde ze słów interpretowane
       jest  z  wykorzystaniem  interpretacji  nawiasów,  interpretacji
       tyld, podstawiania parametrów, interpretacji zmiennych i wyrażeń
       arytmetycznych, podstawiania wyników poleceń i  rozwijania  nazw
       ścieżkowych, jak opisano powyżej w sekcji INTERPRETACJA.  Wyniki
       są rozbijane z zastosowaniem reguł opisanych  powyżej  w  sekcji
       Podział  na  słowa.   Wyniki interpretacji są dopasowywane prze-
       drostkiem z uzupełnianym słowem,  a  pasujące  słowa  stają  się
       możliwymi uzupełnieniami.

       Po  utworzeniu  tych  dopasowań,  wywoływana  jest  funkcja  lub
       polecenie  określone  opcjami  -F  i  -C.   Podczas  wywoływania
       polecenia czy funkcji, zmiennym COMP_LINE i COMP_POINT przypisy-
       wane są wartości,  jak  opisano  to  powyżej  w  sekcji  Zmienne
       powłoki.   Jeżeli  wywoływana jest funkcja powłoki, ustawiane są
       również zmienne COMP_WORDS i COMP_CWORD.  Kiedy wywoływana  jest
       funkcja  czy  polecenie,  pierwszym  argumentem  staje się nazwa
       polecenia, którego argumenty są uzupełniane,  drugim  argumentem
       --  uzupełniane  słowo,  a trzecim słowo poprzedzające w wierszu
       poleceń słowo aktualnie uzupełniane.  Nie jest wykonywane  żadne
       filtrowanie  utworzonych  uzupełnień  stosownie do uzupełnianego
       słowa. Funkcja czy polecenie mają pełną swobodę tworzenia  dopa-
       sowań.

       W  pierwszej  kolejności wywoływana jest funkcja określona przez
       -F.  Do tworzenia  dopasowań  może  ona  korzystać  z  dowolnych
       możliwości  powłoki,  łącznie z opisanym poniżej poleceniem wbu-
       dowanym compgen.  Funkcja musi umieścić możliwe  uzupełnienia  w
       zmiennej tablicowej COMPREPLY.

       Następnie,   wywoływane   jest  polecenie  określone  opcją  -C,
       działające  w  środowisku  równoważnym   podstawianiu   poleceń.
       Powinno  ono  wypisać  listę uzupełnień, po jednym w wierszu, na
       standardowe wyjście.  Jeżeli jest to  niezbędne,  do  utworzenia
       znaku nowej linii można użyć odwróconego ukośnika.

       Po  utworzeniu  wszelkich  możliwych  uzupełnień,  do  listy tej
       stosowany jest filtr  określony  opcją  -X.   Filtr  jest  takim
       wzorcem,  jak  używany przy rozwijaniu nazw ścieżkowych.  Znak &
       we wzorcu zastępowany jest tekstem uzupełnianego słowa.  Literał
       &  można otrzymać poprzedzając go odwrotnym ukośnikiem; odwrotny
       ukośnik zostanie usunięty przed  próbą  dopasowania.   Wszystkie
       uzupełnienia   pasujące   do   wzorca  będą  usunięte  z  listy.
       Początkowy ! daje  zaprzeczenie  wzorca.  Będą  wówczas  usuwane
       uzupełnienia nie pasujące do wzorca.

       Na  koniec,  do każdego elementu listy dodawane są przedrostek i
       przyrostek określone opcjami -P i -S, a wynik zwracany  jest  do
       kodu uzupełniania readline jako lista możliwych uzupełnień.

       Jeśli  poprzednio  zastosowane  działania  nie utworzyły żadnych
       dopasowań,  zaś  przy  definiowaniu  compspec  podano  opcję  -o
       dirnames   polecenia   complete,   to   dokonywana   jest  próba
       uzupełnienia nazwy katalogu.

       Domyślnie, jeżeli znaleziono compspec, to cokolwiek ono  utworzy
       zwracane   jest   do  kodu  uzupełniającego  jako  pełny  zestaw
       możliwych uzupełnień.  Nie są  próbowane  domyślne  uzupełnienia
       bash,  a  domyślne  uzupełnianie nazw ścieżkowych przez readline
       jest wyłączone.  Jeśli przy definiowaniu compspec  podano  opcję
       -o  default  polecenia  complete, to jeżeli compspec nie utworzy
       żadnych uzupełnień, wykonane zostanie  domyślne  uzupełnianie  z
       readline.

HISTORIA
       Jeżeli włączona jest opcja -o history wbudowanego polecenia set,
       to powłoka zapewnia dostęp do historii  poleceń,  listy  poleceń
       poprzednio wprowadzonych.  Wartość zmiennej HISTSIZE wykorzysty-
       wana jest jako liczba poleceń do zachowania na liście  historii.
       Zachowywany  jest  tekst  ostatnich  HISTSIZE poleceń (domyślnie
       500. Powłoka przechowuje każde polecenie na  liście  przed  pod-
       stawieniem  wartości  parametrów  i  zmiennych  (zobacz  powyżej
       INTERPRETACJA), ale przed wykonaniem interpretacji  historii,  w
       zależności  od  wartości zmiennych powłoki HISTIGNORE i HISTCON-
       TROL.

       Przy uruchamianiu, historia inicjowana jest  z  pliku  o  nazwie
       wskazanej  zmienną  HISTFILE (domyślnie ~/.bash_history). Plik o
       nazwie wziętej z wartości HISTFILE jest obcinany, jeśli zachodzi
       potrzeba,  by  zawierał  nie  więcej  wierszy  niż  określono to
       wartością  zmiennej  HISTFILESIZE.   Podczas   kończenia   pracy
       powłoki interaktywnej, ostatnie $HISTSIZE wierszy kopiowane jest
       z listy historii  do  $HISTFILE.   Jeżeli  włączona  jest  opcja
       powłoki histappend (zobacz opis shopt w sekcji WBUDOWANE POLECE-
       NIA POWŁOKI poniżej), to wiersze są  dodawane  na  koniec  pliku
       historii,  w  przeciwnym  razie  plik historii jest nadpisywany.
       Jeżeli HISTFILE nie jest ustawione lub plik  historii  nie  daje
       się  zapisać,  to  historia  nie jest zachowywana. Po zapisaniu,
       plik historii jest obcinany, by nie zawierał  więcej  niż  HIST-
       FILESIZE  wierszy.  Jeśli  HISTFILESIZE  nie  jest ustawione, to
       obcinanie nie jest wykonywane.

       Do edycji lub ponownego wykonania części  listy  historii  można
       korzystać z wbudowanego polecenia fc (zobacz WBUDOWANE POLECENIA
       POWŁOKI poniżej).  Wbudowanego polecenia history można używać do
       wyświetlania  lub  zmiany  listy  historii i manipulacji plikiem
       historii.  Podczas posługiwania się edycją  wiersza  poleceń,  w
       każdym z trybów edycji umożliwiających dostęp do listy historii,
       dostępne są polecenia przeszukiwania.

       Powłoka  umożliwia  kontrolę  nad  tym,   jakie   polecenia   są
       zachowywane  na  liście.   Można  ustawić  zmienne HISTCONTROL i
       HISTIGNORE, co spowoduje, że  powłoka  będzie  zachowywać  tylko
       podzbiór  wprowadzonych  poleceń.  Opcja powłoki cmdhist, jeżeli
       jest włączona, powoduje, że  powłoka  będzie  usiłować  zachować
       każdy wiersz polecenia wielowierszowego w tej samej pozycji his-
       torii, dodając, gdzie jest to niezbędne, średniki,  by  zachować
       poprawność  składni.  Opcja powłoki lithist powoduje, że powłoka
       będzie zachowywać polecenia z  osadzonymi  znakami  nowej  linii
       zamiast  średników.  Zobacz  opis  wbudowanego  shopt poniżej, w
       sekcji WBUDOWANE POLECENIA POWŁOKI, gdzie znajdziesz  informacje
       o ustawianiu i kasowaniu opcji powłoki.

INTERPRETACJA HISTORII
       Powłoka  obsługuje  funkcję  interpretacji  historii, podobną do
       interpretacji  historii  w  csh.   Ta  sekcja  opisuje  dostępne
       możliwości  składni.  Funkcja  ta  jest  domyślnie  włączona dla
       powłok interaktywnych i może być wyłączona przy pomocy opcji  +H
       wbudowanego  polecenia  set  (zobacz poniżej WBUDOWANE POLECENIA
       POWŁOKI).   Powłoki  nie-interaktywne  domyślnie  nie   wykonują
       interpretacji historii.

       Interpretacja historii wprowadza słowa z listy historii do stru-
       mienia wejściowego, ułatwiając powtarzanie poleceń  lub  popraw-
       ianie szybkie błędów w poprzednich poleceniach.

       Interpretacja   historii  przeprowadzana  jest  bezpośrednio  po
       przeczytaniu pełnego wiersza,  przed  jego  podziałem  na  słowa
       przez  powłokę.   Odbywa  się  w  dwu  częściach.  Pierwszą jest
       określenie, który wiersz z listy historii ma zostać  użyty  pod-
       czas  podstawiania.   Drugą stanowi wybór części tego wiersza do
       włączenia w bieżący.  Wybrany z historii wiersz jest  zdarzeniem
       (event),  a  jego  części  na których wykonywane są działania są
       słowami.   Dostępne  są  różne  modyfikatory  do   manipulowania
       wybranymi  słowami.   Wiersz  rozbijany  jest na słowa w ten sam
       sposób jak podczas odczytu wejścia,  tak  że  kilka  słów  sepa-
       rowanych  metaznakami ujętych w cudzysłowy traktowanych jest jak
       jedno słowo.  Interpretacja historii wprowadzana  są  obecnością
       znaku  rozwijającego historię, którym domyślnie jest !.  Cytować
       ten znak mogą wyłącznie odwrotny ukośnik (\) i  pojedyncze  cud-
       zysłowy.

       Kilka opcji powłoki ustawianych przy pomocy shopt może służyć do
       śledzenia  działania  interpretacji  historii.    Jeżeli   opcja
       histverify powłoki jest włączona (zobacz opis wbudowanego shopt)
       i używane jest readline, to podstawienia historii nie są natych-
       miast  przesyłane  do  analizatora  składni  (parsera)  powłoki.
       Zamiast tego, zinterpretowany wiersz jest ponownie  ładowany  do
       bufora  edycyjnego  readline w celu dalszej modyfikacji.  Jeżeli
       wykorzystywane jest readline i włączona jest  opcja  histreedit,
       to  zakończone  niepowodzeniem  podstawienie  historii  zostanie
       ponownie załadowane do bufora edycyjnego readline w celu popraw-
       ienia.   Opcją  -p  wbudowanego polecenia history można posłużyć
       się do oglądnięcia, co zrobi interpretacja  historii  przed  jej
       zastosowaniem.   Opcji  -s  wbudowanego  polecenia history można
       użyć w celu dodania poleceń na koniec listy historii bez  fakty-
       cznego  ich  wykonania,  tak  że  będą  dostępne  dla następnych
       przywołań.

       Powłoka pozwala  na  kontrolowanie  różnych  znaków  stosowanych
       przez  mechanizm  interpretacji  historii (zobacz opis histchars
       powyżej, w sekcji Zmienne powłoki).

   Desygnatory zdarzeń (Event Designators)
       Desygnator zdarzenia jest odwołaniem do pozycji wiersza  poleceń
       na liście historii.

       !      Rozpoczyna  podstawianie  historii, z wyjątkiem sytuacji,
              gdy występuje po nim odstęp, znak nowej linii, = lub (.
       !n     Wskazuje na n-ty wiersz poleceń.
       !-n    Wskazuje na wiersz poleceń bieżący minus n.
       !!     Wskazuje na poprzednie polecenie. jest to synonim  `!-1'.
       !łańcuch
              Wskazuje  na  ostatnie  poleceniem  rozpoczynające się od
              łańcucha.
       !?łańcuch[?]
              Wskazuje  na  ostatnie  polecenie  zawierające   łańcuch.
              Kończące  ?  można pominąć jeśli bezpośrednio po łańcuchu
              występuje znak nowej linii.
       ^łańcuch1^łańcuch2^
              Szybkie  podstawianie.   Powtarza   ostatnie   polecenie,
              wymieniając    łańcuch1    na    łańcuch2.     Rónoważnik
              ,,!!:s/łańcuch1/łańcuch/'' (zobacz poniżej Modyfikatory).
       !#     Cały wiersz poleceń wpisany do tego momentu.

   Desygnatory słów (Word Designators)
       Desygnatory słów służą do wybierania ze zdarzenia żądanych słów.
       Dwukropek : oddziela określenie zdarzenia od desygnatora  słowa.
       Może  być  pominięty jeśli desygnator słowa rozpoczyna się od ^,
       $, *, - lub %.  Słowa numerowane są od  początku  wiersza,  przy
       czym  pierwsze  ma  numer  0  (zero).   Słowa  są  wstawiane  do
       bieżącego wiersza, rozdzielane pojedynczymi spacjami.

       0 (zero)
              Słowo zerowe. Dla powłoki jest to słowo polecenia.
       n      n-te słowo.
       ^      Pierwszy argument. To znaczy, słowo 1.
       $      Ostatni argument.
       %      Słowo dopasowane przez ostatnie wyszukanie `?łańcuch?'.
       x-y    Zakres słów; `-y' jest skróconym `0-y'.
       *      Wszystkie słowa  prócz  zerowego.  jest  to  synonim  dla
              `1-$'.   Nie  jest błędem użycie * jeśli w zdarzeniu jest
              tylko jedno słowo; w tym przypadku zwracany jest  łańcuch
              pusty.
       x*     Skrót od x-$.
       x-     Skrót  od x-$ podobnie jak x*, ale pomija ostatnie słowo.

       jeśli desygnator  słowa  podano  bez  określenia  zdarzenia,  za
       zdarzenie przyjmowane jest poprzednie polecenie.

   Modyfikatory
       Po  opcjonalnym  desygnatorze  słowa  może pojawić się sekwencja
       jednego lub więcej poniższych modyfikatorów,  każdy  poprzedzony
       dwukropkiem `:'.

       h      Usuwa  końcową  składową nazwy pliku, pozostawiając tylko
              początek.
       t      Usuwa  wszystkie   początkowe   składowe   nazwy   pliku,
              pozostawiając koniec.
       r      Usuwa  kończący  przyrostek  postaci  .xxx, pozostawiając
              główną część nazwy (basename).
       e      Usuwa wszystko prócz końcowego przyrostka.
       p      Wypisuje nowe polecenie, ale go nie wykonuje.
       q      Cytuje podstawiane słowa, zabezpieczając je przed dalszym
              podstawianiem.
       x      Cytuje  podstawiane  słowa  jak q, ale rozbija na słowa w
              miejscach odstępów i znaków nowej linii.
       s/stary/nowy/
              Zastępuje nowym pierwsze wystąpienie  starego  w  wierszu
              zdarzenia.   Zamiast   /   może   zostać   użyty  dowolny
              ogranicznik.  Końcowy ogranicznik jest opcjonalny  jeżeli
              jest  ostatnim  znakiem wiersza zdarzenia. Separator może
              być cytowany w nowym i starym  przy  pomocy  pojedynczego
              odwrotnego  ukośnika.  Jeżeli  w  nowym pojawia się &, to
              jest zastępowany  starym.   Pojedynczy  odwrotny  ukośnik
              będzie  cytował  &. Jeżeli stary jest pusty, to ustawiany
              jest na ostatni podstawiany stary  lub,  jeśli  nie  było
              poprzednich   podstawień   historii,  ostatni  łańcuch  w
              wyszukiwaniu !?łańcuch[?].
       &      Powtarza poprzednie podstawienie.
       g      Powoduje, że zmiany zostaną zastosowane do całego wiersza
              zdarzenia.     Używany   w   połączeniu   z   `:s'   (np.
              `:gs/old/new/') lub `:&'. Jeśli użyty z `:s', to  zamiast
              / można posłużyć się dowolnym separatorem, a ostatni sep-
              arator jest opcjonalny jeżeli jest ostatnim znakiem wier-
              sza zdarzenia.

WBUDOWANE POLECENIA POWŁOKI
       Jeśli  nie podano inaczej, każde z poleceń wbudowanych opisanych
       w niniejszej sekcji jako akceptujące opcje poprzedzone -  akcep-
       tuje również symbol -- określający koniec opcji.
       : [argumenty]
              Bez efektów; polecenie to nie robi niczego poza interpre-
              tacją  argumentów  i  wykonaniem  ewentualnych   podanych
              przekierowań. Zwracany jest zerowy kod zakończenia.

        .  plik [argumenty]
       source plik [argumenty]
              Odczytuje i wykonuje polecenia z zadanego pliku w aktual-
              nym środowisku powłoki i zwraca  kod  zakończenia  ostat-
              niego  wykonanego  polecenia  z tego pliku.  Jeżeli nazwa
              pliku nie zawiera ukośnika, to do znalezienia katalogu go
              zawierającego  używana  jest zmienna PATH.  Plik poszuki-
              wany w PATH nie musi być  wykonywalny.   Jeśli  bash  nie
              jest  w trybie posix, wówczas jeżeli nie znaleziono pliku
              w PATH, to przeszukiwany jest katalog bieżący.  Jeśli  we
              wbudowanym  poleceniu  shopt  wyłączona  jest opcja sour-
              cepath, to PATH nie  jest  przeszukiwane.   jeśli  podano
              jakieś  argumenty,  to  stają  się  one parametrami pozy-
              cyjnymi podczas wykonywania  pliku.  W  przeciwnym  razie
              argumenty pozycyjne pozostają bez zmian.  Kod zakończenia
              jest kodem ostatniego zakończonego przez skrypt polecenia
              (0  jeśli  nie  wykowano  żadnego  polecenia),  a fałszem
              jeżeli nie znaleziono pliku lub nie można go odczytać.

       alias [-p] [nazwa[=wartość] ...]
              Alias bez argumentów bądź z opcją -p wypisuje na standar-
              dowym    wyjściu    listę   aliasów   w   postaci   alias
              nazwa=wartość.   Jeśli  nie  dostarczono  argumenty,   to
              definiowany  jest  alias  (synonim) dla każdej nazwy, dla
              której podano  wartość.   Początkowa  spacja  w  wartości
              powoduje,  że podczas interpretacji aliasu następne słowo
              będzie sprawdzane na podstawianie  aliasów.   Dla  każdej
              nazwy z listy argumentów, dla której nie podano wartości,
              wypisywana jest nazwa i  wartość  aliasu.   Alias  zwraca
              prawdę,  chyba  że  podano  nazwę,  dla której nie został
              zdefiniowany żaden alias.

       bg [spec_zad]
              Wznawia w tle  zawieszone  zadanie  spec_zad,  tak  jakby
              zostało   ono   uruchomione  z  &.   Jeśli  spec_zad  nie
              występuje, to używane  jest  bieżące  zadanie,  określone
              tak, jak je pojmuje powłoka.  bg spec_zad zwraca 0, chyba
              że uruchomiono je przy  wyłączonej  kontroli  zadań  (job
              control) lub uruchomiono z włączoną kontrolą zadań, jeśli
              nie znaleziono  spec_zad  lub  uruchomiono  bez  kontroli
              zadań.

       bind [-m keymap] [-lpsvPSV]
       bind [-m keymap] [-q funkcja] [-u funkcja] [-r sekw_klaw]
       bind [-m keymap] -f plik
       bind [-m keymap] -x sekw_klaw:polec_powłoki
       bind [-m keymap] sekw_klaw:nazwa_funkcji
              Wyświetla  bieżące  ustawienia przypisań (bindings) klaw-
              iszy i funkcji readline lub przypisuje sekwencję klawiszy
              to  funkcji  lub makra readline.  Składnia tych przypisań
              jest identyczna jak dla .inputrc, ale każde  z  przypisań
              musi   być   przesłane   jako   osobny   argument;   np.,
              '"\C-x\C-r": re-read-init-file'. Opcje, jeśli je  podano,
              mają następujące znaczenie:
              -m keymap
                     Wykorzystuje  keymap jako mapę klawiszy, do której
                     mają być zastosowane następne przypisania.  Akcep-
                     towanymi    nazwami   map   klawiszy   są   emacs,
                     emacs-standard,   emacs-meta,   emacs-ctlx,    vi,
                     vi-move,  vi-command  i  vi-insert.  vi równoważne
                     jest vi-command; emacs jest równoważne emacs-stan-
                     dard.
              -l     Podaje nazwy wszystkich funkcji readline.
              -p     Wyświetla  nazwy  funkcji  i  przypisania  w  taki
                     sposób, że mogą być ponownie odczytane.
              -P     Podaje bieżące przypisania i nazwy  funkcji  read-
                     line.
              -v     Wyświetla  nazwy  i  wartości zmiennych readline w
                     taki sposób, że mogą być ponownie odczytane.
              -V     Podaje bieżące nazwy i  wartości  zmiennych  read-
                     line.
              -s     Wyświetla  sekwencje  klawiszy readline przypisane
                     do makr i  łańcuchy  jakie  one  wysyłają  w  taki
                     sposób, że mogą być ponownie odczytane.
              -S     Wyświetla  sekwencje  klawiszy readline przypisane
                     do makr i łańcuchy jakie one wysyłają.
              -f plik
                     Czyta przypisania klawiszy z pliku.
              -q funkcja
                     Podaje, które klawisze wywołują podaną funkcję.
              -u funkcja
                     Odwołuje przypisania  wszystkich  klawiszy  przyp-
                     isanych do danej funkcji.
              -r sekw_klaw
                     Usuwa  bieżące przypisania dla sekwencji klawiszy.
              -x sekw_klaw:polec_powłoki
                     Powoduje,  że  za  każdym  naciśnięciem  sekwencji
                     klawiszy zostanie wykonane polecenie powłoki.

              Zwracana  jest  wartość  0, chyba że podano nierozpoznaną
              opcję lub pojawił się błąd.

       break [n]
              Opuszcza pętlę for,  while,  until  lub  select.   Jeżeli
              podano  n,  przerywa działanie do n-tego poziomu.  n musi
              być >= 1. Jeżeli n jest większe  od  liczby  obejmujących
              polecenie  pętli,  to  kończone  są  wszystkie obejmujące
              pętle. Wartością zwracaną jest 0, chyba  że  powłoka  nie
              wykonuje pętli podczas wykonania break.

       builtin wbudowane [argumenty]
              Wykonuje  zadane polecenie wbudowane powłoki, przesyłając
              mu argumentyizwracajegokodzakończenia.  Przydatne podczas
              definiowania  funkcji  o  nazwie  tożsamej  z  nazwą wbu-
              dowanego  polecenia  powłoki,  zachowując  funkcjonalność
              polecenia  wbudowanego  wewnątrz  funkcji.   Wbudowane cd
              jest  powszechnie  redefiniowane  w  ten  sposób.   Kodem
              zakończenia  jest  fałsz  jeśli  wbudowane  nie jest wbu-
              dowanym poleceniem powłoki.

       cd [-LP] [katalog]
              Zmienia bieżący katalog roboczy na dir. Zmienna HOME jest
              domyślnym  katalogiem.   Zmienna CDPATH definiuje ścieżkę
              przeszukiwań dla katalogu zawierającego katalog.   Alter-
              natywne  nazwy katalogów w CDPATH rozdzielane są dwukrop-
              kiem (:)> Pusta nazwa katalogu w CDPATH jest  tym  samym,
              co  katalog bieżący, tj. ,,.''. Jeżeli katalog rozpoczyna
              się ukośnikiem (/), to CDPATH nie jest używane. Opcja  -P
              nakazuje  użycie  fizycznej  struktury  katalogów zamiast
              podążania za dowiązaniami symbolicznymi (zobacz też opcja
              -P wbudowanego polecenia set); Opcja -L wymusza podążanie
              za   dowiązaniami   symbolicznymi.    Argument   -   jest
              równoważny $OLDPWD.  Wartością zwracaną jest prawda jeśli
              pomyślnie  zmieniono  katalog;  w  przeciwnym   przypadku
              fałsz.

       command [-pVv] polecenie [arg ...]
              Uruchamia  polecenie  z  argumentami  zakazując  zwykłego
              wyszukiwania  funkcji  przez  powłokę.    Wykonywane   są
              wyłącznie  polecenia  wbudowane  i polecenia znalezione w
              PATH.  Jeżeli podano  opcję  -p,  wyszukiwanie  polecenia
              wykonywane jest przy użyciu domyślnej PATH, która gwaran-
              tuje  znalezienie  wszystkich   standardowych   narzędzi.
              Jeśli  użyto  albo  opcji  -V albo -v, to wypisywany jest
              opis polecenia.  Opcja -v powoduje, że zostanie  wyświet-
              lone  pojedyncze  słowo  wskazujące  polecenie  lub nazwę
              pliku, użyte do  wywołania  polecenia;  opcja  -V  tworzy
              bardziej  rozgadany opis.  Jeżeli podano opcję -V lub -v,
              to kodem zakończenia jest 0  gdy  odnaleziono  polecenie,
              zaś  1  gdy  nie.  Jeśli nie podano żadnej z tych opcji i
              pojawił się błąd lub nie można znależć polecenia, to  kod
              zakończenia   wynosi  127.  W  przeciwnym  wypadku  kodem
              zakończenia  wbudowanego  polecenia  command   jest   kod
              zakończenia polecenia.

       compgen [opcja] [słowo]
              Tworzy możliwe dopasowania uzupełnień dla słowa zgodnie z
              opcjami, które mogą być dowolnymi z  opcji  akceptowanych
              przez  wbudowane polecenie complete, z wyjątkiem -p i -r,
              i wypisuje  dopasowania  na  standardowe  wyjście.   Przy
              stosowaniu  opcji -F lub -C, różne zmienne powłoki ustaw-
              iane przez usługi programowalnego  uzupełniania,  gdy  są
              dostępne, nie będą mieć użytecznych wartości.

              Dopasowania  będą  tworzone  w  ten sam sposób, jakby kod
              uzupełniania programowalnego tworzył je wprost ze  specy-
              fikacji  uzupełniania  z  tymi  samymi  flagami.   Jeżeli
              podano   słowo,   to   wyświetlone   zostaną    wyłącznie
              uzupełnienia doń pasujące.

              Wartością   zwracaną   jest   prawda,   chyba  że  podano
              niepoprawną opcję lub nie zostały utworzone  żadne  dopa-
              sowania.

       complete  [-abcdefgjkvu]  [-o  opcjacomp] [-A akcja] [-G wzglob]
       [-W listasłów] [-P przedrostek] [-S przyrostek]
              [-X  wzfiltr]  [-F  funkcja]  [-C polecenie] nazwa [nazwa
              ...]
       complete -pr [nazwa ...]
              Określa, w jaki sposób  będą  uzupełniane  argumenty  dla
              każdej  z  nazw.   Jeżeli podano opcję -p, lub nie podano
              żadnych opcji, to wypisywane są  istniejące  specyfikacje
              uzupełniania  -  w  sposób,  który pozwala na ich ponowne
              wykorzystanie jako wejścia.  Opcja -r usuwa  specyfikację
              uzupełniania  dla  każdej  z  nazw,  lub  jeśli  nazw nie
              podano, wszystkie specyfikacje uzupełniania.

              Proces stosowania tych  specyfikacji  uzupełnień  podczas
              prób  uzupełniania  słów  omówiono  powyżej w sekcji Pro-
              gramowalne uzupełnianie.

              Pozostałe opcje, jeśli  je  podano,  mają  niżej  opisane
              znaczenie.   Argumenty  opcji  -G,  -W  i -X (i, jeśli to
              niezbędne, -P i -S)  powinny  być  cytowane  dla  ochrony
              przed  interpretacją jaka wystąpi zanim zostanie wywołane
              polecenie complete.
              -o opcjacomp
                      Wartość   opcjacomp   reguluje   kilka   aspektów
                      zachowania   się   compspec  wykraczających  poza
                      zwykłe tworzenie uzupełnień.  opcjacomp przyjmuje
                      jedną z wartości:
                      default Stosuje  domyślne  uzupełnianie  readline
                              jeśli compspec nie utworzy żadnych  dopa-
                              sowań.
                      dirnames
                              Wykonuje   uzupełnianie   nazw  katalogów
                              jeśli compspec nie utworzy żadnych  dopa-
                              sowań.
                      filenames
                              Powiadamia  readline,  że compspec tworzy
                              nazwy   plików,   zatem   może    wykonać
                              przetwarzanie specyficzne dla takich nazw
                              (jak dodanie ukośnika do  nazw  katalogów
                              czy  usunięcie  końcowych spacji). Zapro-
                              jektowane  do  stosowania   z   funkcjami
                              powłoki.
              -A akcja
                      akcja  może  być  jedną  z poniższych, tworzących
                      listę możliwych dopasowań:
                      alias   Nazwy aliasów. Można też podać jako -a.
                      arrayvar
                              Nazwy zmiennych tablicowych.
                      binding Nazwy przypisań klawiszy readline.
                      builtin Nazwy wbudowanych poleceń powłoki.  Można
                              też podać jako -b.
                      command Nazwy poleceń. Można też podać jako -c.
                      directory
                              Nazwy katalogów. Można też podać jako -d.
                      disabled
                              Nazwy  wyłączonych  poleceń   wbudowanych
                              powłoki.
                      enabled Nazwy   włączonych   poleceń  wbudowanych
                              powłoki.
                      export  Nazwy wyeksportowanych zmiennych powłoki.
                              Można też podać jako -e.
                      file    Nazwy plików. Można też podać jako -f.
                      function
                              Nazwy funkcji powłoki.
                      group   Nazwy grup. Można też podać jako -g.
                      helptopic
                              Tematy pomocy akceptowane przez wbudowane
                              polecenie help.
                      hostname
                              Nazwy hostów, pobrane z pliku określonego
                              przez zmienną powłoki HOSTFILE.
                      job     Nazwy    zadań,   jeżeli   aktywne   jest
                              sterowanie  zadaniami.  Można  też  podać
                              jako -j.
                      keyword Zastrzeżone   słowa  powłoki.  Można  też
                              podać jako -k.
                      running Nazwy działających zadań, jeżeli  aktywne
                              jest sterowanie zadaniami.
                      setopt  Dozwolone  argumenty  opcji  -o polecenia
                              wbudowanego set.
                      shopt   Nazwy opcji powłoki, takie, jakie  akcep-
                              tuje polecenie wbudowane shopt.
                      signal  Nazwy sygnałów.
                      stopped Nazwy  zatrzymanych  zadań, jeśli aktywne
                              jest sterowanie zadaniami.
                      user    Nazwy użytkowników. Można też podać  jako
                              -u.
                      variable
                              Nazwy wszystkich zmiennych powłoki. Można
                              też podać jako -v.
              -G wzglob
                      Wzorzec rozwijania nazw plików wzglob jest rozwi-
                      jany, tworząc listę możliwych uzupełnień.
              -W listasłów
                      listasłów jest rozbijana przy zastosowaniu znaków
                      ze zmiennej specjalnej IFS  jako  separatorów,  a
                      każde  ze  słów  wynikowych  jest interpretowane.
                      Możliwe   uzupełnienia   są   elementami    listy
                      wynikowej, pasującymi do uzupełnianego słowa.
              -C polecenie
                      polecenie   wykonywane  jest  w  środowisku  pod-
                      powłoki, a jego wyjście używane jest jako możliwe
                      uzupełnienia.
              -F funkcja
                      Funkcja   powłoki   funkcja   wykonywana  jest  w
                      bieżącym środowisku powłoki.  Po jej zakończeniu,
                      możliwe uzupełnienia pobierane są z wartości zmi-
                      ennej tablicowej COMPREPLY.
              -X wzfiltr
                      wzfiltr jest wzorcem używanym do rozwijania  nazw
                      plików.    Stosowany   jest  do  listy  możliwych
                      uzupełnień  utworzonej  przez  poprzedzające   go
                      opcje  i  argumenty,  a  każde  pasujące do niego
                      uzupełnienie jest usuwane z listy.  Początkowy  !
                      w  wzfiltr  powoduje  negację  wzorca; usuwane są
                      wówczas uzupełnienia nie pasujące do wzfiltr.
              -P przedrostek
                      Po  zastosowaniu  wszystkich  innych   opcji   na
                      początku   każdego  możliwego  uzupełnienia  jest
                      dodawany przedrostek.
              -S przyrostek
                      Po zastosowaniu wszystkich innych opcji na  końcu
                      każdego  możliwego  uzupełnienia  jest  dołączany
                      przyrostek.

              Wartością  zwracana  jest   prawda,   chyba   że   podano
              niepoprawną  opcję, podano bez argumentu nazwa opcję inną
              niż -p lub -r, usiłowano usunąć specyfikację uzupełniania
              dla  nazwy,  dla  której nie istnieje żadna specyfikacja,
              albo  też  podczas  dodawania  specyfikacji  uzupełniania
              wystąpił błąd.

       continue [n]
              Wznawia  następną  iterację  obejmującej  je  pętli  for,
              while, until lub select.  Jeżeli podano n,  wznawia  n-tą
              obejmującą pętlę.  n musi być >= 1. Jeżeli n jest większe
              niż liczba obejmujących pętli, to wznawiana jest ostatnia
              z pętli (,,najwyższa''). Wartość zwracana wynosi 0, chyba
              że powłoka nie wykonuje pętli  podczas  wykonywania  con-
              tinue.

       declare [-afFirx] [-p] [nazwa[=wartość]]
       typeset [-afFirx] [-p] [nazwa[=wartość]]
              Deklaruje  zmienne  i/lub  nadaje im atrybuty.  Jeśli nie
              podano żadnych nazw, wyświetla wartości zmiennych.  Opcja
              -p  będzie  wyświetlać  atrybuty i wartości każdej nazwy.
              Gdy używane  jest  -p,  ignorowane  są  dodatkowe  opcje.
              Opcja -F zabrania wyświetlania definicji funkcji; wypisy-
              wane są tylko nazwy i atrybuty funkcji.   Opcja  -F  imp-
              likuje  -f.   Poniższych opcji można użyć do ograniczenia
              wyników do zmiennych o określonym atrybucie lub do  nada-
              nia zmiennym atrybutów:
              -a     Każda   z  nazw  jest  zmienną  tablicową  (zobacz
                     Tablice powyżej).
              -f     Używa wyłącznie nazw funkcji.
              -i     Zmienna jest traktowana jak całkowita; gdy  zmien-
                     nej  jest  przypisywana  wartość,  wykonywana jest
                     interpretacja   wyrażeń   arytmetycznych   (zobacz
                     OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH).
              -r     Powoduje, że dane nazwy stają się tylko-do-odczytu
                     (readonly).   Nazwom  tym  nie   można   przypisać
                     wartości  następnymi poleceniami przypisania.  Nie
                     można też ich usunąć za pomocą unset.
              -x     Zaznacza nazwę do wyeksportowania przez środowisko
                     do kolejnych poleceń.

              Użycie `+' zamiast `-' wyłącza atrybut, z wyjątkiem tego,
              że +a nie może być używane do niszczenia zmiennej  tabli-
              cowej.  Użyte  w funkcji, powodują, że każda z nazw staje
              się lokalna, jak przy pomocy polecenia  local.   Zwracana
              jest  wartość  0,  chyba  że napotkano niepoprawną opcję,
              próbę zdefiniowania funkcji przy pomocy  ,,-f  foo=bar'',
              przypisania   wartości   zmiennej  readonly,  przypisania
              wartości zmiennej tablicowej bez użycia składni przypisa-
              nia  złożonego (zobacz Tablice powyżej), jedna z nazw nie
              jest poprawną nazwą zmiennej powłoki, usiłowano  wyłączyć
              status  readonly  dla zmiennej tylko do odczytu, wyłączyć
              status tablicy dla  zmiennej  tablicowej  albo  próbowano
              wyświetlić nieistniejącą funkcję przy pomocy -f.

       dirs [-clpv] [+n] [-n]
              Bez  opcji  wyświetla listę aktualnie zapamiętanych kata-
              logów.  Domyślnie  wyświetlana  jest  ona  w  pojedynczym
              wierszu,  z  nazwami  katalogów  rozdzielonymi  spacjami.
              Katalogi dodawane są do listy poleceniem pushd  polecenie
              popd usuwa pozycje z listy.
              +n     Wyświetla  ntą  pozycję  licząc od lewej na liście
                     pokazywanej przez dirs przy wywołaniu  bez  opcji;
                     początkową jest zero.
              -n     Wyświetla  ntą  pozycję licząc od prawej na liście
                     pokazywanej przez dirs przy wywołaniu  bez  opcji;
                     początkową jest zero.
              -c     Czyści  stos  katalogów  usuwając  wszystkie  jego
                     pozycje.
              -l     Tworzy dłuższy listing; domyślnie format  listingu
                     posługuje   się   tyldą   do  oznaczania  katalogu
                     domowego.
              -p     Wypisuje  stos  katalogów  po  jednej  pozycji  na
                     wiersz.
              -v     Wypisuje  stos  katalogów  po  jednej  pozycji  na
                     wiersz, poprzedzając  każdą  z  nich  jej  pozycją
                     (indeksem) w stosie.

              Wartością  zwracaną jest 0, chyba że podano nieprawidłową
              opcję lub n wskazuje poza koniec stosu katalogów.

       disown [-ar] [-h] [zadanie ...]
              Bez opcji, każde z podanych zadań usuwane jest z  tablicy
              zadań aktywnych.  Jeśli użyto opcji -h, każde zadanie nie
              jest usuwane z tablicy, ale jest jako  takie  zaznaczane,
              tak  że  do zadania nie jest wysyłany sygnał SIGHUP jeśli
              powłoka otrzymuje SIGHUP.  Jeśli nie podano zadania i nie
              użyto  ani  opcji  -a  ani  -r,  to  używane jest zadanie
              bieżące.   Jeżeli  podano  zadanie,  opcja   -a   oznacza
              usunięcie  lub zaznaczenie wszystkich zadań; opcja -r bez
              argumentu zadania ogranicza akcję do działających  zadań.
              Wartością  zwracaną  jest 0, chyba że zadanie nie określa
              poprawnego zadania.

       echo [-neE] [argument ...]
              Wyświetla  argumenty,  rozdzielone  spacjami,  zakończone
              znakiem  nowej  linii.  Kodem  zakończenia jest zawsze 0.
              Jeżeli podano -n, to  nie  jest  wysyłany  kończący  znak
              nowej  linii.   Jeżeli  podano  opcję  -e,  włączana jest
              interpretacja podanych niżej znaków specjalnych. Opcja -E
              wyłącza  interpretację  tych  znaków, nawet na systemach,
              gdzie są one domyślnie interpretowane.   Do  dynamicznego
              sprawdzania,  czy  echo  interpretuje domyślnie te znaki,
              czy nie, służy opcja powłoki xpg_echo.  echo  nie  inter-
              pretuje  --  jako oznaczenia końca opcji.  echo interpre-
              tuje następujące sekwencje specjalne:
              \a     dzwonek (alert)
              \b     backspace
              \c     pomiń kończący znak nowej linii
              \e     znak escape
              \f     wysuw strony (form feed)
              \n     znak nowej linii (new line)
              \r     powrót karetki (carriage return)
              \t     tabulacja pozioma (horizontal tab)
              \v     tabulacja pionowa (vertical tab)
              \\     odwrotny ukośnik (backslash)
              \nnn   ośmiobitowy znak, którego wartością jest  ósemkowa
                     liczba nnn (jedna do trzech cyfr)
              \xHH   ośmiobitowy  znak,  którego  wartością  jest szes-
                     nastkowa  liczba  nnn  (jedna   lub   dwie   cyfry
                     szesnastkowe)

       enable [-adnps] [-f plik] [nazwa ...]
              Włącza i wyłącza wbudowane polecenia powłoki.  Wyłączenie
              poleceń   wbudowanych   umożliwia   wykonanie   polecenia
              dyskowego  mającego  tę  samą  nazwę,  co  wbudowane, bez
              podawania jego pełnej nazwy ścieżkowej, mimo  iż  powłoka
              normalnie  szuka  poleceń  wbudowanych  przed poleceniami
              dyskowymi.  Jeżeli posłużono się opcją -n, wyłączana jest
              każda  z  nazw; w przeciwnym razie nazwy są włączone.  Na
              przykład, chcąc użyć pliku  binarnego  test  znalezionego
              przez  PATH  zamiast  wersji wbudowanej w powłokę, należy
              uruchomić  ,,enable  -n   test''.    Opcja   -f   oznacza
              załadowanie  nowego polecenia wbudowanego nazwa z obiektu
              dzielonego   (shared   object)   plik,    na    systemach
              obsługujących  dynamiczne  ładowanie.   Opcja  -d  usunie
              polecenie  wbudowane  załadowane  poprzednio  przez   -f.
              Jeżeli  nie  podano  żadnych  argumentów  nazwa lub jeśli
              podano opcję  -p,  wypisywana  jest  lista  poleceń  wbu-
              dowanych powłoki.  Bez innych argumentów opcyjnych, lista
              ta składa  się  ze  wszystkich  włączonych  poleceń  wbu-
              dowanych.  Jeśli podano -n, wypisywane są tylko wyłączone
              polecenia wbudowane.  Jeżeli podano -a, wypisywana  lista
              zawiera wszystkie polecenia wbudowane, ze wskazaniem przy
              każdym czy jest ono włączone czy też nie.  Jeżeli  podano
              -s,  wyjście  ograniczone  jest  do POSIXowych ,,specjal-
              nych'' poleceń wbudowanych.  Wartością zwracaną  jest  0,
              chyba że nazwa nie jest poleceniem wbudowanym powłoki lub
              wystąpił błąd podczas  ładowania  nowego  polecenia  wbu-
              dowanego z obiektu dzielonego.

       eval [argument ...]
              Argumenty  są  czytane  i łączone w pojedyncze polecenie.
              Polecenie to  jest  następnie  odczytywane  i  wykonywane
              przez  powłokę,  zaś  jego  kod zakończenia jest zwracany
              jako wartość eval.  Jeżeli nie na żadnych argumentów, lub
              wszystkie argumenty są puste, eval zwraca 0.

       exec [-cl] [-a nazwa] [polecenie [argumenty]]
              Jeżeli  podano  polecenie,  zastępuje  ono  powłokę.  Nie
              tworzony jest żaden nowy  proces.   Argumenty  stają  się
              argumentami  polecenia.  Jeśli podano opcję -l, umieszcza
              kreskę na początku  zerowego  argumentu  przesyłanego  do
              polecenia.   Tak  samo,  jak  robi to login(1).  Opcja -c
              powoduje,  że  polecenie  zostanie  wykonane   z   pustym
              środowiskiem.  Jeżeli  podano  -a,  powłoka  przesyła  do
              wykonywanego polecenia nazwę jako zerowy argument. Jeżeli
              polecenie  z jakiegoś powodu nie może zostać wykonane, to
              powłoka nie-interaktywna kończy pracę, chyba że  włączona
              jest  opcja  powłoki execfail, wówczas zwraca niepowodze-
              nie.  Powłoka  interaktywna  zwraca  niepowodzenie  jeśli
              plik nie może zostać wykonany.  Jeżeli nie podano polece-
              nia, przekierowania skutkują w bieżącej powłoce, a  kodem
              zakończenia  jest 0. W przypadku błędu przekierowania kod
              zakończenia wynosi 1.

       exit [n]
              Powoduje, że powłoka kończy pracę z kodem równym n. Jeśli
              pominięto  n, kodem zakończenia jest kod ostatniego wyko-
              nanego polecenia.  Przed końcem pracy powłoki  wykonywane
              jest przechwycenie sygnału EXIT.

       export [-fn] [nazwa[=słowo]] ...
       export -p
              Podane   nazwy  zaznaczane  są  do  automatycznego  wyek-
              sportowania   do   środowiska   następnych   wykonywanych
              poleceń.  Jeśli  podano opcję -f, to nazwy odnoszą się do
              funkcji.  Jeżeli  nie  podano  żadnych  nazw  lub  jeżeli
              podano  opcję  -p,  to  wypisywana  jest lista wszystkich
              eksportowanych w tej powłoce  nazw.   Opcja  -n  powoduje
              usunięcie   cechy  eksportowania  z  podanych  zmiennych.
              export zwraca zerowy kod zakończenia, chyba że  napotkano
              nieprawidłową opcję, jedna z nazw nie jest poprawną nazwą
              zmiennej powłoki lub podano -f z nazwą,  która  nie  jest
              funkcją.

       fc [-e nazwa_e] [-nlr] [pierwsze] [ostatnie]
       fc -s [wzorzec=zastąpienie] [polecenie]
              Polecenie   poprawiania   (Fix   Command).   W  pierwszej
              postaci, z listy historii wybierany jest  zakres  poleceń
              od  pierwszego  do  ostatniego.  Pierwsze i ostatnie mogą
              być podawane jako  łańcuch  (do  odnalezienia  ostatniego
              polecenia  rozpoczynającego  się  tym łańcuchem) lub jako
              liczba (indeks w liście  historii,  gdzie  liczba  ujemna
              używana  jest jako offset od numeru bieżącego polecenia),
              Jeżeli nie określono ostatniego, to jest ono ustawiane na
              bieżące  polecenie w przypadku listowania (tak że ,,fc -l
              -10'' wypisuje ostatnich 10  poleceń)  i  na  pierwsze  w
              pozostałych  przypadkach.   Jeżeli  nie  określono  pier-
              wszego, polecenia to jest  ono  ustawiane  na  poprzednie
              polecenie w przypadku edycji a na -16 przy listowaniu.

              Opcja  -n wstrzymuje wyświetlanie numerów poleceń podczas
              listowania.  Opcja -r odwraca kolejność poleceń.   Jeżeli
              podano  opcję  -l, to polecenia listowane są na standard-
              owym wyjściu. W przeciwnym razie dla pliku  zawierającego
              te polecenia wywoływany jest edytor podany przez nazwa_e.
              Jeżeli nie podano nazwa_e, używana jest wartość FCEDIT, a
              wartość  EDITOR  jeśli  nie ustawiono FCEDIT.  Jeżeli nie
              ustawiono żadnej z nich używany, jest vi  Po  zakończeniu
              edycji, wysyłane edytowane polecenia są wyświetlane przez
              echo i wykonywane.

              W drugiej postaci, polecenie jest ponownie wykonywane  po
              każdej  wymianie  wystąpienia  wzorca  przez zastąpienie.
              Przydatnym aliasem  do  wykorzystania  z  tą  formą  jest
              ,,r=fc  -s'', tak, że napisanie ,,r cc'' uruchamia ostat-
              nie polecenie rozpoczynające się od  ,,cc''  a  napisanie
              ,,r'' ponownie wykonuje ostatnie polecenie.

              Jeżeli   użyta  została  pierwsza  postać,  to  wartością
              zwracaną jest 0, chyba że napotkano  nieprawidłową  opcję
              lub  pierwszy  albo  ostatni  określają  wiersze historii
              spoza  zakresu.   Jeżeli  podano  opcję   -e,   wartością
              zwracaną jest wartość ostatniego wykonanego polecenia lub
              niepowodzenie jeśli pojawił się błąd  tymczasowego  pliku
              poleceń.  Jeżeli użyta została druga postać, to zwracanym
              kodem jest kod ponownie wykonanego  polecenia,  chyba  że
              polecenie  nie  określa  poprawnego  wiersza  poleceń  --
              wówczas fc zwraca porażkę.

       fg [zadanie]
              Wznawia zadanie na pierwszym planie i czyni  je  zadaniem
              bieżącym.    Jeżeli  nie  podano  zadania,  używane  jest
              bieżące zadanie w pojęciu  powłoki.   Wartością  zwracaną
              jest wartość polecenia umieszczonego na pierwszym planie,
              lub porażka jeżeli fb uruchomiono  przy  wyłączonej  kon-
              troli  zadań,  lub uruchomiono je przy włączonej kontroli
              zadań, ale zadanie nie określa prawidłowego  zadania  lub
              zadanie  określa  zadanie,  które zostało uruchomione bez
              kontroli zadań.

       getopts łańcuch_opcji nazwa [argumenty]
              getopts używane jest przez procedury powłoki  do  analizy
              parametrów  pozycyjnych.   łańcuch  opcji  zawiera  znaki
              opcji, jakie  mają  być  rozpoznawane;  jeżeli  po  znaku
              występuje  dwukropek,  to  oczekuje  się, że opcja będzie
              posiadać argument, który powinien być od niej  oddzielony
              białym znakiem.  Jako znaki opcji mogą wystąpić dwukropek
              i  znak  zapytania.   Przy   każdym   wywołaniu   getopts
              umieszcza   następną  opcję  w  zmiennej  powłoki  nazwa,
              inicjując nazwę jeśli  nie  istniała.  Indeks  następnego
              argumentu  do  przetwarzania  umieszczany jest w zmiennej
              OPTIND.  OPTIND inicjowany jest na 1 za każdym razem, gdy
              wywoływana  jest  powłoka  lub  skrypt powłoki. Gdy opcja
              wymaga argumentu, getopts umieszcza go w zmiennej OPTARG.
              Powłoka  nie  resetuje  OPTIND automatycznie; musi być on
              resetowany ręcznie pomiędzy wielokrotnymi odwołaniami  do
              getopts  w  tym samym wywołaniu powłoki, jeśli używany ma
              być nowy zestaw parametrów.

              Po napotkaniu końca opcji, getopts kończy pracę zwracając
              wartość większą od zera.  OPTIND ustawiane jest na indeks
              pierwszego argumentu nie będącego opcją, zaś nazwa ustaw-
              iana jest na ?.

              getopts  normalnie  analizuje  parametry  pozycyjne,  ale
              jeśli w argumentach, podano więcej argumentów, to getopts
              przetwarza je zamiast parametrów pozycyjnych.

              getopts  może zgłaszać błędy na dwa sposoby. Jeżeli pier-
              wszym znakiem łańcucha opcji jest dwukropek, to stosowane
              jest ciche (silent) zgłaszanie błędów. Przy zwykłej pracy
              komunikaty diagnostyczne wypisywane  są  przy  napotkaniu
              nieprawidłowych  opcji  lub brakujących argumentów opcji.
              Jeżeli zmienna OPTERR  ustawiona  jest  na  0,  nie  będą
              wyświetlane  żadne  komunikaty  błędów, nawet jeśli pier-
              wszym znakiem łańcucha opcji nie jest dwukropek.

              Przy napotkaniu nieprawidłowej opcji getopts umieszcza  ?
              w  nazwie  i, jeśli nie pracuje w trybie cichym, wypisuje
              komunikat błędu i kasuje OPTARG.  Jeżeli getopts  pracuje
              w  trybie  cichym,  to  znaleziony znak opcji umieszczany
              jest w OPTARG i nie jest wypisywany żaden komunikat diag-
              nostyczny.

              Jeśli  nie znaleziono wymaganego argumentu, a getopts nie
              pracuje w trybie cichym, w nazwa  umieszczany  jest  znak
              zapytania  (?),  kasowane  jest OPTARG i wyświetlany jest
              komunikat błędu.  Jeżeli getopts pracuje w trybie cichym,
              to  w  nazwie  umieszczany  jest  dwukropek (:), a OPTARG
              ustawiane jest na znaleziony znak opcji.

              getopts zwraca prawdę, jeśli znaleziono określoną lub nie
              określoną  opcję.   Zwraca  fałsz jeżeli napotkano koniec
              opcji lub pojawił się błąd.

       hash [-r] [-p plik] [-t] [nazwa]
              Dla każdej nazwy określana  i  zapamiętywana  jest  pełna
              nazwa  plikowa polecenia wyszukanego w katalogach $PATH .
              Jeżeli podano opcję -p, nie jest wykonywane  przeszukanie
              ścieżki,  a  plik  używane  jest  jako  pełna nazwa pliku
              polecenia.  Opcja -r powoduje, że powłoka zapomina wszys-
              tkie  zapamiętane  wcześniej miejsca.  Jeśli podano opcję
              -t, to wypisywana jest odpowiadająca nazwie  pełna  nazwa
              pliku.   Jeżeli  przy  więcej niż jednym argumencie nazwy
              podano -t, to przed każdą przechowywaną pełną nazwą  wyp-
              isywana  jest  nazwa.   Jeżeli  nie  podano żadnych argu-
              mentów, to wypisywana  jest  informacja  o  zapamiętanych
              poleceniach.   Kodem  zwracanym jest prawda, chyba że nie
              odnaleziono nazwy lub podano nieprawidłową opcję.

       help [-s] [wzorzec]
              Wyświetla pomocne informacje o  poleceniach  wbudowanych.
              Jeżeli  podano  wzorzec,  to  help daje szczegółową pomoc
              dotyczącą wszystkich  poleceń  pasujących  do  wzorca;  w
              przeciwnym  razie  wypisywana  jest  pomoc dla wszystkich
              poleceń  wbudowanych  i  struktur  sterujących   powłoki.
              Opcja  -s  ogranicza  wyświetlaną informację do krótkiego
              opisu składni.  Zwracany jest kod 0,  chyba  że  żadne  z
              poleceń nie pasuje do wzorca.

       history [n]
       history -c
       history -d offset
       history -anrw [plik]
       history -p arg [arg ...]
       history -s arg [arg ...]
              Bez  żadnych  opcji,  wyświetla  listę historii poleceń z
              numerami wierszy.  Wiersze ukazane z * zostały zmienione.
              Argument  n  pokazuje jedynie ostatnich n wierszy. Jeżeli
              podano plik, to używany jest on  jako  nazwa  pliku  his-
              torii;  jeśli  nie,  to  używana  jest  wartość HISTFILE.
              Opcje, jeżeli je podano, mają następujące znaczenie:
              -c Czyści listę historii usuwając wszystkie jej  pozycje.
              -d offset
                     Usuwa wpis historii z pozycji offset.
              -a     Dodaje  ,,nowe''  wiersze (wprowadzone od początku
                     bieżącej sesji bash) do pliku historii.
              -n     Wczytuje do bieżącej  listy  wiersze  jeszcze  nie
                     przeczytane   z  pliku  historii.  Są  to  wiersze
                     dołączone do pliku historii od chwili  rozpoczęcia
                     bieżącej sesji pracy bash.
              -r     Czyta zawartość pliku historii i posługuje się nią
                     jako bieżącą listą historii.
              -w     Zapisuje bieżącą listę  do  pliku  historii,  nad-
                     pisując jego zawartość.
              -p     Na zadanych argumentach wykonuje podstawianie his-
                     torii (history substitution). Wyświetla wyniki  na
                     standardowym  wyjściu.   Nie  zachowuje wyników na
                     liście.  Każdy z argumentów musi być cytowany,  by
                     wyłączyć normalną interpretację historii.
              -s     Zachowuje  argumenty na liście historii jako poje-
                     dynczą pozycję. Przed dodaniem argumentów z  listy
                     usuwane jest ostatnie polecenie.

              Wartością   zwracaną   jest   0,   chyba   że   napotkano
              nieprawidłową opcję lub podczas odczytu czy zapisu  pliku
              historii  pojawił  się  błąd, podano niepoprawny argument
              offset opcji -d, lub nie powiodła się interpretacja  his-
              torii podanej jako argument -p.

       jobs [-lnprs] [ zadanie ... ]
       jobs -x polecenie [ argumenty ... ]
              Pierwsza   postać  podaje  aktywne  zadania.  Opcje  mają
              następujące znaczenie:
              -l     Oprócz zwykłej  informacji  podaje  identyfikatory
                     procesów.
              -p     Listuje  tylko  ID  procesu  lidera grupy procesów
                     zadania.
              -n     Wyświetla wyłącznie informację o zadaniach,  które
                     zmieniły  status  od  chwili,  gdy  użytkownik był
                     ostatnio powiadamiany o ich statusie.
              -r     Ogranicz wyniki do zadań pracujących.
              -s     Ogranicz wyniki do zadań zatrzymanych.

              Jeżeli podano zadanie, wyniki ograniczane są do  informa-
              cji  o  tym  zadaniu.   Kodem  zwracanym jest 0, chyba że
              napotkano nieprawidłową opcję  lub  podano  nieprawidłowe
              zadanie.

              Jeżeli  podano opcję -x, to jobs zastępuje wszelkie zada-
              nia znalezione w poleceniu lub argumentach odpowiednim ID
              grupy  procesów,  wykonuje polecenie przesyłając mu argu-
              menty, i zwraca jego kod zakończenia.

       kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...
       kill -l [sigspec | exit_status]
              Wysyła sygnały określony przez sigspec lub signum do pro-
              cesu  określonego  przez  pid  lub jobspec.  sigspec jest
              albo  nazwą  sygnału,  jak  np.   SIGKILL  albo   numerem
              sygnału; signum jest numerem sygnału. Jeżeli sigspec jest
              nazwą sygnału, to może ona zostać podana z  przedrostkiem
              SIG  lub  bez niego.  Jeśli nie podano sigspec, to przyj-
              muje się  SIGTERM.   Opcja  -l  listuje  nazwy  sygnałów.
              Jeżeli  przy podanym -l użyto jakichś argumentów, to lis-
              towane są sygnały odpowiadające tym argumentom,  a  kodem
              zwracanym  jest  0.   Argument  exit_status opcji -l jest
              liczbą określającą numer sygnału lub kod zakończenia pro-
              cesu przerwanego przez sygnał.  kill zwraca prawdę, jeśli
              przynajmniej jeden z sygnałów został pomyślnie przesłany,
              lub   fałsz,   jeśli   pojawił  się  błąd  lub  napotkano
              niepoprawną opcję.

       let arg [arg ...]
              Każdy argument jest wyrażeniem  arytmetycznym,  jakie  ma
              zostać  zinterpretowane  (zobacz OBLICZANIE WYRAŻEŃ ARYT-
              METYCZNYCH).  Jeżeli ostatni z nich  interpretowany  jest
              jako zero, to let zwraca 1; w przeciwnym wypadku zwracane
              jest 0.

       local [opcja] [nazwa[=wartość] ...]
              Dla każdego argumentu tworzona  jest  zmienna  lokalna  o
              nazwie nazwa i jest jej przypisywana wartość.  Opcją może
              być każda z opcji akceptowanych przez declare.  Gdy local
              używane jest wewnątrz funkcji, powoduje, że zmienna nazwa
              ma zasięg widzialności ograniczony do tej funkcji  i  jej
              potomków.   Bez  operandów,  local wysyła listę zmiennych
              lokalnych na  standardowe  wyjście.  Błędem  jest  użycie
              local  poza funkcją.  Zwracany jest kod 0, chyba że local
              zostanie użyte  poza  funkcją  lub  podano  nieprawidłową
              nazwę, albo nazwa jest zmienną tylko do odczytu.

       logout Kończy pracę powłoki zgłoszeniowej.

       popd [-n] [+n] [-n]
              Usuwa  pozycje  ze stosu katalogów. Bez argumentów, usuwa
              katalog z wierzchołka stosu i wykonuje cd do nowego kata-
              logu  na  wierzchołku.   Argumenty, jeśli występują, mają
              następujące znaczenie:
              +n     Usuwa ntą pozycję, licząc od lewej, listy  pokazy-
                     wanej  przez dirs, zaczynając od zera. Na przykład
                     ,,popd +0'' usuwa pierwszy katalog, a ,,popd  +1''
                     drugi.
              -n     Usuwa ntą pozycję, licząc od prawej, listy pokazy-
                     wanej przez dirs, zaczynając od zera. Na  przykład
                     ,,popd  -0''  usuwa  ostatni  katalog, ,,popd -1''
                     przedostatni.
              -n     Nie  wykonuje  zwykłej  zmiany  katalogu   podczas
                     usuwania katalogów ze stosu, tak że zmieniana jest
                     tylko zawartość stosu.

              Jeżeli polecenie popd powiedzie się, to  wykonywane  jest
              również  dirs,  a  kodem  zwracanym  jest 0.  popd zwraca
              fałsz jeśli napotkano nieprawidłową opcję, stos katalogów
              jest  pusty,  podano  nieistniejącą pozycję stosu lub nie
              udała się zmiana katalogu.

       printf format [argumenty]
              Zapisuje sformatowane argumenty  na  standardowe  wyjście
              przy  pomocy  zadanego  formatu.   format  jest łańcuchem
              znakowym  zawierającym  trzy  rodzaje  obiektów:   zwykłe
              znaki,  które  są  po  prostu  kopiowane  na  standardowe
              wyjście, sekwencje specjalne,  które  są  konwertowane  i
              kopiowane na standardowe wyjście, i specyfikacje formatu,
              z których każda powoduje wypisanie  następnego  kolejnego
              argumentu.   Oprócz  standardowych formatów printf(1), %b
              powoduje, że printf interpretuje  sekwencje  specjalne  w
              odpowiednim argumencie, zaś %q powoduje, że printf wysyła
              odpowiedni argument w formacie, jaki  może  być  ponownie
              wykorzystany jako wejście powłoki.

              W  razie potrzeby format wykorzystywany jest ponownie, aż
              do  obsłużenia  wszystkich  argumentów.   Jeżeli   format
              wymaga   większej   ilości   argumentów  niż  podano,  to
              dodatkowe specyfikacje formatu zachowują się  tak,  jakby
              dostarczono  im  odpowiednio  wartość  zerową lub łańcuch
              pusty.   Zwracana   jest   wartość   zero   w   przypadku
              powodzenia, niezerowa przy porażce.

       pushd [-n] [katalog]
       pushd [-n] [+n] [-n]
              Dodaje  katalog  na  wierzchołek  stosu  katalogów,  albo
              obraca stos, czyniąc nowy wierzchołek stosu bieżącym kat-
              alogiem roboczym.  Bez argumentów, zamienia miejscami dwa
              najwyższe  katalogi  stosu  [wierzchołek  i  następny]  i
              zwraca  0, chyba że stos jest pusty.  Argumenty, jeśli je
              podano, mają następujące znaczenie:
              +n     Obraca stos, tak że nty katalog (licząc  od  lewej
                     listy  pokazywanej przez dirs, poczynając od zera)
                     staje się wierzchołkiem.
              -n     Obraca stos, tak że nty katalog (licząc od  prawej
                     listy  pokazywanej przez dirs, poczynając od zera)
                     staje się wierzchołkiem.
              -n     Nie  wykonuje  zwykłej  zmiany  katalogu   podczas
                     dodawania  katalogów  do  stosu,  tak że zmieniany
                     jest tylko stos.
              katalog
                     Odkłada katalog na wierzchołek stosu,  czyniąc  go
                     nowym bieżącym katalogiem roboczym.

              Jeżeli  polecenie  pushd powiodło się, to wykonywane jest
              również dirs.  Jeżeli używana jest pierwsza postać pushd,
              to zwracane jest 0, chyba że nie udało się cd na katalog.
              Przy drugiej postaci, pushd zwraca 0, chyba że stos kata-
              logów  jest pusty, podano nieistniejący element stosu lub
              nie powiodła się zmiana katalogu na zadany  nowy  katalog
              bieżący.

       pwd [-LP]
              Wypisuje   bezwzględną  nazwę  pliku  bieżącego  katalogu
              roboczego.  Pokazana nazwa nie zawiera  żadnych  dowiązań
              symbolicznych  jeśli  podano  opcję -P albo włączona jest
              opcja -o physical wbudowanego polecenia set.  Jeśli użyto
              opcji   -L,   wypisana   nazwa  ścieżkowa  może  zawierać
              dowiązania symboliczne.  Zwracany kod wynosi 0, chyba  że
              podczas  odczytu nazwy bieżącego katalogu pojawi się błąd
              lub podano nieprawidłową opcję.

       read [-ers] [-t timeout] [-a anazwa] [-p zachęta] [-n nznak] [-d
       sep] [nazwa ...]
              Ze standardowego wejścia czytany jest pojedynczy  wiersz,
              a  jego  pierwsze  słowo  jest  przypisywane do pierwszej
              nazwy, drugie słowo do drugiej nazwy i  tak  dalej,  przy
              czym pozostałe na koniec słowa i rozdzielające je separa-
              tory przypisane zostaną do ostatniej  nazwy.   Jeżeli  ze
              standardowego wejścia przeczytano mniej słów niż podanych
              zostało nazw, to pozostałym nazwom przypisywane są  puste
              wartości.  Do podziału wiersza na słowa wykorzystywane są
              znaki z IFS.  Znaku odwrotnego ukośnika (\) można użyć do
              usunięcia   specjalnego  znaczenia  następnego  czytanego
              znaku oraz do  oznaczenia  kontynuacji  wiersza.   Opcje,
              jeśli je podano, mają następujące znaczenie:
              -a anazwa
                     Słowa są przypisywane do kolejnych indeksów zmien-
                     nej tablicowej anazwa, poczynając  od  0.   anazwa
                     jest  kasowana przed przypisaniem nowych wartości.
                     Inne argumenty nazwa są ignorowane.
              -d sep Pierwszy znak sep  służy  do  zakończenia  wiersza
                     wejścia, zamiast znaku nowej linii.
              -e     Jeżeli  standardowe  wejście pochodzi z terminala,
                     to do  uzyskania  wiersza  używane  jest  readline
                     (zobacz READLINE powyżej).
              -n nznak
                     read powraca po przeczytaniu nznak znaków, zamiast
                     czekać na cały wiersz wejścia.
              -p zachęta
                     Wyświetla zachętę (prompt) na standardowym wyjściu
                     błędów,  bez  kończącego  znaku nowej linii, przed
                     próbą odczytu wejścia.  Zachęta  wyświetlana  jest
                     tylko jeśli wejście pochodzi z terminala.
              -r     Odwrotny  ukośnik  nie działa jako znak specjalny.
                     Traktowany   jest   jako    część    wiersza.    W
                     szczególności,  para  odwrotny  ukośnik-znak nowej
                     linii nie może być wykorzystana  jako  kontynuacja
                     wiersza.
              -s     Tryb  cichy.  Jeżeli wejście pochodzi z terminala,
                     to znaki nie są powtarzane (bez echa).
              -t timeout
                     Powoduje, że read zwraca  niepowodzenie,  jeśli  w
                     ciągu  timeout  sekund  nie  zostanie  przeczytany
                     pełny wiersz wejścia.  Opcja ta nie działa, jeżeli
                     odczyt nie jest prowadzony z terminala lub potoku.

              Jeśli nie podano żadnych nazw, odczytany wiersz przypisy-
              wany  jest  zmiennej REPLY.  Zwracany kod wynosi 0, chyba
              że  napotkano  koniec  pliku  lub  read  przekroczy  czas
              oczekiwania.

       readonly [-apf] [nazwa ...]
              Podane  nazwy  oznaczane  są jako readonly; wartości tych
              nazw nie mogą być zmieniane następującymi później  przyp-
              isaniami.  Jeśżli podano opcję -f, oznaczane są funkcje o
              nazwach odpowiadających nazwom.  Opcja -a ogranicza  zmi-
              enne  do  tablic.   Jeśli  nie podano argumentów nazw lub
              jeśli podano opcję -p, wypisywane jest zestawienie wszys-
              tkich  nazw  o atrybucie readonly.  Opcja -p powoduje, że
              wyniki  będą  wyświetlane  w  formacie,  który  może  być
              ponownie  wykorzystany  jako  wejście.  Zwracany jest kod
              równy 0, chyba że napotkano nieprawidłową opcję, jedna  z
              nazw  nie jest poprawną nazwą zmiennej powłoki lub podano
              -f z nazwą, która nie jest funkcją.

       return [n]
              Powoduje,  że  funkcja  kończy  pracę  zwracając  wartość
              określoną  przez n.  Jeśli pominięto n, kodem zakończenia
              jest kod ostatniego polecenia wykonanego w ciele funkcji.
              Jeżeli zostanie użyte poza funkcją, ale podczas wykonywa-
              nia skryptu przez polecenie .  (source), powoduje zatrzy-
              manie  wykonywania tego skryptu przez powłokę i zwrócenie
              albo n albo  kodu  zakończenia  ostatniego  wykonanego  w
              skrypcie polecenia.  Jeżeli zostanie użyte poza funkcją i
              nie podczas wykonywania skryptu przez  .,  zwracany  jest
              fałsz.

       set [--abefhkmnptuvxBCHP] [-o opcja] [arg ...]
              Bez  opcji, wyświetlane są nazwa i wartość każdej ze zmi-
              ennych powłoki, w formacie który może być ponownie  wyko-
              rzystany  jako  wejście.   Wyniki  są sortowane zgodnie z
              bieżącymi ustawieniami  locale.   Gdy  podane  są  opcje,
              ustawiają  one  lub  kasują  atrybuty powłoki.  Argumenty
              pozostałe  po  przetworzeniu  opcji  traktowane  są  jako
              wartości  parametrów pozycyjnych i przypisywane, kolejno,
              do $1,  $2,  ...   $n.   Opcje,  jeśli  je  podano,  mają
              następujące znaczenie:
              -a      Automatycznie  zaznacza  zmienione  lub utworzone
                      zmienne  i  funkcje  do  wyeksportowania  ich  do
                      środowiska kolejnych poleceń.
              -b      Natychmiast podaje status zakończonych zadań dru-
                      goplanowych, zamiast  czynić  to  przed  następną
                      podstawową  zachętą.  Działa tylko jeśli włączona
                      jest kontrola zadań.
              -e      Zakończ  natychmiast   jeśli   polecenie   proste
                      (zobacz GRAMATYKA POWŁOKI powyżej) kończy pracę z
                      kodem niezerowym. Powłoka nie kończy pracy, jeśli
                      polecenie,  które  się  nie powiodło jest częścią
                      pętli until lub  while,  częścią  instrukcji  if,
                      częścią  listy  &&  lub  ||  lub wartość zwrócona
                      przez polecenie została odwrócona przez !.  Przed
                      zakończeniem   pracy   powłoki   wykonywana  jest
                      pułapka na sygnał ERR, jeśli była ustawiona.
              -f      Wyłącza rozwijanie nazw plików.
              -h      Zapamiętuje położenie poleceń  przy  wyszukiwania
                      ich do wykonania.  Domyślnie włączone.
              -k      Wszystkie   argumenty   występujące   w   postaci
                      instrukcji   przypisania   umieszczane    są    w
                      środowisku  polecenia,  nie  zaś  tylko te, które
                      poprzedzają nazwę polecenia.
              -m      Tryb monitorowania. Włączona jest kontrola zadań.
                      Opcja  ta  jest  domyślnie  włączona  dla  powłok
                      interaktywnych  na  systemach  ją   obsługujących
                      (zobacz  STEROWANIE  ZADANIAMI  powyżej). Procesy
                      drugoplanowe działają w odrębnej grupie  procesów
                      a  po ich zakończeniu wypisywany jest wiersz zaw-
                      ierający ich kod zakończenia.
              -n      Odczytuje polecenia, ale nie  ich  nie  wykonuje.
                      Może   być  wykorzystane  do  sprawdzenia  błędów
                      składni  w  skrypcie  powłoki.  Ignorowane  przez
                      powłoki interaktywne.
              -o nazwa-opcji
                      Nazwą opcji może być jedna z poniższych:
                      allexport
                              To samo, co -a.
                      braceexpand
                              To samo, co -B.
                      emacs   Użyj  interfejsu edycji wiersza poleceń w
                              stylu emacsa. Włączone  domyślnie,  jeśli
                              powłoka   jest   interaktywna,  chyba  że
                              została uruchomiona z opcją  --noediting.
                      errexit To samo, co -e.
                      hashall To samo, co -h.
                      histexpand
                              To samo, co -H.
                      history Włącza   historię  poleceń,  jak  opisano
                              powyżej w sekcji HISTORII.  Opcja ta jest
                              domyślnie włączona w powłokach interakty-
                              wnych.
                      ignoreeof
                              Efekt jest taki, jakby  zostało  wykonane
                              polecenie     powłoki    ,,IGNOREEOF=10''
                              (zobacz powyżej Zmienne powłoki).
                      keyword To samo, co -k.
                      monitor To samo, co -m.
                      noclobber
                              To samo, co -C.
                      noexec  To samo, co -n.
                      noglob  To samo, co -f.
                      nolog   Obecnie ignorowane.
                      notify  To samo, co -b.
                      nounset To samo, co -u.
                      onecmd  To samo, co -t.
                      physical
                              To samo, co -P.
                      posix   Zmienia  zachowanie   bash   tam,   gdzie
                              domyślne działanie różni się od standardu
                              POSIX 1003.2, tak  by  spełniać  standard
                              (tryb posix).
                      privileged
                              To samo, co -p.
                      verbose To samo, co -v.
                      vi      Używa interfejsu edycji wiersza poleceń w
                              stylu vi.
                      xtrace  To samo, co -x.
                      Jeżeli podano -o bez nazwy-opcji,  to  wypisywane
                      są  wartości  bieżących  opcji.  Jeżeli podano +o
                      bez nazwy-opcji, na standardowym wyjściu wyświet-
                      lana  jest  seria poleceń set potrzebnych do odt-
                      worzenia aktualnych ustawień opcji.
              -p      Włącza tryb uprzywilejowany (privileged).  W  tym
                      trybie    pliki   $ENV   i   $BASH_ENV   nie   są
                      przetwarzane, funkcje powłoki nie są dziedziczone
                      ze   środowiska,   a   zmienna  SHELLOPTS,  jeśli
                      występuje w środowisku, jest  ignorowana.   Jeśli
                      powłoka   została  uruchomiona  z  efektywnym  id
                      użytkownika (grupy) różnych od id rzeczywistego a
                      nie  podano  opcji  -p, to podejmowane są opisane
                      wyżej  akcje  a  efektywny  id  użytkownika  jest
                      ustawiany  na  identyfikator  rzeczywisty. Jeżeli
                      przy uruchamianiu podano opcję -p,  to  efektywny
                      identyfikator  użytkownika  nie  jest resetowany.
                      Wyłączenie tej opcji powoduje, że  identyfikatory
                      efektywne  użytkownika  i grupy zostaną ustawione
                      na identyfikatory rzeczywiste.
              -t      Kończy pracę po przeczytaniu i wykonaniu  jednego
                      polecenia.
              -u      Podczas    interpretacji    parametrów   traktuje
                      nieustawione zmienne jako błąd.   Jeżeli  wykony-
                      wana  jest próba interpretacji nieustawionej zmi-
                      ennej, to powłoka wypisuje komunikat o błędzie i,
                      jeśli  nie  jest  interaktywna,  kończy  pracę  z
                      niezerowym kodem.
              -v      Wypisuje  wiersze  wejściowe  powłoki  przy   ich
                      odczytywaniu.
              -x      Po   interpretacji  każdego  polecenia  prostego,
                      wyświetla zinterpretowaną wartość PS4, po  której
                      następuje  polecenie i jego zinterpretowane argu-
                      menty.
              -B      Powłoka wykonuje interpretacją  nawiasów  (zobacz
                      Interpretacja    nawiasów   powyżej).   Domyślnie
                      włączone.
              -C      Jeśli włączone, bash nie  nadpisuje  istniejącego
                      pliku przy użyciu operatorów przekierowania >, >&
                      i <>.  Można to ominąć  tworząc  pliki  wyjściowe
                      przy  użyciu  operatora przekierowania >| zamiast
                      >.
              -H      Włącza zastępowanie historii w stylu !.  Opcja ta
                      jest  domyślnie  włączona  dla powłoki interakty-
                      wnej.
              -P      Jeżeli jest ustawiona, to powłoka nie  podąża  za
                      dowiązaniami  symbolicznymi  podczas  wykonywania
                      poleceń zmieniających  bieżący  katalog  roboczy,
                      jak  cd.   Używa zamiast tego fizycznej struktury
                      katalogów. Domyślnie, bash  podąża  za  logicznym
                      łańcuchem  katalogów  podczas wykonywania poleceń
                      zmieniających bieżący katalog roboczy.
              --      Jeżeli po tej opcji  nie  występują  żadne  argu-
                      menty,  to  parametry  pozycyjne  są  kasowane. W
                      przeciwnym razie, parametry  pozycyjne  ustawiane
                      są  na  argumenty,  nawet  jeśli  niektóre z nich
                      zaczynają się od znaku -.
              -       Sygnalizuje koniec opcji,  powodując  przypisanie
                      wszystkich  pozostałych  argumentów do parametrów
                      pozycyjnych.  Opcje -x i -v są wyłączane.  Jeżeli
                      nie   ma   argumentów,   to  parametry  pozycyjne
                      pozostają bez zmian.

              Opcje są domyślnie wyłączone, chyba że wskazano  inaczej.
              Użycie  +  zamiast  -  spowoduje,  że  opcje  te  zostaną
              wyłączone.  Opcje mogą także zostać określone jako  argu-
              menty  wywołania  powłoki.   Bieżący  zestaw  opcji można
              znaleźć w $-.  Zwracanym kodem jest zawsze prawda,  chyba
              że napotkano nieprawidłową opcję.

       shift [n]
              Parametrom  pozycyjne  od n+1 ... zmieniają nazwy $1 ....
              parametry reprezentowane przez liczby $# w dół do  $#-n+1
              są  usuwane.   n  musi  być liczbą nieujemną mniejszą lub
              równą $#.  Jeżeli n wynosi 0, parametry nie są zmieniane.
              Jeżeli  nie podano n, zakłada się, że wynosi 1.  Jeżeli n
              jest większe od $#, parametry pozycyjne nie są zmieniane.
              Kod  zakończenia  jest  większy  od  zera  jeżeli  n jest
              większe od $# lub mniejsze od zera; w przeciwnym  wypadku
              0.

       shopt [-pqsu] [-o] [nazwa_opcji ...]
              Przełącza   wartości  zmiennych  sterujących  opcjonalnym
              zachowaniem powłoki.  Bez żadnych opcji, albo z opcją -p,
              wyświetlana  jest  lista  wszystkich dających się ustawić
              opcji, ze wskazaniem dla każdej czy  jest  ona  ustawiona
              czy nie.  Opcja -p powoduje, że wyniki będą wyświetlane w
              postaci dającej się ponownie  wykorzystać  jako  wejście.
              Pozostałe opcje mają następujące znaczenie:
              -s     Włącz (ustaw) każdą nazwę_opcji.
              -u     Wyłącz (usuń) każdą nazwę_opcji.
              -q     Zaniechaj   zwykłego  wyświetlania  (tryb  cichy);
                     zwracany kod wskazuje na to czy  nazwa_opcji  jest
                     ustawiona  czy  nie ustawiona.  Jeżeli z -q podano
                     wiele argumentów nazw_opcji,  to  zwracanym  kodem
                     jest  zero, gdy wszystkie nazwy_opcji są włączone;
                     w przeciwnym razie kod jest niezerowy.
              -o     Ogranicza wartości nazwy_opcji do wartości zdefin-
                     iowanych dla opcji -o wbudowanego polecenia set.

              Jeżeli  użyto  albo -s albo -u bez argumentów nazw_opcji,
              wyświetlanie  ogranicza  się  do   tych   opcji,   które,
              odpowiednio,  są ustawione bądź nieustawione.  Jeżeli nie
              wskazano inaczej, opcje shopt są domyślnie wyłączone (nie
              ustawione).

              Przy  listowaniu  opcji  zwracany  jest  kod zerowy jeśli
              wszystkie nazwy_opcji są włączone, niezerowy w przeciwnym
              wypadku.  Przy  ustawianiu  lub  kasowaniu opcji zwracany
              jest zerowy kod, chyba że nazwa_opcji nie  jest  poprawną
              opcją powłoki.

              Lista opcji shopt obejmuje:

              cdable_vars
                      Jeśli  jest  ustawiona,  to nie będący katalogiem
                      argument wbudowanego polecenia cd uważany jest za
                      nazwę zmiennej; wartością tej zmiennej jest kata-
                      log, na który ma nastąpić zmiana.
              cdspell Jeśli  jest  ustawiona,  to  pomniejsze  błędy  w
                      pisowni  składowej  katalogu  w poleceniu cd będą
                      poprawiane.  Sprawdzenie takich  błędów  obejmuje
                      znaki  zamienione  miejscami,  znaki  pominięte i
                      pojedyncze  zbędne   znaki.   Jeżeli   znaleziono
                      poprawkę,  wypisywana jest poprawna nazwa pliku a
                      polecenie kontynuuje działanie.   Opcja  ta  jest
                      wykorzystywana  tylko przez powłoki interaktywne.
              checkhash
                      Jeśli jest ustawiona, bash sprawdza  przed  próbą
                      wykonania   polecenia   znalezionego   w  tablicy
                      mieszającej, czy polecenie  to  istnieje.  Jeżeli
                      już  nie  istnieje,  to  wykonywane  jest  zwykłe
                      przeszukiwanie ścieżki.
              checkwinsize
                      Jeżeli jest ustawione, bash sprawdza rozmiar okna
                      po  każdym  poleceniu i, jeśli zachodzi potrzeba,
                      aktualizuje wartość LINES i COLUMNS.
              cmdhist Jeżeli  jest  ustawione,  bash  usiłuje   zapisać
                      wszystkie  wiersze  polecenia  wielowierszowego w
                      tej samej pozycji historii. Pozwala to  na  łatwą
                      ponowną  edycję  poleceń obejmujących wiele wier-
                      szy.
              dotglob Jeżeli  jest  ustawione,  to  bash   do   wyników
                      rozwinięcia nazw plików włącza także nazwy plików
                      rozpoczynające się kropką `.'.
              execfail
                      Jeżeli jest ustawione, to powłoka  nie-interakty-
                      wna  nie  zakończy  pracy nie mogąc wykonać pliku
                      określonego jako argument  wbudowanego  polecenia
                      exec.   Powłoka  interaktywna  nie  kończy pracy,
                      jeśli exec zawiedzie.
              expand_aliases
                      Jeżeli jest ustawiona, aliasy  są  interpretowane
                      jak  opisano  powyżej  w  ALIASY.   Opcja ta jest
                      włączona domyślnie dla powłok interaktywnych.
              extglob Jeśli  jest  włączona,  włączane  są  rozszerzone
                      funkcje  dopasowywania  wzorców opisane powyżej w
                      Rozwijanie nazw plików.
              histappend
                      Jeżeli jest  ustawiona,  to  do  pliku  o  nazwie
                      wskazanej   zmienną  HISTFILE  podczas  kończenia
                      pracy przez powłokę dodawana jest lista historii,
                      zamiast nadpisywania tego pliku listą.
              histreedit
                      Jeżeli  jest  ustawione, a używane jest readline,
                      to użytkownik ma możliwość ponownej edycji  nieu-
                      danego podstawienia historii historii.
              histverify
                      Jeżeli  jest  ustawione, a używane jest readline,
                      to wyniki podstawiania historii nie są  natychmi-
                      ast  przesyłane  do  analizatora powłoki. Zamiast
                      tego, wiersz wynikowy  ładowany  jest  do  bufora
                      edycyjnego readline, pozwalając na dalsze zmiany.
              hostcomplete
                      Jeżeli jest ustawione, a używane  jest  readline,
                      bash  będzie  usiłować wykonać uzupełnianie nazwy
                      hosta podczas uzupełniania słowa zawierającego  @
                      (zobacz   Uzupełnianie   w   READLINE   powyżej).
                      Domyślnie włączone.
              huponexit
                      Jeżeli jest ustawione, to bash  wyśle  SIGHUP  do
                      wszystkich zadań podczas kończenia pracy interak-
                      tywnej powłoki zgłoszeniowej.
              interactive_comments
                      Jeśli jest włączone, pozwala by  słowo  rozpoczy-
                      nające  się od # powodowało pominięcie tego słowa
                      i wszystkich pozostałych znaków wiersza w powłoce
                      interaktywnej (zobacz powyżej KOMENTARZE).  Opcja
                      domyślnie włączona.
              lithist Jeśli jest ustawione, a włączona jest opcja  cmd-
                      hist,  to polecenia wielowierszowe zachowywane są
                      w  historii  w  miarę  możliwości  z   osadzonymi
                      znakami nowej linii zamiast przy użyciu średników
                      jako separatorów.
              login_shell
                      Powłoka ustawia  tę  opcję  jeśli  zostanie  uru-
                      chomiona   jako  zgłoszeniowa  (zobacz  WYWOŁANIE
                      powyżej).  Ta wartość nie może być zmieniona.
              mailwarn
                      Jeżeli jest ustawione, zaś  do  pliku,  w  którym
                      sprawdza  pocztę bash sięgano od czasu ostatniego
                      sprawdzania, to  zostanie  wyświetlony  komunikat
                      ,,The  mail in plikpoczty has been read'' (Poczta
                      w plikpoczty została przeczytana).
              no_empty_cmd_completion
                      Jeśli jest ustawione, i stosowane jest  readline,
                      to   bash  nie  będzie  usiłował  szukać  w  PATH
                      możliwych  uzupełnień,  gdy  próba   uzupełniania
                      wystąpi w pustym wierszu.
              nocaseglob
                      Jeśli  zostało ustawione, to bash przy rozwijaniu
                      nazw plików dopasowuje je nie zwracając uwagi  na
                      wielkość  liter  (zobacz  Rozwijanie  nazw plików
                      powyżej).
              nullglob
                      Jeśli jest ustawione, to, bash pozwala by  wzorce
                      nie  dopasowujące  żadnych  plików (zobacz Rozwi-
                      janie  nazw  plików  powyżej)  rozwijały  się   w
                      łańcuch pusty, zamiast na same siebie.
              progcomp
                      Jeżeli jest ustawione, to włączone są usługi pro-
                      gramowalnego   uzupełniania    (zobacz    powyżej
                      Programowalne  uzupełnianie). Domyślnie włączone.
              promptvars
                      Jeżeli jest ustawione, to łańcuchy zachęty podle-
                      gają   interpretacji   zmiennych  i  podstawianiu
                      parametrów po interpretacji  zachęty  opisanej  w
                      ZACHĘTA   powyżej.   Opcja   ta   jest  domyślnie
                      włączona.
              restricted_shell
                      Powłoka  ustawia  tę  opcję  jeśli  została  uru-
                      chomiona w trybie okrojonym (zobacz POWŁOKA OKRO-
                      JONA  poniżej).   Wartość   ta   nie   może   być
                      zmieniona.    Nie  jest  ona  resetowana  podczas
                      odczytu  plików  startowych,  pozwalając  im   na
                      odkrycie czy powłoka jest okrojona czy nie.
              shift_verbose
                      Jeżeli  jest  ustawiona,  to wbudowane shift wyp-
                      isuje komunikat o błędzie gdy  liczba  przesunięć
                      (przez  shift) przekracza liczbę parametrów pozy-
                      cyjnych.
              sourcepath
                      Jeśli  jest  ustawiona,  to  polecenie  wbudowane
                      source   (.)  posługuje  się  wartością  PATH  do
                      znalezienia katalogu  zawierającego  plik  podany
                      jako argument.  Opcja domyślnie włączona.
              xpg_echo
                      Jeżeli jest ustawiona, to dla wbudowanego polece-
                      nia echo włączane jest  domyślne  interpretowanie
                      sekwencji specjalnych z odwrotnym ukośnikiem.
       suspend [-f]
              Zawiesza  wykonywanie tej powłoki do otrzymania przez nią
              sygnału SIGCONT.  Opcja -f mówi, by nie  narzekać,  jeśli
              użyto suspend w powłoce zgłoszeniowej; po prostu zawiesić
              mimo to. Kodem zwracanym jest 0, chyba  że  powłoka  jest
              powłoką  zgłoszeniową  i nie podano opcji -f, lub gdy nie
              jest włączona kontrola zadań.
       test wyraż
       [ wyraż ]
              Zwraca  kod  0  lub  1  w  zależności  od   interpretacji
              wyrażenia  warunkowego  wyraż.   każdy operator i operand
              musi być odrębnym argumentem.  Wyrażenia składając się ze
              składowych opisanych powyżej w WYRAŻENIA WARUNKOWE.

              Wyrażenia  mogą być łączone przy użyciu poniższych opera-
              torów, podanych w kolejności malejącego priorytetu.
              ! wyraż
                     Prawda jeśli wyraż jest fałszem.
              ( wyraż )
                     Zwraca  wartość  wyraż.   Może  być  stosowane  do
                     obejścia zwykłej kolejności operatorów.
              wyraż1 -a wyraż2
                     Prawda jeśli oba: wyraż1 i wyraż2 są prawdziwe.
              wyraż1 -o wyraż2
                     Prawda jeśli wyraż1 lub wyraż2 jest prawdziwe.

              test  i [ interpretują wyrażenia warunkowe posługując się
              zestawem reguł opartych o liczbę argumentów.

              0 argumentów
                     Wyrażenie jest fałszywe.
              1 argument
                     Wyrażenie jest prawdziwe wtedy i tylko  wtedy  gdy
                     argument nie jest pusty (null).
              2 argumenty
                     Jeśli  pierwszym  argumentem  jest !, to wyrażenie
                     jest prawdziwe wtedy i tylko wtedy gdy drugi argu-
                     ment jest pusty. Jeśli pierwszy argument jest jed-
                     nym z  jednoargumentowych  operatorów  warunkowych
                     podanych   powyżej   w   WYRAŻENIA  WARUNKOWE,  to
                     wyrażenie jest prawdziwe jeżeli test jednoargumen-
                     towy jest prawdziwy.  Jeżeli pierwszy argument nie
                     jest   poprawnym   jednoargumentowym    operatorem
                     warunkowym, to wyrażenie ma wartość fałsz.
              3 argumenty
                     jeżeli  drugi  argument  jest jednym z dwuargumen-
                     towych operatorów warunkowych podanych  powyżej  w
                     WYRAŻENIA   WARUNKOWE,  to  wynik  wyrażenia  jest
                     wynikiem dwuargumentowego  testu  z  zastosowaniem
                     pierwszego  i  trzeciego argumentu jako operandów.
                     Jeśli pierwszym  argumentem  jest  !,  to  wartość
                     stanowi negację testu dwuargumentowego przy użyciu
                     drugiego i trzeciego argumentu.   Jeśli  pierwszym
                     argumentem  jest  dokładnie ( a trzecim argumentem
                     dokładnie  ),  to  wynik  jest   jednoargumentowym
                     testem drugiego argumentu.  W pozostałych przypad-
                     kach wyrażenie jest fałszywe.  Operatory -a i -o w
                     tym przypadku uważane są za dwuargumentowe.
              4 argumenty
                     Jeśli  pierwszym  argumentem jest !, to wynik jest
                     negacją trójargumentowego  wyrażenia  złożonego  z
                     pozostałych  argumentów.   W  przeciwnym  wypadku,
                     wyrażenie  jest  poddawanie  analizie  składni   i
                     interpretowane  zgodnie  z  priorytetami przy zas-
                     tosowaniu reguł podanych powyżej.
              5 lub więcej argumentów
                     Wyrażenie  jest  poddawanie  analizie  składni   i
                     interpretowane  zgodnie  z  priorytetami przy zas-
                     tosowaniu reguł podanych powyżej.

       times  Wypisuje  sumaryczne  czasy  użytkownika  i  systemu  dla
              powłoki  i procesów z niej uruchomionych. Kodem zwracanym
              jest 0.

       trap [-lp] [argument] [sigspec ...]
              Polecenie argument ma zostać odczytane  i  wykonane,  gdy
              powłoka  otrzyma  sygnał(y) sigspec.  Jeśli nie występuje
              argument lub jest to -, to wszystkie podane sygnały rese-
              towane  są do swych wartości pierwotnych (wartości, jakie
              miały przy wejściu do  powłoki).   Jeżeli  argument  jest
              łańcuchem pustym, to sygnał określony przez każde sigspec
              jest ignorowany przez  powłokę  i  polecenia,  jakie  ona
              wywołuje.   Jeżeli  nie  wystąpił  argumentu a podano -p,
              wyświetlane  są  polecenia  związane   z   przechwyceniem
              każdego  z  sygnałów  sigspec.  Jeżeli nie podano żadnych
              argumentów lub jeśli podano tylko -p,  to  trap  wypisuje
              listę  poleceń  związanych  z  każdym z numerów sygnałów.
              Każde sigspec jest  albo  nazwą  sygnału  zdefiniowaną  w
              <signal.h  albo  numerem  sygnału.   Jeżeli  sigspec jest
              sygnałem EXIT (0), to polecenie argument wykonywane  jest
              przy  kończeniu  pracy przez powłokę. Jeżeli sigspec jest
              równe DEBUG, to polecenie  argument  wykonywane  jest  po
              każdym   poleceniu   prostym  (zobacz  GRAMATYKA  POWŁOKI
              powyżej).  Jeśli sigspec to ERR, wówczas polecenie  argu-
              ment  wykonywane  jest  każdorazowo  gdy polecenie proste
              zwróci niezerowy kod zakończenia.  Pułapka zastawiona  na
              ERR  nie  jest wykonywana gdy polecenie, które zakończyło
              się niepowodzeniem jest częścią pętli  until  lub  while,
              częścią instrukcji if, częścią listy && lub || albo jeśli
              wartość zwracana przez to  polecenie  jest  wstawiana  za
              pomocą !.  Opcja -l powoduje, że powłoka wypisuje zestaw-
              ienie  nazw  sygnałów  i  odpowiadających   im   numerów.
              Sygnały  ignorowane  przy wejściu do powłoki nie mogą być
              przechwycone ani zresetowane.  W procesie potomnym,  pod-
              czas  jego  tworzenia, sygnały przechwycone resetowane są
              do swych  wartości  pierwotnych.   Zwracanym  kodem  jest
              fałsz  jeśli którykolwiek z sigspec jest nieprawidłowy; w
              przeciwnym razie trap zwraca true.

       type [-atp] nazwa [nazwa ...]
              Bez opcji wskazuje, jak powinna być interpretowana  każda
              z  nazw,  jeśli  zostanie  użyta  jako  nazwa  polecenia.
              Jeżeli użyto opcji -t, to type  wypisuje  łańcuch  będący
              jednym  z  alias,  keyword,  function,  builtin lub file,
              jeśli nazwa jest odpowiednio aliasem, zastrzeżonym słowem
              powłoki,   funkcją,  poleceniem  wbudowanym  lub  plikiem
              dyskowym.  Jeśli nie znaleziono nazwy, to nie  jest  wyp-
              isywane  nic  i jako kod zakończenia zwracany jest fałsz.
              Jeśli posłużono się opcją -p to type  zwraca  albo  nazwę
              pliku  dyskowego,  który  zostałby  wykonany  jeśli nazwa
              zostałaby podana jako nazwa polecenia, albo nic  jeśli  !
              .if  t  type  -t  nazwa  !  .if  n  ,,type -t nazwa'' nie
              zwróciłoby file.   Jeśli  polecenie  istnieje  w  tablicy
              mieszającej, -p wypisuje wartość z tablicy, niekoniecznie
              plik, który pojawia się jako  pierwszy  w  PATH.   Jeżeli
              użyto  opcji  -a, to type wypisuje wszystkie miejsca zaw-
              ierajace  wykonywalną  nazwę.   Obejmuje  to   aliasy   i
              funkcje,  wtedy i tylko wtedy gdy użyto również opcji -p.
              Przy użyciu -a nie korzysta  się  z  tablicy  mieszającej
              poleceń.  type zwraca prawdę jeśli znaleziono jakieś jego
              argumenty, fałsz jeśli nie znaleziono żadnych.

       ulimit [-SHacdflmnpstuv [limit]]
              Zapewnia kontrolę nad zasobami dostępnymi powłoce i  pro-
              cesów  jakie  ona uruchamia, na systemach umożliwiających
              taką kontrolę.  Opcje -H i -S określają,  że  dla  danego
              zasobu  ustawiane  jest  twarde (hard) lub miękkie (soft)
              ograniczenie. Ograniczenie twarde nie może być zwiększane
              po  ustawieniu;  ograniczenie miękkie może być zwiększane
              aż do wartości ograniczenia twardego.  Jeśli  nie  podano
              ani  -H  ani  -S,  to ustawiane jest zarówno ograniczenie
              miękkie jak i twarde.  Ograniczenie limit może być liczbą
              w  jednostkach  określonych dla zasobu lub jedną ze spec-
              jalnych wartości: hard, soft lub unlimited, oznaczających
              odpowiednio: bieżące twarde ograniczenie, bieżące miękkie
              ograniczenie oraz brak  ograniczenia.   Jeżeli  pominięto
              limit,   wypisywana  jest  bieżąca  wartość  ograniczenia
              miękkiego danego zasobu, chyba że podano  opcję  -H.  Gdy
              podano   więcej   niż   jedno  określenie  zasobu,  przed
              wartością wypisywana jest nazwa ograniczenia i  jednostka
              miary.  Inne opcje interpretowane są następująco:
              -a     Podawane są wszystkie bieżące ograniczenia
              -c     Maksymalny rozmiar tworzonych plików core
              -d     Maksymalny rozmiar segmentu danych procesu
              -f     Maksymalny rozmiar plików tworzonych przez powłokę
              -l     Maksymalny rozmiar, jaki może zostać zablokowany w
                     pamięci
              -m     Maksymalny rozmiar części rezydentnej
              -n     Maksymalna  liczba  otwartych  deskryptorów  pliku
                     (większość systemów nie pozwala na ustawianie  tej
                     wartości)
              -p     Rozmiar  potoku  w blokach 512-bajtowych (może nie
                     być ustawione)
              -s     Maksymalny rozmiar stosu
              -t     Maksymalny czas CPU w sekundach
              -u     Maksymalna liczba procesów  dostępnych  dla  poje-
                     dynczego użytkownika
              -v     Maksymalna  wielkość  pamięci  wirtualnej dostępna
                     dla powłoki

              Jeżeli  podano  limit,  to  staje  się   nową   wartością
              ograniczenia  zadanego zasobu (opcja -a tylko wyświetla).
              Jeżeli nie podano żadnej ocpji, to zakłada się opcję  -f.
              Wartości   podawane   są  przyrostowo  co  1024-bajty,  z
              wyjątkiem -t, podawanego w sekundach, -p,  w  jednostkach
              512-bajtowych  bloków, oraz -n i -u, będących wartościami
              bez miana.  Zwracanym  kodem  jest  0,  chyba  że  podano
              nieprawidłową  opcję lub argument albo podczas ustawiania
              nowego ograniczenia wystąpił błąd.

       umask [-p] [-S] [tryb]
              Maska praw dostępu dla plików tworzonych przez  użytkown-
              ika  ustawiana  jest na tryb.  Jeżeli tryb rozpoczyna się
              od cyfry, jest interpretowany  jako  liczba  ósemkowa;  w
              przeciwnym  razie interpretowany jest jako maska w trybie
              symbolicznym, podobnie jak  akceptowane  przez  chmod(1).
              Jeżeli  pominięto  tryb  wypisywana jest aktualna wartość
              maski.  Opcja -S powoduje, że maska zostanie  wypisana  w
              postaci  symbolicznej;  domyślne  wyjście  jest w postaci
              liczby ósemkowej.  Jeżeli podano  opcję  -p  i  pominięto
              tryb,  to  wyjście  ma  postać,  która może być powtórnie
              wykorzystana jako wejście.  Kodem zwracanym jest 0  jeśli
              pomyślnie  zmieniono  tryb lub nie podano argumentu tryb,
              zaś fałsz w pozostałych sytuacjach.

       unalias [-a] [nazwa ...]
              Usuwa każdą z nazw z listy zdefiniowanych aliasów. Jeżeli
              podano  -a,  to  usuwane są definicje wszystkich aliasów.
              Zwracanym kodem jest prawda, chyba że  podana  nazwa  nie
              jest zdefiniowanym aliasem.

       unset [-fv] [nazwa ...]
              Dla  każdej  nazwy,  usuwa  odpowiadającą jej wartość lub
              funkcję. Jeżeli nie podano żadnych opcji lub podano opcję
              -v, to każda z nazw odnosi się do zmiennej powłoki.  Zmi-
              enne read-only nie mogą być kasowane.  Jeżeli podano  -f,
              to  każda z nazw wskazuje na funkcję powłoki, a definicja
              funkcji jest usuwana.  Każda z usuniętych  zmiennych  lub
              funkcji usuwana jest ze środowiska przesyłanego następnym
              poleceniom.  Jeśli usunięta zostanie któraś ze  zmiennych
              RANDOM,  SECONDS,  LINENO, HISTCMD, FUNCNAME, GROUPS, lub
              DIRSTACK, to traci ona swe specjalne  właściwości,  nawet
              jeśli   zostanie   następnie  ponownie  ustawiona.  Kodem
              zakończenia jest prawda, chyba że nazwa nie istnieje  lub
              jest readonly.

       wait [n]
              Czeka  na określony proces i zwraca jego kod zakończenia.
              n może być identyfikatorem procesu lub określeniem  zada-
              nia;  jeśli podano określenie zadania, to nastąpi oczeki-
              wanie na wszystkie procesy w potoku tego zadania.  Jeżeli
              nie  podano n, następuje oczekiwanie na wszystkie aktual-
              nie aktywne procesy potomne i zwracany jest  kod  zerowy.
              Jeśli  n  określa  nieistniejący  proces  lub zadanie, to
              zwracany  jest  kod  127.   W   pozostałych   przypadkach
              zwracany  jest  kod  zakończenia  ostatniego  procesu lub
              zadania na jakie czekano.

POWŁOKA OKROJONA
       Jeśli bash uruchomiony jest  pod  nazwą  rbash,  lub  przy  jego
       wywołaniu  posłużono się opcją -r, to staje się powłoką okrojoną
       (restricted).  Powłoka okrojona służy do  ustawienia  środowiska
       lepiej kontrolowanego niż powłoka standardowa. Zachowuje się ona
       identycznie jak bash z wyjątkiem tego, że poniższe nie  są  doz-
       wolone lub nie są wykonywane:

       o      zmiana katalogów przy pomocy cd

       o      ustawianie  lub  kasowanie  wartości SHELL, PATH, ENV lub
              BASH_ENV

       o      podawanie nazw poleceń zawierających /

       o      podawanie nazw plików zawierających / jako argumentu wbu-
              dowanego polecenia .  (kropka).

       o      importowanie definicji funkcji ze środowiska powłoki przy
              uruchamianiu

       o      analiza wartości SHELLOPTS  ze  środowiska  powłoki  przy
              uruchamianiu

       o      przekierowywanie  wyjścia  przy  pomocy operatorów >, >|,
              <>, >&, &> i >>

       o      posługiwanie  się  wbudowanym  poleceniem  exec  w   celu
              zastąpienia powłoki innym poleceniem

       o      dodawanie  lub usuwanie poleceń przy pomocy opcji -f i -d
              wbudowanego polecenia enable

       o      podawanie opcji -p wbudowanego polecenia command

       o      wyłączanie trybu okrojonego za pomocą set +r lub  set  +o
              restricted.

       Powyższe  ograniczenia  wymuszane są po przeczytaniu plików uru-
       chomieniowych.

       Jeśli polecenie do wykonania okazuje się  być  skryptem  powłoki
       (zobacz  WYKONYWANIE POLECEŃ powyżej), to rbash wyłącza wszelkie
       ograniczenia w powłoce zrodzonej do wykonania skryptu.

ZOBACZ TAKŻE
       Bash Features, Brian Fox and Chet Ramey
       The Gnu Readline Library, Brian Fox and Chet Ramey
       The Gnu History Library, Brian Fox and Chet Ramey
       Portable Operating System Interface (POSIX) Part  2:  Shell  and
       Utilities, IEEE
       sh(1), ksh(1), csh(1)
       emacs(1), vi(1)
       readline(3)

PLIKI
       /bin/bash
              Plik wykonywalny powłoki bash
       /etc/profile
              Ogólnosystemowy plik inicjujący,  wykonywany  dla  powłok
              zgłoszeniowych
       ~/.bash_profile
              Osobisty   plik   inicjujący,   wykonywany   dla   powłok
              zgłoszeniowych
       ~/.bashrc
              Indywidualny plik startowy dla powłoki  trybu  interakty-
              wnego
       ~/.bash_logout
              Indywidualny plik porządkujący dla powłoki zgłoszeniowej,
              wykonywany podczas kończenia przez nią pracy
       ~/.inputrc
              Indywidualny plik inicjujący dla readline

AUTORZY
       Brian Fox, Free Software Foundation
       bfox@gnu.ai.MIT.Edu

       Chet Ramey, Case Western Reserve University
       chet@ins.CWRU.Edu

ZGŁOSZENIA BŁĘDÓW
       Jeśli  znajdziesz  w  bash  błąd,  powinieneś  go  zgłosić.  Ale
       najpierw  powinieneś upewnić się, że rzeczywiście jest to błąd i
       że pojawia się w najświeższej wersji bash jaką masz.

       Po ustaleniu, że błąd faktycznie istnieje, użyj polecenia  bash-
       bug do wysłania zgłoszenia błędu.  Jeśli masz poprawkę usuwającą
       problem, zachęcamy do przesłania jej również!  Sugestie i `filo-
       zoficzne'  zgłoszenia  błędów mogą być przesyłane [w języku ang-
       ielskim] do bug-bash@gnu.org lub wysyłane  na  grupę  dyskusyjną
       gnu.bash.bug.

       WSZYSTKIE zgłoszenia błędów powinny zawierać:

       Numer wersji bash
       Sprzęt i system operacyjny
       Użyty kompilator
       Opis błędnego zachowania
       Krótki skrypt lub przepis na uzyskanie błędu

       bashbug  wstawia pierwsze trzy pozycje automatycznie do szablonu
       jaki udostępnia w celu wypełnienia zgłoszenia błędów.

       Komentarze i zgłoszenia błędów dotyczące tej strony  podręcznika
       [oryginału] powinny być kierowane na adres chet@ins.CWRU.Edu.

BŁĘDY
       Jest za duży i zbyt wolny.

       Istnieje  trochę  subtelnych różnic pomiędzy bash a tradycyjnymi
       wersjami sh, głównie z powodu specyfikacji POSIX.

       Aliasy w niektórych zastosowaniach wprawiają w zakłopotanie.

       Poleceń   wbudowanych    powłoki    i    funkcji    nie    można
       zatrzymywać/wznawiać.

       Polecenia złożone i sekwencje poleceń postaci `a ; b ; c' nie są
       obsługiwane przychylnie przy  próbie  wstrzymania  procesu.  Gdy
       proces  jest  zatrzymany, powłoka natychmiast wykonuje następnej
       polecenie sekwencji.  Wystarcza umieszczanie  sekwencji  poleceń
       wewnątrz  nawiasów  by  wymusić  wykonanie ich przez podpowłokę,
       która może być zatrzymana jako całość.

       Polecenia wewnątrz konstrukcji podstawiania poleceń  $(...)  nie
       są  analizowane  do  momentu  próby  podstawienia.  Powoduje  to
       opóźnioną  sygnalizację  błędów,  pojawiającą  się  po   upływie
       pewnego czasu od wprowadzenia polecenia.

       Zmienne tablicowe nie mogą być (na razie) eksportowane.

GNU Bash-2.05a                 13 listopada 2001                       BASH(1)

Time taken: 0.00847 seconds


Created with the man page lookup class by Andrew Collington, php@amnuts.com