Provided by: manpages-pl_20060617-1_all bug

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
       wbudowanego polecenia set, bash przy  wywołaniu  interpretuje  poniższe
       opcje:

       -c acuch
                 Jeśli  występuje  opcja  -c,  to  polecenia  odczytywane są z
                 acucha.  Jeżeli po acuchu 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ą
                 okrojon (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
                 interaktywnej.
       -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/profile  ani  żadnego  z  osobistych  plików   inicjujących
              ~/.bash_profile,  ~/.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
       argumenty.   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

       Powoka  zgoszeniowa  (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ś $-
       zawiera i; pozwala to skryptowi powłoki lub  plikowi  startowemu
       na sprawdzanie tego stanu.

       Poniższe   akapity   opisują,  jak  bash  wykonuje  swoje  pliki
       startowe.  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
       Interpretacja 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
       zmiennej BASH_ENV, interpretuje jej wartość, jeśli ją znalazł, i
       używa  otrzymanej  wartości  jako  nazwy  pliku  do odczytania i
       wykonania.   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ć
       polecenia 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
       startowych.   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ł
       uruchomiony 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ć
       czytanie 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żytkownika.

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ą
              jednostkę. Znana też jako token.
       nazwa  Jest   to   sowo  składające  się  wyłącznie  ze  znaków
              alfanumerycznych 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

       Sowa zastrzeone (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ń
       zmiennych, po której następują rozdzielane przez odstęp słowa  i
       przekierowania,  a  zakończoną  operatorem  sterujcym. 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ńczenie   (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świetlana   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
       priorytet, 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 zoone (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 }sowami zastrzeonymi i aby zostały  rozpoznane  muszą
              się   pojawić  tam,  gdzie  dozwolone  jest  użycie  słów
              zastrzeżonych.  Ponieważ nie powodują podziału na  słowa,
              muszą być oddzielone od listy za pomocą białego znaku.

       ((wyraenie))
              wyraenie   interpretowane   jest   zgodnie   z  zasadami
              opisanymi   poniżej   w   sekcji    OBLICZANIE    WYRAŻEŃ
              ARYTMETYCZNYCH.   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 "wyraenie".

       [[ wyraenie ]]
              Zwraca  kod  0  lub  1  w  zależności  od   interpretacji
              wyrażenia  warunkowego wyraenie. 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,
              podstawianie   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
              Dopasowywanie  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
              operatorów,   wymienionych   w   kolejności    malejącego
              priorytetu:

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

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

       for nazwa [ in sowo ] ; 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 sowo, to polecenie
              for  wykonuje  list  po   jednym   razie   dla   każdego
              ustawionego   parametru   pozycyjnego  (zobacz  PARAMETRY
              poniżej).    Zwracanym   kodem   jest   kod   zakończenia
              ostatniego  wykonanego  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 sowo ] ; 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
              poprzedzone liczbą kolejną. Jeśli pominięto in sowo,  to
              wypisywane   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 sowo in [ [(] wzorzec [ | wzorzec ] ... ) lista ;;  ]  ...
       esac
              Polecenie case  najpierw  interpretuje  sowo  i  próbuje
              dopasować  uzyskany  wynik  każdego  z  wzorcw 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
              dopasowanie,  wykonywana  jest odpowiadająca mu lista. Po
              pierwszym 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
              polecenie  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
              zanegowany: 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.  Ciaem  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
       interaktywna  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
       rozpoznawaniu   słów   zastrzeżonych   jako   takich   oraz   do
       zapobiegania podstawianiu parametrów.

       Każdy z metaznakw 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(escapecharacter),  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
       traktowana 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
       specjalne   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
       odwrotnym ukośnikiem.

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

       Słowa postaci $'acuch' traktowane są specjalnie.  Słowo  takie
       interpretowane   jako   acuch,   w  którym  znaki  poprzedzone
       odwrotnym 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
                     szesnastkowa liczba  nnn  (jedna  do  trzech  cyfr
                     szesnastkowych)

       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 atrybutw.  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  wartoci,  to  zmiennej  przypisywany  jest
       łańcuch pusty. Wszystkie wartoci przechodzą przez interpretację
       tyld,    podstawianie   parametrów,   interpretację   zmiennych,
       podstawianie    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
       pozycyjne 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
              cudzysł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,
              interpretowany  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
              zawierają  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ę
              uruchomionego 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
              funkcjach 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
              katalogów  muszą  być  użyte  wbudowane  pushd  i   popd.
              Przypisanie  wartości  tej  zmiennej nie zmieni bieżącego
              katalogu.  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.
              Zmienna 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
              ustawione.

       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
              przetworzonego  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
              operacyjny,  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
              poleceniem 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
              ustawione.

       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
              SHELLOPTS 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  jakichkolwiek  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
       przypadkach  bash  przypisuje im domyślne wartości; przypadki te
       są odnotowane 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.
              Ustawiana 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
              dopasowanych  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
              dopasowanych.
       HISTCONTROL
              Jeżeli    posiada   wartość   ignorespace,   to   wiersze
              rozpoczynają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
              wielowierszowego 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ę,   `&'
              dopasowuje  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
              wykorzystywana  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
              dzielenia  wierszy na słowa we wbudowanym poleceniu read.
              Jego          domyślną           wartością           jest
              ,,<spacja><tabulacja><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
              kategorii    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
              sekwencje 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
              dopasowywania 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
              formatowania 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świetleniem głównej zachęty.  Jeśli zmienna ta nie jest
              ustawiona, 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
              pocztowego.  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
              podczas  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
              wypisywana  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;
              nawiasy 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
                        systemowym.
              %P        Procent  wykorzystania  CPU, liczony jako (%U +
                        %S) / %R.

              Opcjonalne   p   jest   cyfrą   określającą    dokadno
              (precision),    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świetlania ł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
              zatrzymanego  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
              HISTORII).      Pierwszy      znak      jest      znakiem
              interpretacjihistorii,       sygnalizującym      początek
              interpretacji historii,  zwykle  `!'.   Drugi  znak  jest
              znakiem  szybkiego podstawiania , ("quick substitution"),
              służącym jako skrót do powtórnego uruchamiania poprzednio
              wprowadzonego polecenia, 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 pierwszy 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
       indeksowane  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
       przypisanie    do   jakiejś   zmiennej   przy   pomocy   składni
       nazwa[wskanik]=warto.  Wskanik 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[wskanik] jest  również  akceptowane;  wskanik
       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ć  [wskanik]=acuch. Wymagany jest wyłącznie
       acuch. 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[wskanik]=warto wprowadzonej powyżej.

       Do    elementu    tablicy    można    odwoływac   się   używając
       ${nazwa[wskanik]}. Nawiasy są wymagane, by uniknąć konfliktów z
       rozwijaniem  nazw  plików.  Jeśli  wskanikiem  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[wskanik]}
       interpretowane  jest  jako  długość  ${nazwa[wskanik]}.   Jeśli
       wskanikiem 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[wskanik] niszczy element  tablicy  o  indeksie  wskanik.
       unset    nazwa,    gdzie   nazwa   jest   tablicą,   lub   unset
       nazwa[wskanik], gdzie wskanikiem 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
       interpretacji:   interpretacja   nawiasw   (brace   expansion),
       interpretacja tyld (tilde expansion), podstawianie parametrw  i
       interpretacja  zmiennych  (parameter  and  variable  expansion),
       podstawienie    wynikw    polece    (command    substitution),
       interpretacja  wyrae  arytmetycznych  (arithmetic  expansion),
       podzia na sowa (word  splitting)  i  rozwinicie  nazw  plikw
       (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 wynikw  procesw  (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  nawiasw  jest  mechanizmem, przez który mogą być
       generowane   dowolne   łańcuchy.    Mechanizm   ten   przypomina
       rozwinicia  nazw  plikw, ale generowane nazwy plików nie muszą
       określać   plików   istniejących.   Wzorce,   mające    podlegać
       interpretacji  nawiasów  mają  postać  opcjonalnej preambuy, 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
       interpretowane jest jako `ade ace abe'.

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

       Poprawnie  zbudowana  interpretacja   nawiasów   musi   zawierać
       niecytowany  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
       traktowany 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
       historycznymi   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ą  interpretacji  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
       skojarzonym 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
       argumentem.  Jeżeli w przedrostku  tyldy  znaki  występujące  po
       tyldzie  składają  się z liczby bez początkowego `+' lub `-', to
       przyjmowane 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ść
       niecytowanych przedrostków tyldy występujących bezpośrednio po :
       lub   =.   W  tych  przypadkach  również  jest  wykonywana  jest
       interpretacja 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
       nawiasy  klamrowe,  które  są  opcjonalne,  ale służą do ochrony
       interpretowanej  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
       pierwszy   `}',   nie  chroniony  przez  odwrotny  ukośnik,  nie
       znajdujący się  wewnątrz  cytowanego  łańcucha  ani  osadzony  w
       wyrażeniu   arytmetycznym,  podstawieniu  wyniku  polecenia  czy
       podstawieniu parametru.

       ${parametr}
              Podstawiana jest wartość parametru. Nawiasy  wymagane  są
              gdy  parametr  jest  parametrem  pozycyjnym  o więcej niż
              jednej 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
       porednia (indirect expansion).  Wyjątkiem jest tu interpretacja
       ${!przedrostka*} opisana poniżej.

       W  każdym  z  poniższych przypadków, sowo 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:-sowo}
              Używa   wartości   domyślnych.   Jeżeli   parametr   jest
              nieustawiony   lub    pusty,    to    podstawiane    jest
              zinterpretowane  sowo.   W przeciwnym razie, podstawiana
              jest wartość parametru.
       ${parametr:=sowo}
              Przypisuje  wartości  domyślne.   Jeżeli  parametr   jest
              nieustawiony   lub   pusty,   to   jest  mu  przypisywane
              zinterpretowane  sowo.    Następnie   podstawiana   jest
              wartość  parametru.   Nie  można w ten sposób przypisywać
              wartości parametrom pozycyjnym ani parametrom specjalnym.
       ${parametr:?sowo}
              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 sowo (lub
              komunikat o  takim  wyniku,  jeśli  brak  sowa).   Jeśli
              powłoka  nie  jest  interaktywna,  to  kończy  pracę.   W
              przeciwnym wypadku, podstawiana jest wartość parametru.
       ${parametr:+sowo}
              Używa  wartości  alternatywnej.   Jeżeli  parametr   jest
              nieustawiony  lub  pusty,  to nic nie jest podstawiane, w
              przeciwnym razie podstawiane jest zinterpretowane  sowo.
       ${parametr:offset}
       ${parametr:offset:dugo}
              Interpretacja  podłańcuchów.   Interpretuje  co  najwyżej
              dugo znaków parametru poczynając od znaków określonych
              przez  offset.  Jeśli  pominięto dugo, to interpretuje
              podłańcuch  parametru  poczynając  od  znaku  określonego
              przez   offset.   dugo   i   offset   są   wyrażeniami
              arytmetycznymi (zobacz OBLICZANIE WYRAŻEŃ  ARYTMETYCZNYCH
              poniżej).   dugo  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 dugo parametrów
              pozycyjnych, począwszy od offset.  Jeżeli  parametr  jest
              nazwą  tablicy  indeksowanej  przez  @ lub *, to wynikiem
              jest    dugo    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ść
              podstawiana jest liczbą elementów tablicy.

       ${parametr#sowo}
       ${parametr##sowo}
              sowo  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
              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
              powstała lista.

       ${parametr%sowo}
       ${parametr%%sowo}
              sowo  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
              powstała lista.

       ${parametr/wzorzec/acuch}
       ${parametr//wzorzec/acuch}
              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
              zinterpretowanej wartości zastępowane jest  acuchem.  W
              pierwszej   postaci,   zastępowane  jest  tylko  pierwsze
              dopasowanie. Druga postać powoduje zastąpienie wszystkich
              dopasowań  wzorca  acuchem.   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  acuch  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
              interpretacji jest powstała lista.

   Podstawianie wyników poleceń
       Podstawianie  wynikw  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
       odwrotnych  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ą
       wszystkie znaki pomiędzy nawiasami; żaden  nie  jest  traktowany
       specjalnie.

       Podstawianie  wyników  poleceń  może  być  zagnieżdżane.  W celu
       zagnież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
       interpretacji arytmetycznej:

              $((wyraenie))

       wyraenie  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 wyraenie jest
       nieprawidłowe,  bash  wypisuje  komunikat  o niepowodzeniu i nie
       występuje żadne podstawienie.

   Podstawianie wyników procesów (Process substitution)
       Podstawianie wynikw  procesw  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
       polecenia.  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ć
       odczytany 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,
       podstawianiem    wyników   poleceń   i   interpretacją   wyrażeń
       arytmetycznych.

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

       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
       przyległ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
       specjalnie.   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
       zaczynające się ,,.'', jednym ze  wzorców  w  GLOBIGNORE  należy
       zrobić ,,.*'' .  Opcja dotglob jest wyłączana, gdy kasowane jest
       GLOBIGNORE .

       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  wyraenie
              zakresu;  dopasowywany  jest nim dowolny znak, który przy
              sortowaniu   leksykalnym,   z   zastosowaniem   bieżącego
              ustawienia  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ść
              sortowania  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  znakw  (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 rwnowanoci, używając
              składni [=z=], która dopasowuje  wszystkie  znaki  o  tej
              samej   wadze   sortowania   (zdefiniowaną   w   bieżącym
              ustawieniu 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-wzorcw 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-wzorcw)
                     Dopasowuje zero  lub  jedno  wystąpienie  zadanych
                     wzorców
              *(lista-wzorcw)
                     Dopasowuje  zero  lub  więcej  wystąpień  zadanych
                     wzorców
              +(lista-wzorcw)
                     Dopasowuje jedno  lub  więcej  wystąpień  zadanych
                     wzorców
              @(lista-wzorcw)
                     Dopasowuje dokładnie jeden z zadanych wzorców
              !(lista-wzorcw)
                     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
       kolejności występowania, od lewej do prawej.

       W  poniższych  opisach,  jeśli  pominięto  deskryptor  pliku,  a
       pierwszym   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
       nawiasów,   interpretacji   tyldy,   interpretacji   parametrów,
       podstawianiu     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
                     duplikowany 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  sowa.   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]<sowo

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

       Ogólny format przekierowania wyjścia:

              [n]>sowo

       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
       sowa  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 sowo istnieje.

   Dołączanie przekierowanego wyjścia
       Przekierowanie  wyjścia  w ten sposób powoduje, że plik o nazwie
       wynikającej z interpretacji sowa 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]>>sowo

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

       Istnieją dwie postaci takiego przekierowania:

              &>sowo
       i
              >&sowo

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

              >sowo 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
       sowo  (bez  żadnych  kończących  odstępów).   Wszystkie wiersze
       przeczytane  do  tego  momentu   są   następnie   używane   jako
       standardowe wejście polecenia.

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

              <<[-]sowo
                      dokument wczony
              ogranicznik

       Na   sowie   nie   jest  wykonywana  interpretacja  parametrów,
       podstawiania  wyników  poleceń,  rozwijanie  nazw   plików   ani
       interpretacja  wyrażeń  arytmetycznych.   Jeżeli  jakieś znaki w
       sowie są  cytowane,  to  ogranicznik  jest  wynikiem  usunięcia
       cytowań  ze  sowa,  a  wiersze  w  dokumencie  włączonym nie są
       interpretowane.   Jeżeli  sowo  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 cytowania 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]<&sowo

       służy do powielania  deskryptorów  plików  wejściowych.   Jeżeli
       sowo  zinterpretowane  zostanie  jako jedna lub więcej cyfr, to
       deskryptor pliku oznaczony przez  n  czyniony  jest  kopią  tego
       deskryptora.   Jeżeli cyfry w sowie nie określają otwartego dla
       wejścia deskryptora, pojawia się  błąd  przekierowania.   Jeżeli
       sowo  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]>&sowo

       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  sowie  nie
       określają deskryptora pliku otwartego do  wyjścia,  pojawia  się
       błąd  przekierowania.   W przypadku specjalnym, jeżeli pominięto
       n, a sowo 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]<>sowo

       powoduje, że  plik  o  nazwie  wynikłej  z  interpretacji  sowa
       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
       istnieje jest tworzony.

ALIASY

       Aliasy  (czyli  synonimy)   pozwalają   na   zastąpienie   słowa
       łańcuchem,   gdy  zostanie  ono  użyte  jako  pierwsze  słowo  w
       poleceniu 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 pierwszego 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  =.
       Pierwsze  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
       ostatnim znakiem wartości aliasu jest odstp, to następne  słowo
       polecenia   występujące   po   aliasie   ma  również  sprawdzaną
       interpretację 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
       zagmatwane.   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
       przeczytania   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  bezpieczeń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
       GRAMATYKA  POWŁOKI,  przechowuje  szereg poleceń do późniejszego
       wykonania.  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
       proces (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
       ustawiana  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
       podpowł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
       Interpretacja 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
       przechwytywane   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  jednakowym   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
       wyra1 , wyra2
              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.
       Podwyraż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
              specjalnym.
       -c plik
              Prawda  jeśli  plik  istnieje  i  jest  znakowym  plikiem
              specjalnym.
       -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
              symbolicznym.
       -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
              efektywny id użytkownika.
       -G plik
              Prawda  jeśli  plik  istnieje  i  jego  właścicielem jest
              efektywny id grupy.
       -L plik
              Prawda   jeśli   plik   istnieje   i   jest   dowiązaniem
              symbolicznym.
       -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 acuch
              Prawda jeśli długość acucha wynosi zero.
       -n acuch
       acuch
              Prawda jeśli acuch ma długość niezerową.
       acuch1 == acuch2
              Prawda jeśli łańcuchy są równe. Zamiast == można użyć  =.
       acuch1 != acuch2
              Prawda jeśli łańcuchy nie są równe.
       acuch1 < acuch2
              Prawda  jeśli acuch1 przy sortowaniu występowałby przed
              acuchem2 według bieżącego ustawienia locale.
       acuch1 > acuch2
              Prawda jeśli acuch1  przy  sortowaniu  występowałby  po
              acuchu2 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
              przekierowania    zachowywane    są    do    późniejszego
              przetworzenia.

       2.     Słowa,    nie    będące   przypisaniami   zmiennych   ani
              przekierowaniami    są    interpretowane.    Jeżeli    po
              interpretacji  pozostaną jakieś słowa, to pierwsze z nich
              przyjmowane  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ń
              arytmetycznych  i  usuwaniu  cudzysłowów,  zanim zostanie
              przypisany do zmiennej.

       Jeżeli nie otrzymano  żadnej  nazwy  polecenia,  to  przypisania
       zmienncyh  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
       podstawienie 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
       polecenie  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
       wbudowanym i nie zawiera ukośników, to  bash  przeszukuje  każdy
       element   z  PATH  usiłując  znaleźć  katalog  zawierający  plik
       wykonywalny  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 poszukiwanie 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
       zawiera  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  powoki,  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
       WBUDOWANE 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
       wykonywalnego.   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
              wbudowanego 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
       odziedziczył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
       polecenie dziedziczy deskryptory plików  po  wołającej  powłoce,
       zmodyfikowane 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
       polecenia  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
       interpretacji 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ę
       przerwać).   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
       kontrola 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
       wbudowanego 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
       zatrzymywania (zawieszania -  suspend)  wykonywania  procesów  i
       późniejszej  kontynuacji  (wznawiania - resume) ich wykonywania.
       Użytkownik zwykle wykorzystuje to udogodnienie za  pośrednictwem
       interaktywnego 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 procesw
       biecego  terminala  (current  terminal  process   group   ID).
       Elementy  tej grupy procesów (procesy, których ID grupy procesów
       jest równy ID  grupy  procesów  bieżącego  terminala)  otrzymują
       generowane  z  klawiatury sygnały, takie jak SIGINT.  Mówimy, że
       procesy te  pracują  pierwszoplanowo.   Procesy  ta  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
       procesó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
       kontrolę  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
       opnione wstrzymanie (zwykle ^Y, Control-Y) powoduje, że proces
       zostanie zatrzymywany  gdy  będzie  usiłował  czytać  wejście  z
       terminala,  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 (typeahead).

       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
       zatrzymanego zadania ce.  Jeśli przedrostek pasuje do więcej niż
       jednego  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ę   biece   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'',
       przywracają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
       potomnego  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
       wypisuje  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
       polecenia,  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-klawisz,  np.,  C-n oznacza Control-N. Podobnie, meta klawisze
       zapisywane są jako M-klawisz, zatem  M-x  oznacza  Meta-X.   (Na
       klawiaturach  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 usuwajce (killing) tekst, tekst ten
       jest  zachowywany  to   ewentualnego   późniejszego   odzyskania
       (przywoania 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
       ustawiona, 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
       inicjacji  readline.   Puste  wiersze  są  ignorowane.   Wiersze
       rozpoczynają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
       readline 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
       klawisza (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
       universal-argument,   M-DEL   przypisane   jest    do    funkcji
       backward-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
       universal-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
                     szesnastkowa  liczba  nnn  (jedna  lub  dwie cyfry
                     szesnastkowe)

       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ń
       klawiszy 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 sygnau.  Jeli ustawiona  na  visible,
              readline  posuguje  si  "widzialnym dzwonkiem" (visible
              bell), jeli jest dostpny.  Jeeli ustawiona na audible,
              readline usiuje uzyska sygna dwikowy 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.
              editing-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
              synonimem 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
              readline 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
              ustawionym ó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
                     pierwszym    -.   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
                     korzystają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
       wpisywania  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.
       Wyszukiwanie 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
       zawierają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
       klawiszy, 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
              odtwarza wiersz historii do stanu pierwotnego.
       previous-history (C-p)
              Śprowadza  poprzednie   polecenie   z   listy   historii,
              przesuwają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
              przesuwają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
              przesuwają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
              wyszukiwanie 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ż
              interpretację 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
              punktem,  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
              poprzednie 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ą
              argument.   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żytkownika (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
              dopasowania,  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
              przechodzenie   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ć  przypisane  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,
              traktują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,
              traktują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,
              traktują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
              dopasować 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
              wierszami 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
              Interpretacja 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
              poprzednie 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ść
              zmiennej    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
              rozwijania  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
              utworzone  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
              argument 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
       complete   (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
       dopasowań, 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
       przedrostkiem  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
       przypisywane  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 dopasowań.

       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
       wbudowanym  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
       wykorzystywana  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 podstawieniem  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 HISTCONTROL.

       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
       POLECENIA  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ż HISTFILESIZE 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
       historii,   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
       strumienia   wejściowego,  ułatwiając  powtarzanie  poleceń  lub
       poprawianie 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
       podczas 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ą  sowami.   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
       separowanych 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 cudzysł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ą
       natychmiast 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
       poprawienia.   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
       faktycznego 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'.
       !acuch
              Wskazuje na ostatnie  poleceniem  rozpoczynające  się  od
              acucha.
       !?acuch[?]
              Wskazuje   na  ostatnie  polecenie  zawierające  acuch.
              Kończące ? można pominąć jeśli bezpośrednio  po  acuchu
              występuje znak nowej linii.
       ^acuch1^acuch2^
              Szybkie   podstawianie.   Powtarza   ostatnie  polecenie,
              wymieniając    acuch1    na    acuch2.     Rónoważnik
              ,,!!:s/acuch1/acuch/'' (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 `?acuch?'.
       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   acuch   w
              wyszukiwaniu !?acuch[?].
       &      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
              separator  jest  opcjonalny  jeżeli jest ostatnim znakiem
              wiersza zdarzenia.

WBUDOWANE POLECENIA POWŁOKI

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

        .  plik [argumenty]
       source plik [argumenty]
              Odczytuje   i  wykonuje  polecenia  z  zadanego  pliku  w
              aktualnym środowisku powłoki  i  zwraca  kod  zakończenia
              ostatniego  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 poszukiwany 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 sourcepath, to PATH  nie  jest  przeszukiwane.
              jeśli   podano   jakieś   argumenty,  to  stają  się  one
              parametrami  pozycyjnymi  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
              standardowym  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 wartoci
              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 wartoci,
              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  biece 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_powoki
       bind [-m keymap] sekw_klaw:nazwa_funkcji
              Wyświetla   bieżące   ustawienia   przypisań   (bindings)
              klawiszy  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.
                     Akceptowanymi  nazwami  map  klawiszyemacs,
                     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-standard.
              -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
                     readline.
              -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
                     readline.
              -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
                     przypisanych do danej funkcji.
              -r sekw_klaw
                     Usuwa bieżące przypisania dla sekwencji  klawiszy.
              -x sekw_klaw:polec_powoki
                     Powoduje,  że  za  każdym  naciśnięciem  sekwencji
                     klawiszy zostanie wykonane polecenie powoki.

              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ą
              wbudowanego  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
              wbudowanym 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.
              Alternatywne nazwy  katalogów  w  CDPATH  rozdzielane  są
              dwukropkiem  (:)>  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
              gwarantuje 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świetlone 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] [sowo]
              Tworzy możliwe dopasowania uzupełnień dla sowa 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
              ustawiane  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
              specyfikacji uzupełniania z tymi samymi flagami.   Jeżeli
              podano    sowo,   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
              dopasowania.

       complete [-abcdefgjkvu] [-o opcjacomp] [-A  akcja]  [-G  wzglob]
       [-W listasw] [-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
              Programowalne 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
                              dopasowań.
                      dirnames
                              Wykonuje  uzupełnianie   nazw   katalogów
                              jeśli   compspec   nie   utworzy  żadnych
                              dopasowań.
                      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).
                              Zaprojektowane  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
                              akceptuje 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
                      rozwijany, tworząc listę możliwych uzupełnień.
              -W listasw
                      listasw 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
                      podpowł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
                      zmiennej 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
              continue.

       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;
              wypisywane  są  tylko nazwy i atrybuty funkcji.  Opcja -F
              implikuje   -f.    Poniższych   opcji   można   użyć   do
              ograniczenia  wyników do zmiennych o określonym atrybucie
              lub do nadania 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
                     zmiennej  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
              tablicowej. 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 przypisania 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
              katalogó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
              biece.   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
              interpretuje   --  jako  oznaczenia  końca  opcji.   echo
              interpretuje 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
                     szesnastkowa 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  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ń
              wbudowanych  powłoki.   Bez  innych argumentów opcyjnych,
              lista ta składa  się  ze  wszystkich  włączonych  poleceń
              wbudowanych.    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    ,,specjalnych''    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   wbudowanego   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 argumentw, 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
              niepowodzenie.  Powłoka interaktywna zwraca niepowodzenie
              jeśli plik nie może zostać wykonany.  Jeżeli  nie  podano
              polecenia,  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
              wykonanego   polecenia.    Przed   końcem  pracy  powłoki
              wykonywane jest przechwycenie sygnału EXIT.

       export [-fn] [nazwa[=sowo]] ...
       export -p
              Podane   nazwy   zaznaczane    są    do    automatycznego
              wyeksportowania  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=zastpienie] [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
              pierwszego, 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
              standardowym   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  zastpienie.
              Przydatnym  aliasem  do  wykorzystania  z  tą  formą jest
              ,,r=fc  -s'',  tak,  że  napisanie  ,,r  cc''   uruchamia
              ostatnie   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
              biece  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
              kontroli  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 acuch_opcji nazwa [argumenty]
              getopts  używane  jest przez procedury powłoki do analizy
              parametrów  pozycyjnych.   acuch  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
              ustawiana 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
              pierwszym  znakiem  acucha  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   pierwszym   znakiem   acucha   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
              diagnostyczny.

              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
              wszystkie  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ą
              wypisywana   jest   nazwa.   Jeżeli  nie  podano  żadnych
              argumentó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
              historii;  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,
                     nadpisując jego zawartość.
              -p     Na   zadanych  argumentach  wykonuje  podstawianie
                     historii (history substitution). Wyświetla  wyniki
                     na standardowym wyjściu.  Nie zachowuje wyników na
                     liście.  Każdy z argumentw musi być cytowany,  by
                     wyłączyć normalną interpretację historii.
              -s     Zachowuje   argumenty   na  liście  historii  jako
                     pojedynczą pozycję. Przed  dodaniem  argumentw  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
              historii 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
              informacji  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
              zadania   znalezione   w   poleceniu   lub    argumentach
              odpowiednim   ID   grupy   procesów,  wykonuje  polecenie
              przesyłając mu argumenty, 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
              procesu 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
              przyjmuje  się SIGTERM.  Opcja -l listuje nazwy sygnałów.
              Jeżeli przy  podanym  -l  użyto  jakichś  argumentów,  to
              listowane  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
              procesu 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Ń
              ARYTMETYCZNYCH).   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
              katalogu na  wierzchołku.   Argumenty,  jeśli  występują,
              mają następujące znaczenie:
              +n     Usuwa   ntą   pozycję,   licząc  od  lewej,  listy
                     pokazywanej 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
                     pokazywanej  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  argumentw.   Jeżeli  format
              wymaga  większej  ilości  argumentw   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
              katalogiem 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
              katalogó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 zachta] [-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
              separatory 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
                     zmiennej  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 zachta
                     Wyświetla zacht (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
              przypisywany 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
              przypisaniami.   Jeśżli  podano  opcję  -f,  oznaczane są
              funkcje  o  nazwach  odpowiadających  nazwom.   Opcja  -a
              ogranicza zmienne do tablic.  Jeśli nie podano argumentów
              nazw  lub  jeśli  podano  opcję   -p,   wypisywane   jest
              zestawienie  wszystkich 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
              wykonywania skryptu przez polecenie .  (source), powoduje
              zatrzymanie  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
              zmiennych powłoki, w formacie  który  może  być  ponownie
              wykorzystany 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ń
                      drugoplanowych, 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
                      zawierają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
                              interaktywnych.
                      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świetlana jest seria poleceń set potrzebnych do
                      odtworzenia 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
                      wykonywana jest próba interpretacji nieustawionej
                      zmiennej, 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
                      argumenty.
              -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
                      interaktywnej.
              -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
                      argumenty,  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   argumentw,   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
              argumenty  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
                     zdefiniowanych  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
                      katalog, 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
                      wierszy.
              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-
                      interaktywna 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
                      nieudanego podstawienia historii historii.
              histverify
                      Jeżeli jest ustawione, a używane  jest  readline,
                      to    wyniki   podstawiania   historii   nie   są
                      natychmiast 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
                      interaktywnej powłoki zgłoszeniowej.
              interactive_comments
                      Jeśli    jest    włączone,   pozwala   by   słowo
                      rozpoczynają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
                      cmdhist, 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
                      uruchomiona 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
                      Rozwijanie  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
                      programowalnego   uzupełniania   (zobacz  powyżej
                      Programowalne uzupełnianie). Domyślnie  włączone.
              promptvars
                      Jeżeli   jest   ustawione,  to  łańcuchy  zachęty
                      podlegają 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
                      uruchomiona w trybie  okrojonym  (zobacz  POWŁOKA
                      OKROJONA  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
                      wypisuje   komunikat   o   błędzie   gdy   liczba
                      przesunięć  (przez   shift)   przekracza   liczbę
                      parametrów pozycyjnych.
              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
                      polecenia    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
              operatoró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.
              wyra1 -a wyra2
                     Prawda jeśli oba: wyra1 i wyra2 są prawdziwe.
              wyra1 -o wyra2
                     Prawda jeśli wyra1 lub wyra2 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
                     argument jest pusty. Jeśli pierwszy argument  jest
                     jednym z jednoargumentowych operatorów warunkowych
                     podanych  powyżej  w   WYRAŻENIA   WARUNKOWE,   to
                     wyrażenie     jest     prawdziwe    jeżeli    test
                     jednoargumentowy 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
                     dwuargumentowych 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  przypadkach  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
                     zastosowaniu reguł podanych powyżej.
              5 lub więcej argumentów
                     Wyrażenie   jest  poddawanie  analizie  składni  i
                     interpretowane   zgodnie   z   priorytetami   przy
                     zastosowaniu 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
              resetowane 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
              argument 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
              zestawienie  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,
              podczas 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
              wypisywane 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
              zawierajace  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
              procesó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 specjalnych 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
                     pojedynczego 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żytkownika   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.
              Zmienne  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
              zadania; jeśli  podano  określenie  zadania,  to  nastąpi
              oczekiwanie  na  wszystkie procesy w potoku tego zadania.
              Jeżeli nie podano n, następuje oczekiwanie  na  wszystkie
              aktualnie  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ą
       dozwolone 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
              wbudowanego 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
       uruchomieniowych.

       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
              interaktywnego
       ~/.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
       bashbug do  wysłania  zgłoszenia  błędu.   Jeśli  masz  poprawkę
       usuwającą   problem,   zachęcamy   do  przesłania  jej  również!
       Sugestie i `filozoficzne' zgłoszenia błędów mogą być  przesyłane
       [w  języku angielskim] 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.