Provided by: manpages-pl_0.6-2_all bug

NAZWA

       bash - GNU Bourne-Again SHell

SKŁADNIA

       bash [opcje] [łańcuch_polecenia | plik]

PRAWA AUTORSKIE

       Bash is Copyright (C) 1989-2013 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 Utilities specification (IEEE Standard 1003.1). Bash może być skonfigurowany w ten sposób, aby
       był domyślnie zgodny z normą POSIX.

OPCJE

       Oprócz jednoznakowych opcji powłoki  udokumentowanych  w  opisie  wbudowanego  polecenia  set,  polecenia
       wbudowane  mogą  być użyte jako opcje przy wywołaniu powłoki. Dodatkowo, bash przy wywołaniu interpretuje
       poniższe opcje:

       -c        Jeśli występuje opcja -c, to polecenia odczytywane są z pierwszego argumentu, niebędącego opcją
                 łańcucha_polecenia. Jeżeli po łańcuchu_polecenia istnieją argumenty, to są one przypisywane  do
                 argumentów pozycyjnych, poczynając od $0.
       -i        Jeżeli występuje opcja -i, to powłoka jest interaktywna.
       -l        Program  bash  będzie  działał  jakby  został  wywołany  jako powłoka zgłoszeniowa (patrz niżej
                 WYWOŁANIE).
       -r        Jeżeli występuje opcja -r, to powłoka staje się powłoką okrojoną  (restricted).  Patrz  poniżej
                 POWŁOKA OKROJONA.
       -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 łańcuchów  cytowanych  cudzysłowem  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 opcji 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,

       --debugger
              Ustawia profil debuggera do  wykonania,  przed  uruchomieniem  powłoki.  Włącza  rozszerzony  tryb
              debugowania (patrz opis opcji extdebug do wbudowanego polecenia shopt poniżej).
       --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 systemowego pliku inicjującego
              /etc/bash.bashrc i osobistego pliku  inicjującego  ~/.bashrc,  jeśli  powłoka  jest  interaktywna.
              Zobacz WYWOŁANIE poniżej.

       --login
              Równoważne -l.

       --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 systemowego pliku inicjującego /etc/bash.bashrc oraz 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 domyślne  działanie  różni  się  od  standardu  POSIX,  tak  by
              spełniać  standard  (tryb  posix).  Więcej  informacji  o tym, jak tryb posix wpływa na zachowanie
              powłoki można znaleźć w dokumencie do którego odsyła ZOBACZ TAKŻE.

       --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.  Najpierw  wykonywana jest próba otworzenia pliku w bieżącym
       katalogu, a następnie, jeśli się ona nie powiedzie, powłoka przeszukuje katalogi w PATH szukając skryptu.

WYWOŁANIE

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

       Powłoka  interaktywna  to taka, którą uruchomiono bez argumentów innych niż opcje i bez opcji -c; zarówno
       jej standardowe wejście jak i wyjście  powiązane  jest  z  terminalami  (tak  jak  określiła  to  funkcja
       isatty(3)), albo taka, którą uruchomiono z opcją -i.  Jeśli bash jest interaktywny, to ustawiane jest PS1
       zaś $- 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  /etc/bash.bashrc  i  ~/.bashrc, jeśli takie pliki istnieją.  Może to być zakazane za pomocą
       opcji --norc.  Opcja --rcfile plik wymusi odczyt i wykonanie poleceń z pliku zamiast z /etc/bash.bashrc i
       ~/.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  ze  standardowym  wejściem  podpiętym  do  połączenia
       sieciowego, przez demona powłoki zdalnej, zwykle rshd lub przez bezpiecznego demona powłoki sshd.  Jeżeli
       stwierdzi, że został uruchomiony w ten  sposób, 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 ani rshd, ani sshd
       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, zmienne SHELLOPTSP, BASHOPTS, CDPATH, i GLOBIGNORE, jeśli jest takie występują w  środowisku,
       są  ignorowane  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  słowo  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óry, gdy nie jest cytowany, oddziela słowa. Jeden z poniższych:
              |  & ; ( ) < > space tab
       operator sterujący
              token pełniący funkcję sterującą. Jest to jeden z poniższych symboli:
              || & && ; ;; ( ) | |& <newline>

SŁOWA ZASTRZEŻONE

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

       ! case  coproc  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 sterującym. Pierwsze słowo określa polecenie,
       jakie ma zostać wykonane i jest przekazywane jako argument numer zero.  Pozostałe słowa  są  przekazywane
       jako argumenty wywoływanego polecenia.

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

   Potoki
       Potok  jest  sekwencją jednego lub więcej poleceń rozdzielonych jednym z operatorów kontrolnych | lub |&.
       Formatem potoku jest:

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

       Standardowe wyjście  z  polecenia  połączone  jest  za  pośrednictwem  potoku  ze  standardowym  wejściem
       polecenia2.   Połączenie  to  wykonywane  jest  przed  możliwymi  przekierowaniami podanymi dla polecenia
       (zobacz poniżej PRZEKIEROWANIE. Jeśli użyte jest |&, to standardowe wyjście błędów polecenia razem z jego
       standardowym wyjściem jest połączone ze standardowym  wejściem  polecenia2  za  pomocą  potoku;  jest  to
       skrócona forma 2>&1 |. To bezpośrednie przekierowanie standardowego wyjścia błędów jest przeprowadzane po
       wszystkich przekierowaniach określonych przez polecenie.

       Zwracanym  kodem  zakończenia  potoku  jest kod zakończenia ostatniego polecenia, chyba że włączono opcję
       pipefail. W takim przypadku kod zakończenia potoku jest wartością ostatniego (po prawej) polecenia, które
       zakończyło się kodem niezerowym lub zero, jeśli wszystkie polecenia zakończyły  się  powodzeniem.  Jeżeli
       potok  poprzedza  zastrzeżone  słowo  !,  to  kod  zakończenia  takiego  potoku  jest  negacją (NOT) kodu
       zakończenia ostatniego polecenia, zgodnie z powyższym opisem. 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. Jeśli powłoka znajduje się w trybie posix, to nie rozpoznaje
       time jako słowa zastrzeżonego, jeśli kolejny token rozpoczyna się znakiem "-". 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.

       Jeśli  powłoka  znajduje  się  w  trybie  posix,  to  po  time może wystąpić znak nowego wiersza. W takim
       przypadku, powłoka wyświetla całkowity czas użytkownika i  systemu,  skonsumowany  przez  powłokę  i  jej
       potomków. Zmienną TIMEFORMAT można określić format informacji o czasie.

       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 <nowy-wiersz>.

       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.

       W zastępstwie średnika, w liście może pojawić się sekwencja jednego lub więcej znaków nowego wiersza.

       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.

       Listy AND i OR są sekwencjami jednego lub więcej potoków oddzielonych odpowiednio operatorami sterującymi
       && i ||. Listy AND i OR są wykonywane z pozostawioną łącznością. Lista AND ma postać

              polecenie1 && polecenie2

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

       Lista OR ma postać

              polecenie1 ⎪⎪ polecenie2

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

   Polecenia złożone
       Polecenie złożone jest jednym z poniższych. W większości przypadków lista w  opisie  polecenia  może  być
       oddzielona  od  reszty polecenie jedną lub więcej znakami nowego wiersza, a po niej zamiast średnika może
       wystąpić znak nowego wiersza.

       (lista)
              Lista wykonywana jest w podpowłoce (patrz ŚRODOWISKO  WYKONYWANIA  POLECEŃ  poniżej).  Przypisania
              zmiennych  i  polecenia wbudowane wpływające na środowisko powłoki nie zachowują swoich skutków po
              zakończeniu polecenia. Zwracanym kodem jest kod zakończenia listy.

       { lista; }
              Lista jest po prostu wykonywana w bieżącym środowisku powłoki.  Lista musi być zakończona  znakiem
              nowej  linii  lub  średnika.  Nazywane  jest  to  poleceniem  grupowania. Zwracanym kodem jest kod
              zakończenia listy.  Należy pamiętać, że w przeciwieństwie do metaznaków ( i ), { i  }słowami
              zastrzeżonymi  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 lub innego metaznaku powłoki.

       ((wyrażenie))
              Wyrażenie  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 zwracanym jest 1. Jest to ściśle równoważne konstrukcji let "wyrażenie".

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

              Operatory < i >, gdy są używane z [[, sortują zgodnie  z  porządkiem  leksykograficznym,  używając
              bieżącego ustawienia locale.

       Proszę  zapoznać  się  z  wbudowanym  poleceniem test (rozdział WBUDOWANE POLECENIA POWŁOKI poniżej), aby
       dowiedzieć się jak obsługiwane są parametry (np. sytuacja gdy ich nie podano).

       Jeśli używane są operatory == i !=, to łańcuch po prawej stronie operatora jest wzorcem i jest dopasowany
       zgodnie z opisanymi poniżej regułami Dopasowania wzorca, jakby włączono opcję powłoki extglob. Operator =
       jest równoważny ==. Jeśli włączono  opcję  powłoki  nocasematch,  to  przy  dopasowaniu  ignorowana  jest
       wielkość  liter.  Zwracaną  wartością jest 0 gdy łańcuch pasuje (==) lub nie pasuje (!=) i 1 w przeciwnym
       wypadku. Każda część wzorca może być cytowana, aby wymusić jej dopasowanie jako łańcuch.

       Dostępny jest dodatkowy operator dwuargumentowy =~, który ma ten sam priorytet co == i !=.  Gdy  zostanie
       użyty,  łańcuch  po  prawej  stronie operatora jest rozszerzonym wyrażeniem regularnym i jest odpowiednio
       dopasowywany (jak przez regex(3)). Zwracaną wartością  jest  0  gdy  łańcuch  pasuje  do  wzorca  i  1  w
       przeciwnym  wypadku. Jeśli wyrażenie regularne ma nieprawidłową składnię, zwracane jest 2. Jeśli włączono
       opcję powłoki nocasematch, to przy dopasowaniu ignorowana jest wielkość liter. Każda  część  wzorca  może
       być   cytowana,  aby  wymusić  jej  dopasowanie  jako  łańcuch.  Wyrażenia  w  nawiasach  będące  częścią
       wyrażeń regularnych muszą być traktowane z dużą ostrożnością, ponieważ zwykłe znaki  cytowania  trasą swe
       znaczenie  między  nawiasami. Jeśli wzorzec jest przechowywany w zmiennej powłoki, zacytowanie go wymusza
       dopasowanie całego wzorca jako  łańcucha.  Podłańcuch  dopasowany  przez  podwyrażenie  ujęte  w  nawiasy
       wewnątrz  wyrażenia regularnego, jest zapisywany w zmiennej tablicowej BASH_REMATCH. Element BASH_REMATCH
       z indeksem 0 jest częścią łańcucha pasującą do całego  wyrażenia  regularnego.  Element  tej  zmiennej  z
       indeksem n jest częścią łańcucha pasującą do n-tego podwyrażenia ujętego w nawiasy.

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

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

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

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

       case słowo in [ [(] wzorzec [ | wzorzec ] ... ) lista ;; ] ... esac
              Polecenie case najpierw interpretuje słowo i próbuje dopasować uzyskany wynik każdego z wzorców po
              kolei,  posługując  się  tymi  samymi  regułami  dopasowywania, co dla rozwijania nazw ścieżkowych
              (zobacz Rozwijanie nazw ścieżkowych poniżej). Słowo jest interpretowane  zgodnie  z  interpretacją
              tyldy, podstawianiem parametrów i zmiennych, podstawianiem wyrażeń arytmetycznych, wyników poleceń
              i  wyników procesów oraz usunięciem cytowań. Każdy sprawdzany wzorzec podlega interpretacji tyldy,
              podstawianiu parametrów i  zmiennych,  podstawianiu  wyrażeń  arytmetycznych,  wyników  poleceń  i
              wyników procesów. Jeśli włączono opcję powłoki nocasematch, to dopasowanie jest przeprowadzane bez
              uwzględniania  wielkości liter. Gdy znalezione zostanie dopasowanie, wykonywana jest odpowiadająca
              mu lista.  Jeśli  użyto  operatora  ;;,  nie  przeprowadza  się  próby  kolejnego  dopasowania  po
              znalezieniu   pierwszego  pasującego  wzorca.  Użycie  ;&  w  miejsce  ;;  powoduje  kontynuowanie
              wykonywania z powiązaną listą, z następnym zestawem wzorców. Jeśli użyje  się  w  zamian  ;;&,  to
              powłoka  sprawdza  następną  listę wzorców twierdzenia (jeśli istnieje) i wykonuje każdą powiązaną
              listę w przypadku pomyślnego dopasowania. Jeżeli żaden ze wzorców nie pasuje, to kodem zakończenia
              jest zero. W przeciwnym razie jest on 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-1; do lista-2; done
       until lista-1; do lista-2; done
              Polecenie while wykonuje listę lista-2 w sposób ciągły dopóty,  dopóki  ostatnie  polecenie  listy
              lista-1  nie  zwróci  kodu  zakończenia równego zero. Polecenie until działa podobnie do polecenia
              while, a jedyną różnicą jest to, że test jest zanegowany - lista-2 jest wykonywana tak  długo,  aż
              ostatnie  polecenie listy-1 nie zwróci kodu zakończenia różnego od zera. Kod wyjścia poleceń while
              i until jest kodem zakończenia ostatniego polecenia wykonanego z listy-2 lub zerem, jeśli żadne  z
              nich nie zostało wykonane.

   Współprocesy (koprocesy)
       Współproces  jest poleceniem powłoki poprzedzonym słowem zastrzeżonym coproc. Współproces jest wykonywany
       w podpowłoce w sposób asynchroniczny, jeśli polecenie  zostało  zakończone  operatorem  kontrolnym  &,  z
       ustawionym dwustronnym potokiem pomiędzy wykonującą go powłoką a współprocesem.

       Format współprocesu jest następujący:

              coproc [NAZWA] polecenie [przekierowania]

       W  ten sposób tworzy jest współproces o nazwie NAZWA. Jeśli nie podano NAZWY, domyślną jest COPROC. NAZWA
       nie może zostać podana, jeśli polecenie jest poleceniem prostym (patrz  powyżej),  w  przeciwnym  wypadku
       jest  interpretowane  jako  pierwsze  słowo  polecenia prostego. Gdy współproces jest wykonywany, powłoka
       tworzy zmienną tablicową (patrz Tablice  poniżej)  o  nazwie  NAZWA  w  kontekście  wykonywanej  powłoki.
       Standardowe  wyjście  polecenia  jest  połączone potokiem z deskryptorem pliku wykonywanej powłoki, a ten
       jest przypisany do NAZWA[0]. Standardowe wejście polecenia jest połączone potokiem z  deskryptorem  pliku
       wykonywanej  powłoki,  a  ten  jest  przypisany  do  NAZWA[1].  Ten potok jest ustawiany przed wszystkimi
       przekierowaniami podanymi z poleceniem (patrz PRZEKIEROWANIE  poniżej).  Deskryptory  pliku  mogą  zostać
       użyte  jako argumenty do poleceń powłoki i przekierowań, korzystając ze standardowych interpretacji słów.
       Deskryptory plików nie są dostępne w podpowłokach. Identyfikator procesu powłoki utworzonej do  wykonania
       współprocesu jest dostępny jako wartość zmiennej NAZWA_PID. Do czekania na zakończenie współprocesu można
       użyć wbudowanego polecenia wait.

       Ponieważ  współproces  jest  tworzony  jako  polecenie  asynchroniczne,  polecenie  coproc  zawsze zwróci
       powodzenie. Zwracanym statusem współprocesu jest kod zakończenia polecenia.

   Definiowanie funkcji powłoki
       Funkcja powłoki jest obiektem wywoływanym podobnie jako polecenie proste i wykonującym polecenie  złożone
       z nowym zestawem parametrów pozycyjnych. Funkcje powłoki deklaruje się w następujący sposób:

       nazwa () polecenie-złożone [przekierowanie]
       function nazwa [()] polecenie-złożone [przekierowanie]
              W  ten sposób definiowana jest funkcja o nazwie nazwa. Słowo zastrzeżone function jest opcjonalne.
              Jeśli je podano, to nawiasy są opcjonalne. Ciałem funkcji jest polecenie złożone polecenie-złożone
              (patrz Polecenia  złożone  powyżej).  Polecenie  jest  zwykle  listą  poleceń  objętych  nawiasami
              klamrowymi  {  i  },  ale  może  to być dowolne z poleceń wypisanych powyżej w rozdziale Polecenia
              złożone. Polecenie-złożone jest wykonywane ilekroć podano nazwę jako nazwę polecenia  prostego.  W
              trybie_posix  nazwa  nie  może  być  taka  sama,  jak jedno ze specjalnych słów wbudowanych POSIX.
              Wszystkie przekierowania (patrz PRZEKIEROWANIE poniżej) podane  podczas  definiowania  funkcji  są
              wykonywane  gdy  funkcja  jest wykonywana. Kod zakończenia definicji funkcji wynosi zero, chyba że
              wystąpił błąd składni, lub istnieje już funkcja tylko do  odczytu  o  tej  samej  nazwie.  Podczas
              wykonywania,  kodem  wyjścia  funkcji  jest  kod zakończenia ostatniego polecenia wykonanego w jej
              ciele. Patrz również 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 metaznaków podanych powyżej w DEFINICJACH posiada dla powłoki  specjalne  znaczenie  i  musi  być
       cytowany, jeśli ma oznaczać samego siebie.

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

       Istnieją trzy mechanizmy cytowania: znak specjalny (escape character), 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 \ oraz, gdy
       włączone jest dopełnianie z historii, !.   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.  Jeśli dopełnianie z historii jest włączone, to będzie wykonane,
       chyba że znak ! jest ujęty w cudzysłowy lub cytowany odwrotnym ukośnikiem. Odwrotny ukośnik poprzedzający
       ! nie jest usuwany.

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

       Słowa postaci $'łańcuch' traktowane są specjalnie. Słowo takie  interpretowane  jako  łańcuch,  w  którym
       znaki  poprzedzone  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
              \E     znak escape
              \f     znak wysuwu strony (form feed)
              \n     znak nowego wiersza (new line)
              \r     powrót karetki (carriage return)
              \t     tabulacja pozioma (horizontal tab)
              \v     tabulacja pionowa (vertical tab)
              \\     odwrotny ukośnik (backslash)
              \'     apostrof
              \"     cudzysłów
              \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)
              \uHHHH znak  Unicode  (ISO/IEC  10646)  o  wartości  szesnastkowej  HHHH  (jedna  do czterech cyfr
                     szesnastkowych)
              \UHHHHHHHH
                     znak Unicode (ISO/IEC 10646)  o  wartości  szesnastkowej  HHHHHHHH  (jedna  do  ośmiu  cyfr
                     szesnastkowych)
              \cx    znak kontrolny x

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

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

PARAMETRY

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

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

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

              nazwa=[wartość]

       Jeżeli  nie  podano  wartości, to zmiennej przypisywany jest łańcuch pusty. Wszystkie wartości przechodzą
       przez interpretację tyld, podstawianie parametrów, interpretację zmiennych, 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 alias, declare, typeset, export, readonly i local. W trybie posix te słowa  wbudowane
       mogą  wystąpić  w  poleceniu  po  jednym  lub  większej  liczby wystąpień polecenia wbudowanego command i
       zachowują właściwości instrukcji przypisania.

       W kontekście, w którym instrukcja przypisania przypisuje wartość  do  zmiennej  powłoki  lub  do  tablicy
       indeksowanej,  operator  += może posłużyć do dołączenia lub dodania do poprzedniej wartości zmiennej. Gdy
       += jest stosowane do zmiennej z ustawionym atrybutem liczby całkowitej, to wartość  jest  obliczana  jako
       wyrażenie  arytmetyczne  i  dodawana  do bieżącej wartości zmiennej, która również jest obliczana. Gdy +=
       jest stosowane do zmiennej tablicowej używając przypisania złożonego  (patrz  Tablice  poniżej),  wartość
       zmiennej  nie  jest  niszczona (jak to ma miejsce przy użyciu =), a nowe wartości są dołączane do tablicy
       poczynając  od  indeksu  większego  o  jeden  on  maksymalnego  indeksu  tablicy  (w   przypadku   tablic
       indeksowanych)  lub  jest  dodawana jako dodatkowa para klucz-wartość (w przypadku tablic asocjacyjnych).
       Gdy += jest stosowane do zmiennej łańcuch-wartość, to wartość jest interpretowana i dołączana do wartości
       zmiennej.

       Zmiennej można przypisać atrybut nazwa  referencyjna  (ang.  nameref)  za  pomocą  opcji  -n  przekazanej
       poleceniom  wbudowanym  declare  lub  local  (zob.  opisy  declare  i  local  niżej)  aby  utworzyć nazwę
       referencyjną lub odniesienie do innej zmiennej. Pozwala to na  pośrednie  operowanie  na  zmiennych.  Gdy
       zmienna  nazwy  referencyjnej  jest  przywoływana  lub  przypisywana,  operacja  ta jest w rzeczywistości
       wykonywana na zmiennej określonej wartością zmiennej nazwy odniesienia. Nazwa  referencyjna  jest  często
       używana aby odnieść się do zmiennej, której nazwa jest przekazywana jako argument do funkcji. Przykładowo
       nazwa zmiennej jest przekazywana do funkcji powłoki w pierwszym argumencie, wykonując
              declare -n ref=$1
       wewnątrz  funkcji  tworzącej  zmienną  nazwy  referencyjnej  ref,  której  wartością  jest nazwa zmiennej
       przekazana jako pierwszy argument. Odniesienie lub przypisanie ref jest traktowane jako  odniesienie  lub
       przypisania do zmiennej, której nazwę przekazano jako $1. Jeśli zmienna kontrolujące pętle for ma atrybut
       nazwy  referencyjnej, lista słów może być listą zmiennych powłoki, a nazwa zostanie przypisana za każdemu
       słowu z listy, w kolejności, przy wykonywaniu pętli. Zmienne tablicowe nie  mogą  otrzymać  atrybutu  -n,
       jednak  do  zmiennych  nazw  referencyjnych  mogą  odnosić  się  zmienne  tablicowe i wskaźniki zmiennych
       tablicowych. Nazwy referencyjne można  usunąć  stosując  opcję  -n  do  polecenia  wbudowanego  unset.  W
       przeciwnym  razie, gdy unset jest wykonywane z nazwą referencyjną jako argument, zmienna do której odnosi
       się nazwa referencyjna zostanie usunięta.

   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  nie
              pojawia  się  wewnątrz  cudzysłowów,  każdy  parametr pozycyjny jest interpretowany jako oddzielne
              słowo. W kontekście w jakim występują, te słowa ulegają kolejnemu podziałowi na słowa i rozwijaniu
              ścieżek. 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 wewnątrz słowa zachodzi interpretacja (ujęta w cudzysłowy), to
              pierwszy  zinterpretowany  parametr  jest łączony z początkiem oryginalnego słowa, a interpretacja
              ostatniego parametru jest łączona z końcem oryginalnego słowa. 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, gdy jest wykonywane jako
              polecenie asynchroniczne lub używając słowa wbudowanego bg (zob. niżej KONTROLA ZADAŃ).
       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.
       BASHOPTS
              Oddzielana dwukropkiem lista włączonych opcji  powłoki.  Każde  słowo  na  liście  jest  poprawnym
              argumentem  do  opcji  -s wbudowanego polecenia shopt (patrz WBUDOWANE POLECENIA POWŁOKI poniżej).
              Opcje pojawiające się w BASHOPTS są tymi, które są raportowane jako  włączone  (on)  przez  shopt.
              Jeśli  ta zmienna występuje w środowisku podczas uruchamiania bash, to każda opcja powłoki z listy
              będzie włączona przed odczytaniem plików startowych. Ta zmienna jest tylko do odczytu.
       BASHPID
              Zmienna przechowuje identyfikator bieżącego procesu bash. W określonych  przypadkach,  takich  jak
              sytuacja, gdy podpowłoki nie wymagają ponownej inicjalizacji bash, różni się od $$.
       BASH_ALIASES
              Zmienna  tablicy  asocjacyjnej,  której  wpisy odpowiadają wewnętrznej liście aliasów zarządzanych
              przez wbudowane polecenie alias. Elementy dodawane do tablicy pojawiają  się  na  liście  aliasów,
              usunięcie elementów tablicy powoduje usunięcie aliasów z listy aliasów.
       BASH_ARGC
              Zmienna  tablicowa,  której  wartościami  są  liczby  parametrów  każdej  ramki  w bieżącym stosie
              wywołania bash. Liczba parametrów bieżącego podprogramu (funkcji powłoki lub skryptu  wykonywanego
              przez  .  lub  source)  znajduje  się  na  górze  stosu.  Gdy  podprogram  jest wykonywany, liczba
              przekazanych parametrów jest przypisywana do BASH_ARGC.  Powłoka  ustawia  BASH_ARGC  wyłącznie  w
              rozszerzonym trybie debugowania (patrz opis opcji extdebug wbudowanego polecenie shopt poniżej).
       BASH_ARGV
              Zmienna tablicowa zawierająca wszystkie parametry bieżącego stosu wywołania bash. Ostatni parametr
              ostatniego  wywołania  podprogramu  jest  umieszczony  na  wierzchołku  stosu,  natomiast pierwszy
              parametr pierwszego wywołania na spodzie. Gdy  podprogram  jest  wykonywany,  liczba  przekazanych
              parametrów  jest  przypisywana  do  BASH_ARGV.  Powłoka ustawia BASH_ARGV wyłącznie w rozszerzonym
              trybie debugowania (patrz opis opcji extdebug wbudowanego polecenie shopt poniżej).
       BASH_CMDS
              Zmienna tablicy  asocjacyjnej,  której  wpisy  odpowiadają  wewnętrznej  liście  skrótów  poleceń,
              zarządzanej  przez  wbudowane polecenie hash. Elementy dodawane do tablicy pojawiają się na liście
              skrótów, usunięcie elementów tablicy powoduje usunięcie ich z tablicy skrótów.
       BASH_COMMAND
              Aktualnie wykonywane polecenie lub polecenie przeznaczone do wykonania, chyba że powłoka  wykonuje
              aktualnie  polecenie  będące wynikiem zadziałania pułapki - wówczas jest to polecenie wykonywane w
              czasie zadziałania pułapki.
       BASH_EXECUTION_STRING
              Argument polecenia do opcji wywołania -c.
       BASH_LINENO
              Zmienna tablicowa, której wartościami są numery wierszy plików źródłowych,  w  których  przywołano
              każdy  odpowiednik ze zmiennej FUNCNAME. ${BASH_LINENO[$i]} jest numerem wiersza w pliku źródłowym
              (${BASH_SOURCE[$i+1]}), gdzie przywołano ${FUNCNAME[$i]} (lub ${BASH_LINENO[$i-1]},  jeśli  odnosi
              się do innej funkcji powłoki). Proszę użyć LINENO, aby pobrać bieżący numer wiersza.
       BASH_REMATCH
              Zmienna  tablicowa,  której  wartości  są  przypisywane operatorem dwuargumentowym =~ do polecenia
              warunkowego [[. Element o  indeksie  0  jest  częścią  łańcucha  pasującego  do  całego  wyrażenia
              regularnego.  Element o indeksie n jest częścią łańcucha pasującego do n-tego podwyrażenia ujętego
              w nawiasy. Zmienna jest tylko do odczytu.
       BASH_SOURCE
              Zmienna  tablicowa,  której  wartościami  są  nazwy  plików  źródłowych,  w  których  zdefiniowano
              odpowiadające   nazwy   funkcji   powłoki   w   zmiennej   tablicowej  FUNCNAME.  Funkcja  powłoki
              ${FUNCNAME[$i]} jest zdefiniowana w pliku ${BASH_SOURCE[$i]} i wywoływana z ${BASH_SOURCE[$i+1]}..
       BASH_SUBSHELL
              Zwiększana o jeden, wewnątrz każdej powłoki lub  środowiska  podpowłoki,  gdy  powłoka  rozpoczyna
              wykonywanie w tym środowisku. Wartością początkową jest 0.
       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_KEY
              Klawisz   (lub  ostatni  klawisz  w  sekwencji  klawiszy)  użyty  do  wywołania  bieżącej  funkcji
              uzupełniania.
       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_TYPE
              Ustawiana  na  wartość  całkowitą odpowiadającą typowi uzupełnienia, którego próbę przeprowadzono,
              które  spowodowało  wywołanie  funkcji  uzupełnienia:  TAB,  do  normalnego  uzupełnienia,  ?,  do
              wypisywania  uzupełnień po udanej tabulacji, !, do wypisywania alternatyw częściowego uzupełnienia
              słowa, @, do wypisania uzupełnień, jeśli słowo nie zostało zmodyfikowane lub  %,  do  uzupełnienia
              menu.  Zmienna  ta  jest  dostępna tylko w funkcjach powłoki i zewnętrznych poleceniach wywołanych
              przez narzędzia programowalnego uzupełnienia powłoki (patrz poniżej Programowalne uzupełnienie).
       COMP_WORDBREAKS
              Zestaw znaków traktowanych przez bibliotekę readline jako separatory słów, podczas przeprowadzania
              uzupełnień słów. Jeśli unieważniono COMP_WORDBREAKS, to traci  swe  specjalne  właściwości,  nawet
              jeżeli jest następnie ponownie ustawiona.
       COMP_WORDS
              Zmienna  tablicowa (patrz Tablice poniżej) składająca się z pojedynczych słów z aktualnego wiersza
              poleceń. Wiersz jest dzielony na słowa tak, jak podzieliłby go readline, używając COMP_WORDBREAKS,
              zgodnie z opisem powyżej. 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).
       COPROC Zmienna  tablicowa  (patrz  poniżej Tablice) tworzona do zatrzymania deskryptorów plików z wyjścia
              lub wejścia nienazwanych współprocesów (zobacz Współprocesy (koprocesy) powyżej).
       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  zmiennej  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
              Zmienna  tablicowa zawierająca nazwy wszystkich funkcji powłoki obecnych w stosie wywołań. Element
              z indeksem 0  jest  nazwą  aktualnie  wykonywanej  funkcji  powłoki.  Najniższy  element  (tzn.  z
              najwyższym  numerem  indeksu)  to  "main".   Zmienna  istnieje  tylko  gdy wykonywana jest funkcja
              powłoki. Przypisania do FUNCNAME nie odnoszą skutku i zwracają  kod  błędu.  Jeśli  FUNCNAME  jest
              unieważniona, to traci swe specjalne właściwości, nawet jeśli jest następnie ponownie ustawiona.

              Zmienna  ta  może  zostać  użyta razem z BASH_LINENO i BASH_SOURCE. Każdy element FUNCNAME ma swój
              odpowiednik w BASH_LINENO i BASH_SOURCE opisujący stos  wywołania.  Na  przykład,  ${FUNCNAME[$i]}
              została  wywołana  z  pliku ${BASH_SOURCE[$i+1]} w wierszu o numerze ${BASH_LINENO[$i]}. Wbudowane
              polecenie caller wyświetla bieżący stos wywołania używając tej informacji.
       GROUPS Zmienna tablicowa zawierająca  listę  grup,  których  członkiem  jest  bieżący  użytkownik.  Próby
              przypisywania  wartości  do  GROUPS  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.
       MAPFILE
              Zmienna  tablicowa  (patrz  Tablice  poniżej)  tworzona  do zatrzymania tekstu odczytywanego przez
              wbudowane polecenie mapfile, gdy nie podano nazwy zmiennej.
       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 ustawiona.
       READLINE_LINE
              Zawartość bufora wiersza realine, do  użycia  z  "bind  -x"  (patrz  WBUDOWANE  POLECENIA  POWŁOKI
              poniżej).
       READLINE_POINT
              Pozycja  punktu  wprowadzania  w  buforze wiersza readline, do użycia z "bind -x" (patrz WBUDOWANE
              POLECENIA POWŁOKI poniżej).
       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  jest 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_COMPAT
              Wartość   używana   do   ustawienia   poziomu   kompatybilności  powłoki.  Opis  różnych  poziomów
              kompatybilności i ich skutki znajduje się przy poleceniu wbudowanym shopt  w  rozdziale  WBUDOWANE
              POLECENIA  POWŁOKI.  Wartość  może  być  liczbą  dziesiętną  (np.  4.2)  lub  całkowitą  (np.  42)
              określającą dany poziom kompatybilności. Jeśli BASH_COMPAT jest nieustawione,  lub  przypisano  mu
              łańcuch  pusty,  to  poziom  kompatybilności jest ustawiony na domyślny dla bieżącej wersji. Jeśli
              BASH_COMPAT ustawiono na wartość niebędącą poprawnym poziomem kompatybilności, to powłoka  wypisze
              komunikat  o  błędzie  i  ustawi  poziom kompatybilności na domyślny dla bieżącej wersji. Poprawne
              poziomy kompatybilności są takie jak opcje kompatybilności akceptowane przez  polecenie  wbudowane
              shopt  opisane  poniżej (np. compat42 oznacza, że poprawnymi wersjami są 4.2 i 42). Bieżąca wersja
              również jest poprawną wartością.
       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.
       BASH_XTRACEFD
              Jeśli ustawiono liczbę całkowitą odpowiadającą poprawnemu deskryptorowi  pliku,  to  bash  zapisze
              wyjście  stosu  wygenerowane  gdy set -x jest włączone do tego deskryptora pliku. Deskryptor pliku
              jest zamykany gdy BASH_XTRACEFD jest  usuwana  lub  przy  przypisaniu  nowej  wartości.  Usunięcie
              BASH_XTRACEFD  lub przypisanie jej łańcucha pustego powoduje wysłanie stosu na standardowe wyjście
              błędów. Proszę zauważyć, że ustawienie BASH_XTRACEFD na 2 (deskryptor  pliku  wyjścia  błędów),  a
              następnie usunięcie jej spowoduje zamknięcie standardowego wyjścia błędów.
       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".
       CHILD_MAX
              Ustawia  liczbę  wartości  kodów  wyjścia  zakończonych  procesów  potomnych,  które ma zapamiętać
              powłoka. Bash nie pozwoli na zmniejszenie tej wartości poniżej minimum  określonego  normą  POSIX,
              istnieje  również  wartość  maksymalna  (obecnie  8192),  której  nie można przekroczyć. Minimalna
              wartość jest zależna od systemu.
       COLUMNS
              Używana przez polecenie wbudowane select do wyznaczenia szerokości terminala przy wypisywaniu list
              wyboru. Ustawiana automatycznie, gdy włączono opcję checkwinsize oraz w powłoce  interaktywnej  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).
              Każdy element tablicy zawiera jedno możliwe uzupełnienie.
       EMACS  Gdy  bash  znajdzie  opisywaną  zmienną  w  środowisku  podczas  uruchamiania powłoki, z wartością
              ustawioną na "t", to przyjmuje, że powłoka działa  w  buforze  powłoki  Emacsa  i  wyłącza  edycję
              wiersza.
       ENV    Podobnie jak BASH_ENV; używana gdy powłoka jest wywołana w trybie POSIX.
       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:~" (cytowanie
              jest niezbędne przy przypisywaniu do tej zmiennej wartości zawierającej tyldy).
       FUNCNEST
              Gdy  jest  ustawiona  na  wartość  numeryczną  większą  od  zera,  definiuje   maksymalny   poziom
              zagnieżdżenia   funkcji.   Wywołania  funkcji  przekraczające  określony  poziom  będą  powodowały
              przerwanie bieżącego polecenia.
       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
              Lista  rozdzielonych  dwukropkami  wartości,  określającymi  sposób zapisywania w liście historii.
              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. Wartość
              erasedups  powoduje  usunięcie  z  historii  wszystkich  wcześniejszych  wierszy,  pasujących   do
              bieżącego,  przed  zapisaniem  listy.  Wszystkie wartości poza wymienionymi powyżej są ignorowane.
              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. Drugi i kolejne wiersze złożonego polecenia wielowierszowego nie są  sprawdzane  i  są
              dodawane do historii bez względu na wartość HISTCONTROL.
       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.
       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, przez
              usunięcie najstarszych wpisów. Plik historii jest także obcinany do tego rozmiaru po zapisaniu  go
              w  czasie  kończenia  pracy  przez powłokę. Jeśli wartość wynosi 0, plik historii jest obcinany do
              zera. Wartości nienumeryczne i wartości numeryczne mniejsze niż zero wstrzymują obcinanie. Powłoka
              ustawia wartość domyślną do wartości HISTSIZE po odczytaniu plików początkowych powłoki.
       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ń (zob.  HISTORIA poniżej). Jeśli wartość wynosi
              0, polecenia nie są zachowywane w historii. Wartości numeryczne mniejsze  niż  zero  powodują,  że
              każde  polecenie jest zapamiętywane w historii (znosi limit). Powłoka ustawia wartość domyślną 500
              po odczytaniu plików początkowych powłoki.
       HISTTIMEFORMAT
              Gdy ta zmienna jest ustawiona i nie jest pusta, jej wartość jest  użyta  jak  format  łańcucha  do
              strftime(3),   w  celu  wyświetlenia  pieczątki  czasowej  związanej  z  każdym  wpisem  historii,
              wyświetlanym przez wbudowane polecenie history. Gdy zmienna jest ustawiona, pieczątki  czasowe  są
              zapisywane  do  pliku  historii, dzięki czemu mogą być zachowywane między sesjami powłoki. Używany
              jest wówczas znak komentarza historii, aby  odróżnić  pieczątki  czasowe  od  pozostałych  wierszy
              historii.
       HOME   Katalog  domowy  bieżącego  użytkownika;  domyślny  argument wbudowanego polecenia cd. Wartość tej
              zmiennej wykorzystywana jest też przy wykonywaniu interpretacji tyld.
       HOSTFILE
              Zawiera nazwę pliku o tym samym formacie co /etc/hosts który powinien  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  dzieleniu  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ślny  plik  ~/.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 gdy włączono opcję checkwinsize oraz w powłoce interaktywnej po
              otrzymaniu 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 lub katalogu w formacie Maildir.
       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  lub  jest  ustawiona na wartość nie większą od zera lub zero, 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).  Nazwa  katalogu  zerowej  długości  (pusta)
              oznacza katalog bieżący. Pusty katalog można podać jako dwa złączone dwukropki lub początkowy albo
              końcowy  dwukropek.  Domyślna  ścieżka  zależy  od  systemu  i ustawiana jest przez administratora
              instalującego              bash.               Powszechną              wartością              jest
              ``/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin''.
       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 jako polecenie przed każdym wysłaniem
              zachęty głównej.
       PROMPT_DIRTRIM
              Gdy jest ustawiona na liczbę większa od zera, jej wartość jest używana  jako  liczba  początkowych
              składowych  katalogów  do usunięcia podczas interpretowania sekwencji specjalnych łańcucha zachęty
              \w i \W (patrz poniżej ZACHĘTA POWŁOKI). Usuwane znaki są zastępowane wielokropkiem.
       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 poziomów zagnieżdżenia.  Domyślnie jest to "+ ".
       SHELL  Pełna  ścieżka  powłoki  jest przechowywana w tej zmiennej środowiskowej. Jeśli nie jest ustawiona
              podczas uruchamiania powłoki, bash przypisuje jej wartość  pełnej  ścieżki  powłoki  zgłoszeniowej
              bieżącego użytkownika.
       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.
              %%        Dosłowny znak %.
              %[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ą dokładność  (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 l 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\t%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  TMOUT  jest  interpretowane  jako  domyślny  czas
              oczekiwania  wbudowanego  read. Polecenie select kończy się, jeśli dane nie zostaną wprowadzone po
              liczbie TMOUT sekund, jeżeli wejście pochodzi z  terminala.  W  przypadku  powłok  interaktywnych,
              wartość  jest  interpretowana jako liczba sekund określającą czas, przez jaki powłoka ma czekać na
              wprowadzenie wiersza danych po wyświetleniu głównej zachęty. Bash kończy pracę po odczekaniu  tego
              czasu jeśli pełen wiersz danych nie pojawił się.
       TMPDIR Jeśli jest ustawiona, bash używa jej wartości jako nazwy katalogu w którym tworzy pliki tymczasowe
              do użytku powłoki.
       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  interpretacji  historii,  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  indeksowane  i  asocjacyjne  zmienne tablicowe jednowymiarowe. Jako tablica może zostać
       użyta dowolna zmienna; wbudowane declare jawnie zadeklaruje tablicę. Nie ma maksymalnego rozmiaru tablic,
       ani wymagania, by wszystkie jej elementy były indeksowane czy przypisywane w  sposób  ciągły.  Do  tablic
       indeksowanych  można  się odwołać przy pomocy liczb całkowitych (w tym wyrażeń arytmetycznych), począwszy
       od zera; natomiast tablice asocjacyjne używają  konkretnych  łańcuchów.  Jeśli  nie  zaznaczono  inaczej,
       indeksy tablic indeksowanych muszą być nieujemnymi liczbami całkowitymi.

       Tablica  indeksowana  tworzona  jest  automatycznie jeśli wykonywane jest przypisanie do jakiejś zmiennej
       przy  pomocy  składni  nazwa[wskaźnik]=wartość.   Wskaźnik  tablicy  traktowany   jest   jako   wyrażenie
       arytmetyczne, które musi po interpretacji dać liczbę. Chcąc jawnie zadeklarować tablicę indeksowaną, użyj
       declare  -a  nazwa (zobacz WBUDOWANE POLECENIA POWŁOKI poniżej).  declare -a nazwa[wskaźnik] jest również
       akceptowane; wskaźnik jest wówczas ignorowany.

       Tablice asocjacyjne są tworzone za pomocą konstrukcji declare -A nazwa.

       Atrybuty mogą być podane do zmiennej tablicy przy użyciu declare i readonly. Każdy z atrybutów  stosowany
       jest do wszystkich elementów tablicy.

       Przypisania  do  tablic  wykonywane  są  przy  pomocy  przypisań  złożonych  postaci  nazwa=(wartość1 ...
       wartośćn), gdzie każda  wartość  ma  postać  [wskaźnik]=łańcuch.  Przypisania  tablic  indeksowanych  nie
       wymagają  niczego  oprócz  łańcucha.  Jeżeli  podano  opcjonalne  nawiasy  i  wskaźnik,  to  wartość jest
       przypisywana wskazanemu elementowi tablicy indeksowanej; w przeciwnym wypadku wartość  przypisywana  jest
       elementowi o indeksie o jeden większym od ostatniego elementu z przypisaną wartością. Indeks jest liczony
       od zera.

       Przy przypisywaniu do tablicy asocjacyjnej konieczne jest podanie wskaźnika.

       Składnia  ta  jest akceptowana także przy poleceniu wbudowanym declare. Pojedyncze elementy tablicy można
       przypisać  za  pomocą  składni  nazwa[wskaźnik]=wartość  wprowadzonej  powyżej.  Jeśli  wskaźnik  da   po
       interpretacji  liczbę mniejszą od zera, to jest używany jako przesunięcie od maksymalnego indeksu tablicy
       plus jeden (wskaźnik -1 odnosi się więc do ostatniego elementu tablicy).

       Do elementu tablicy można odwoływać się używając ${nazwa[wskaźnik]}.  Nawiasy  są  wymagane,  by  uniknąć
       konfliktów  z  rozwijaniem  nazw plików. Jeśli wskaźnikiem jest @ lub *, to powyższe słowo interpretowane
       jest jako wszystkie elementy nazwy.  Wskaźniki te różnią  się  tylko  wtedy,  gdy  słowo  pojawia  się  w
       cudzysłowach.  Jeśli słowo ujęto w cudzysłowy, to ${nazwa[*]} interpretowane jest jako pojedyncze słowo o
       wartości  wszystkich  elementów  tablicy  rozdzielonych  pierwszym  znakiem  zmiennej specjalnej IFS, zaś
       ${nazwa[@]} interpretuje każdy z elementów nazwa jako odrębne słowo. Jeśli brak jest  elementów  tablicy,
       to  ${nazwa[@]}  interpretowane  jest  jako  nic.  Jeśli  wewnątrz  słowa zachodzi interpretacja (ujęta w
       cudzysłowy), to pierwszy zinterpretowany  parametr  jest  łączony  z  początkiem  oryginalnego  słowa,  a
       interpretacja  ostatniego  parametru  jest  łączona  z  końcem  oryginalnego  słowa.  Jest  to zachowanie
       analogiczne do  interpretacji  parametrów  specjalnych  *  i  @  (zobacz  powyżej  Parametry  specjalne).
       ${#nazwa[wskaźnik]}  interpretowane jest jako długość ${nazwa[wskaźnik]}. Jeśli wskaźnikiem jest * lub @,
       to interpretacją jest liczba elementów w tablicy. Odwoływania się  do  zmiennej  tablicowej  bez  podania
       wskaźnika  jest  równoważne  odwołaniu  do elementu numer zero. Jeśli wskaźnik da po interpretacji liczbę
       mniejszą od zera, to jest używany jako przesunięcie od maksymalnego indeksu tablicy plus jeden  (wskaźnik
       -1 odnosi się więc do ostatniego elementu tablicy).

       Zmienna  tablicowa  jest  ustawiona,  jeśli  do wskaźnika przypisano wartość. Łańcuch pusty jest poprawną
       wartością.

       Można pozyskać zarówno Klucze  (wskaźniki)  tablicy  jak  i  wartości.  ${!nazwa[@]}  i  ${!nazwa[*]}  są
       interpretowane  jako  wskaźniki  przypisane  do zmiennej nazwa tablicy. expand to the indices assigned in
       array variable name. Gdy zastosowany jest cudzysłów, powłoka  zachowuje  się  podobnie  jak  w  przypadku
       interpretacji specjalnych parametrów @ i * w cudzysłowach.

       Do  niszczenia  tablic  służy wbudowane polecenie unset.  unset nazwa[wskaźnik] niszczy element tablicy o
       indeksie wskaźnik. Ujemne wskaźniki  tablic  indeksowany  są  intepretowane  zgodnie  z  opisem  powyżej.
       Konieczne  jest  zachowanie  wzmożonej  uwagi,  aby  zapobiec niechcianym skutkom rozwijania nazw plików.
       Polecenie unset nazwa, gdzie nazwa jest tablicą, lub unset nazwa[wskaźnik], gdzie wskaźnikiem jest *  lub
       @, usuwa całą tablicę.

       Każde  z  wbudowanych  declare,  local i readonly akceptuje opcję -a do określania tablic indeksowanych i
       opcję -A do określania tablic asocjacyjnych. Jeśli podano obie opcje, to pierwszeństwo ma  -A.  Polecenie
       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  nawiasów  (brace  expansion),  interpretacja  tyld  (tilde
       expansion), podstawianie  parametrów  i  interpretacja  zmiennych  (parameter  and  variable  expansion),
       podstawienie  wyników  poleceń  (command  substitution), interpretacja wyrażeń arytmetycznych (arithmetic
       expansion), podział na słowa (word splitting)  i rozwinięcie nazw plików (pathname expansion).

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

       Na systemach potrafiących to obsłużyć, istnieje dodatkowa dostępna  interpretacja:  podstawienie  wyników
       procesów  (process  substitution).  Jest  to  przeprowadzane  w tym samym czasie, jak interpretacja tyld,
       parametrów, zmiennych i wyrażeń arytmetycznych oraz poleceń.

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

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

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

       Sekwencja  wyrażeń  przyjmuje  postać  {x..y[..krok]},  gdzie  x  i  y są albo liczbami całkowitymi, albo
       pojedynczymi znakami, a opcjonalny krok jest  liczbą  całkowitą.  Gdy  podane  są  liczby  całkowite,  to
       wyrażenie  jest  rozwijane  do  wszystkich  liczb  pomiędzy  x  i  y  (włącznie).  Podane liczby mogą być
       poprzedzone 0, które wymusza identyczną szerokość każdej z wynikowych liczb. Gdy x lub  y  zaczynają  się
       zerem,  to  powłoka  próbuje  wymusić utworzenie liczb zawierających tę samą liczbę cyfr, uzupełniając je
       zerami tam, gdzie zachodzi taka potrzeba. Gdy  podano  znaki,  wyrażenie  jest  rozwijane  do  wszystkich
       znaków, znajdujących się leksykalnie (w domyślnych locale C) pomiędzy x a y (włącznie). Proszę odnotować,
       że  x  i  y  muszą  być  tego  samego  typu.  Gdy  podano  krok, to jest on używany jako różnica pomiędzy
       poszczególnymi wynikami. W zależności od podanych wartości, domyślnym krokiem jest 1 lub -1.

       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 nie 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. Parametr jest parametrem powłoki opisanych powyżej PARAMETRY
              lub odniesieniem do tablicy (Tablice).

       Jeżeli pierwszym znakiem parametru jest  wykrzyknik,  to  rozpoczyna  on  poziom  zagnieżdżenia  zmiennej
       pośredniej.   Bash  posługuje  się  wartością zmiennej utworzonej z reszty parametru jako nazwą zmiennej;
       zmienna ta jest następnie interpretowana a w dalszym podstawianiu używana jest otrzymana wartość  zamiast
       wartości  samego  parametru.  Znane jest to jako interpretacja pośrednia (indirect expansion).  Wyjątkami
       są interpretacja ${!przedrostek*} i ${!nazwa[@]} opisane poniżej. Aby wprowadzić interpretację pośrednią,
       wykrzyknik musi występować bezpośrednio po lewym nawiasie klamrowym.

       W  każdym  z  poniższych  przypadków,  słowo  podlega  interpretacji  tyldy,   podstawianiu   parametrów,
       podstawianiu wyników poleceń i interpretacji wyrażeń arytmetycznych.

       Gdy  nie  przeprowadza  interpretacji  podłańcuchów,  za  pomocą  opisanych  poniżej formuł (np. :-) bash
       sprawdza czy parametr nie jest pusty lub nieustawiony. Pominięcie dwukropka skutkuje sprawdzeniem jedynie
       tego, czy parametr nie jest nieustawiony.

       ${parametr:-słowo}
              Używa wartości domyślnych. Jeżeli parametr  jest  nieustawiony  lub  pusty,  to  podstawiane  jest
              zinterpretowane słowo.  W przeciwnym razie, podstawiana jest wartość parametru.
       ${parametr:=słowo}
              Przypisuje   wartości  domyślne.   Jeżeli  parametr  jest  nieustawiony  lub  pusty,  to  jest  mu
              przypisywane zinterpretowane słowo.  Następnie podstawiana jest wartość parametru.   Nie  można  w
              ten sposób przypisywać wartości parametrom pozycyjnym ani parametrom specjalnym.
       ${parametr:?słowo}
              Wyświetla  błąd  jeśli pusty lub nieustawiony.  Jeżeli parametr jest nieustawiony lub pusty, to na
              standardowe wyjście błędów zapisywane jest zinterpretowane słowo (lub komunikat  o  takim  wyniku,
              jeśli  brak  słowa).  Jeśli powłoka nie jest interaktywna, to kończy pracę.  W przeciwnym wypadku,
              podstawiana jest wartość parametru.
       ${parametr:+słowo}
              Używa wartości alternatywnej.  Jeżeli parametr jest  nieustawiony  lub  pusty,  to  nic  nie  jest
              podstawiane, w przeciwnym razie podstawiane jest zinterpretowane słowo.
       ${parametr:przesunięcie}
       ${parametr:przesunięcie:długość}
              Interpretacja  podłańcuchów.  Interpretuje  do  długości  znaków wartości parametru, poczynając od
              znaku określonego przesunięciem. Jeśli parametrem jest @, tablica indeksowana ze wskaźnikiem @ lub
              * lub nazwa tablicy asocjacyjnej, wynik różni się, zgodnie z poniższym opisem. Jeśli nie poda  się
              długości,   to   interpretuje  podłańcuch  wartości  parametru  poczynając  od  znaku  określonego
              przesunięciem i kończąc z końcem wartości. Długość i przesunięcie  są  wyrażeniami  arytmetycznymi
              (zob.  OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH poniżej).

              Jeśli  przesunięcie  wyniesie  mniej niż zero, wartość jest używana jako przesunięcie w znakach od
              końca wartości parametru.  Jeśli  długość  wyniesie  mniej  niż  zero,  jest  interpretowana  jako
              przesunięcie  w  znakach  od  końca  wartości parametru, a nie jako liczba znaków, a interpretacja
              będzie dotyczyć  znaków  pomiędzy  przesunięciem  i  tym  wynikiem.  Proszę  zauważyć,  że  ujemne
              przesunięcie  musi  być oddzielone od dwukropka przynajmniej jedną spacją aby zapobiec pomyleniu z
              wyrażeniem :-.

              Jeśli  parametrem  jest  @,  to  wynikiem  jest  długość  parametrów  pozycyjnych  poczynając   od
              przesunięcia.  Ujemne  przesunięcie  jest  liczone  w  odniesieniu do parametru o jeden więcej niż
              największy parametr pozycyjny, więc przesunięcie -1  jest  interpretowane  jako  ostatni  parametr
              pozycyjny. Jeśli długość będzie mniejsza od zera wystąpi błąd interpretacji.

              Jeśli  parametr  jest  nazwą  tablicy indeksowanej z wskaźnikiem @ lub *, to wynikiem jest długość
              elementów tablicy poczynając od ${parametr[przesunięcie]}.  Jeśli  wskaźnik  da  po  interpretacji
              liczbę  mniejszą  od  zera, to jest używany jako przesunięcie od maksymalnego indeksu tablicy plus
              jeden. Jeśli długość będzie mniejsza od zera wystąpi błąd interpretacji.

              Interpretacja  podłańcucha  zastosowana  do  tablicy  asocjacyjnej  da  w  wyniku  niezdefiniowany
              rezultat.

              Indeksowanie  podłańcuchów  zaczyna  się od zera, chyba że używane są parametry pozycyjne, wówczas
              indeksy liczy  się  domyślnie  od  1.  Jeśli  przesunięcie  wyniesie  0  i  użyje  się  parametrów
              pozycyjnych, do listy włącza się na początku $0.

       ${!przedrostek*}
       ${!przedrostek@}
              Nazywa  pasujący  przedrostek. Rozwija się w listę nazw tych zmiennych, których nazwy rozpoczynają
              się od przedrostka, rozdzielonych od siebie  pierwszym  znakiem  zmiennej  specjalnej  IFS.  Jeśli
              używane  jest  @,  a  interpretacja  jest  ujęta  w  cudzysłowy,  to  każda  nazwa  zmiennej  jest
              interpretowana jako oddzielne słowo.

       ${!nazwa[@]}
       ${!nazwa[*]}
              Lista kluczy z tablicy. Jeśli nazwa jest zmienną tablicową, jest  rozwijana  do  listy  wskaźników
              (kluczy)  tablicowych  przypisanych do nazwy. Jeśli nazwa nie jest tablicą, interpretowana jest do
              0, jeśli nazwa jest ustawiona lub pozostaje pusta w przeciwnym wypadku.  Gdy  używane  jest  !,  a
              interpretacja jest ujęta w cudzysłowy, każdy klucz jest rozwijany do oddzielnego słowa.

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

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

       ${parametr/wzorzec/łańcuch}
              Zastępowanie  wzorca.   Wzorzec  jest  interpretowany  w  identyczny sposób jak to ma miejsce przy
              rozwijaniu nazw plików. Parametr jest rozwijany, a najdłuższe dopasowanie wzorca do jego  wartości
              jest  zastępowane  łańcuchem.  Jeśli  wzorzec rozpoczyna się /, to wszystkie dopasowania wzorca są
              zastępowane łańcuchem. Normalnie, zastępowane  jest  tylko  pierwsze  dopasowanie.  Jeśli  wzorzec
              rozpoczyna  się  #, to musi pasować do początku zinterpretowanej wartości parametru. Jeśli zaczyna
              się %, musi natomiast  pasować  do  końca  tej  wartości.  Jeśli  łańcuch  jest  pusty,  wszystkie
              dopasowania  wzorca są usuwane, a początkowy / wzorca może zostać pominięty. Jeśli parametrem jest
              @ lub *, to operacja podstawiania jest przeprowadzana na każdym parametrze pozycyjnym z  kolei,  a
              zinterpretowanym  wynikiem  jest  powstała  lista. Jeśli parametr jest zmienną tablicową, w której
              jako indeks podano @ lub *, to operacja podstawiania jest przeprowadzana na każdym jej  wpisie  po
              kolei, a zinterpretowanym wynikiem jest powstała lista.

       ${parametr^wzorzec}
       ${parametr^^wzorzec}
       ${parametr,wzorzec}
       ${parametr,,wzorzec}
              Modyfikacja  wielkości  znaków.  Ta  interpretacja  modyfikuje  wielkość zawartych liter zgodnie z
              parametrem. Wzorzec jest interpretowany w taki sposób, jak czyni to rozwijanie nazw plików.  Każdy
              znak  w  interpretowanej  wartości  parametru  jest sprawdzany ze wzorcem i jeśli do niego pasuje,
              wielkość litery jest zmieniana.  Wzorzec  nie  powinien  dopasowywać  więcej  niż  jednego  znaku.
              Operator ^ konwertuje małe litery pasujące do wzorca na wielkie, operator , działa odwrotnie. ^^ i
              ,,  konwertują  każdy dopasowany znak interpretowanej wartości, natomiast ^ i , konwertują jedynie
              jej pierwszy znak. Jeśli nie podano wzorca, to przyjmuje się za niego ?, co  powoduje  dopasowanie
              każdego  znaku.  Jeśli 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 wyników poleceń (command substitution) pozwala  na  zastępowanie  nazwy  polecenia  wyjściem
       (wynikiem) z jego działania.  Posiada dwie postaci:

              $(polecenie)
       lub
              `polecenie`

       Bash  wykonuje  interpretację  wykonując  polecenie  i  zastępując  podstawiane polecenie jego utworzonym
       standardowym wyjściem, z usuniętymi końcowymi znakami nowej linii.  Zawarte wewnątrz wyniku  znaki  nowej
       linii  nie  są  usuwane,  ale mogą 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 jest poprzedzony przez $, ` 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:

              $((wyrażenie))

       Stary format $[wyrażenie] jest przestarzały i zostanie usunięty w przyszłych wersjach basha.

       wyrażenie traktowane jest tak, jakby było ujęte w cudzysłowy, ale cudzysłów wewnątrz  nawiasów  nie  jest
       traktowany  specjalnie.   Wszystkie  tokeny  w  wyrażeniu podlegają interpretacji parametrów i zmiennych,
       podstawianiu wyników poleceń i usuwaniu cudzysłowów. Wynik jest traktowany jako wyrażenie arytmetyczne do
       obliczenia. Wyrażenia arytmetyczne mogą być zagnieżdżane.

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

   Podstawianie wyników procesów (Process substitution)
       Podstawianie wyników procesów obsługiwane jest na  systemach  obsługujących  potoki  nazwane  (FIFO)  lub
       metodę  /dev/fd  nazywania  otwartych  plików.  Przybiera ono postać <(lista) lub >(lista).  Proces lista
       uruchamiany jest z wejściem i wyjściem podłączonym do  FIFO  lub  jakiegoś  pliku  w  /dev/fd.  W  wyniku
       interpretacji  nazwa  tego pliku przesyłana jest jako argument bieżącego 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 podziału na słowa.

       Powłoka traktuje każdy znak IFS jak separator i dzieli na słowa wyniki innych interpretacji, używając ich
       jako  separatorów  pól.  Jeżeli  IFS   nie   jest   ustawione   lub   jego   wartością   jest   dokładnie
       <spacja><tab><nowalinia>,  wartość  domyślna,  to  sekwencje  składające  się ze <spacji>, <tabulatora> i
       <nowejlinii> na początku i końcu wyników poprzednich interpretacji są ignorowane, a do podziału na  słowa
       służy  dowolna  sekwencja  znaków IFS, jeżeli nie znajduje się na początku lub końcu.  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 (zob.  Dopasowanie  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śli  ustawiona  jest
       opcja  failglob  powłoki i nie znaleziono dopasowań, to wyświetlany jest komunikat o błędzie, a polecenie
       nie jest wykonywane. Jeżeli włączona jest opcja nocaseglob powłoki, to  dopasowywanie  wzorca  wykonywane
       jest  bez  zwracania  uwagi na wielkość liter. Proszę zwrócić uwagę, ze gdy użyte są wyrażenia zakresowe,
       takie jak [a-z] (patrz niżej), mogą również zostać uwzględnione litery innej wielkości, w  zależności  od
       ustawienia LC_COLLATE. 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, failglob 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óżny od specjalnych znaków wzorca  opisanych  poniżej,  dopasowuje
       sam  siebie.  Znak  NUL nie może wystąpić we wzorcu. Odwrotny ukośnik cytuje następujący po nim znak; sam
       ukośnik jest pomijany podczas dopasowania. 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. Jeśli włączona jest opcja globstar
                     powłoki, a * jest użyte w kontekście rozwijania nazw plików, to dwa złączone znaki *  użyte
                     w  pojedynczym  wzorcu  dopasują  wszystkie  pliki  wraz  z  zerem  lub  więcej katalogów i
                     podkatalogów. Jeśli po dwóch gwiazdkach * wystąpi ukośnik /, to dopasowane  będą  wyłącznie
                     katalogi i podkatalogi.
              ?      Dopasowuje dowolny pojedynczy znak.
              [...]  Dopasowuje  jeden z ujętych w nawiasy kwadratowe znaków. Para znaków rozdzielona myślnikiem
                     opisuje wyrażenie zakresu; dopasowywany  jest  nim  dowolny  znak,  który  przy  sortowaniu
                     leksykalnym,  z  zastosowaniem  bieżącego 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 znaków (character classes), używając składni [:klasa:],
                     gdzie klasa jest jedną z poniższych klas zdefiniowanych w standardzie POSIX:
                     alnum alpha ascii blank cntrl digit graph lower print punct space upper word xdigit
                     Klasa  znaków  dopasowuje  dowolny znak należący do tej klasy. Klasa znaków word dopasowuje
                     litery, cyfry i znak podkreślenia "_".

                     Wewnątrz [ i ], można podać klasę równoważności, używając składni [=z=],  która  dopasowuje
                     wszystkie znaki o tej samej wadze sortowania (zdefiniowaną w bieżącym 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-wzorców  jest  listą  złożoną  z  jednego  lub
       więcej  wzorców rozdzielonych znakiem |.  Wzorce złożone można konstruować przy pomocy jednego lub więcej
       poniższych pod-wzorców:

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

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

PRZEKIEROWANIE

       Przed  wykonaniem  polecenia,  jego  wejście  i  wyjście mogą zostać przekierowane przy pomocy specjalnej
       notacji  interpretowanej  przez  powłokę.  Przekierowania  pozwalają  deskryptorom  plików   poleceń   na
       powielanie,  otwieranie, zamykanie, tworzenie odniesień do różnych plików oraz mogą zmieniać pliki, które
       odczytuje polecenie i do którego pisze. Przekierowań  można  też  używać  do  modyfikowania  deskryptorów
       plików w ś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.

       Każde przekierowanie, które może być poprzedzone numerem deskryptora pliku, może być w zamian poprzedzone
       słowem zapisanym następująco: {nazwa-zmiennej}. W takim przypadku, dla każdego operatora  przekierowania,
       z  wyjątkiem  >&-  i  <&-,  powłoka  nada  deskryptor  pliku  większy  lub  równy  10  i  przypisze go do
       nazwy-zmiennej. Jeśli >&- lub <&- jest poprzedzone {nazwą-zmiennej}, to wartość nazwy-zmiennej  definiuje
       deskryptor pliku przeznaczony do zamknięcia.

       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 i zmiennych,  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  do
                     odpowiedniego gniazda TCP.
              /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  do
                     odpowiedniego gniazda UDP.

       Nieudane otwarcie lub utworzenie pliku powoduje niepowodzenie przekierowania.

       Przekierowania używające deskryptorów plików, większych niż 9 muszą być używane z dużą ostrożnością, gdyż
       mogą być w konflikcie z deskryptorami plików używanymi wewnętrznie przez powłokę.

       Proszę  zauważyć,  że  wbudowane  polecenie  exec  może  tworzyć przekierowania odnoszące się do bieżącej
       powłoki.

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

       Ogólny format przekierowania wejścia:

              [n]<słowo

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

       Ogólny format przekierowania wyjścia:

              [n]>słowo

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

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

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

              [n]>>słowo

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

       Istnieją dwie postaci takiego przekierowania:

              &>słowo
       i
              >&słowo

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

              >słowo 2>&1

       Przy używaniu drugiej postaci, słowo nie może zostać zinterpretowane jako liczba ani  -.  Jeśli  tak  się
       stanie,  zadziała  inny  operator  przekierowania  (zob. Powielanie deskryptorów plików poniżej) z powodu
       kompatybilności wstecznej.

   Dołączanie standardowego wyjścia i wyjścia błędów
       Ta konstrukcja pozwala na dołączanie, standardowego wyjścia (deskryptor pliku 1) i standardowego  wyjścia
       błędów (deskryptor plików 2) do pliku, którego nazwą jest zinterpretowane słowo.

       Format dołączania standardowego wyjścia i wyjścia błędów:

              &>>słowo

       Jest to semantycznie równoważne

              >>słowo 2>&1

       (zob. Powielanie deskryptorów plików poniżej).

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

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

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

       Na  słowie  nie  jest  wykonywana  interpretacja  parametrów ani zmiennych, podstawiania wyników poleceń,
       rozwijanie nazw plików ani interpretacja  wyrażeń  arytmetycznych.   Jeżeli  jakieś  znaki  w  słowie  są
       cytowane,  to  ogranicznik jest wynikiem usunięcia cytowań ze słowa, a wiersze w dokumencie włączonym nie
       są interpretowane.  Jeżeli słowo nie jest cytowane,  wszystkie  wiersze  dokumentu  włączonego  podlegają
       interpretacji   parametrów,  podstawianiu  poleceń  i  interpretacji  wyrażeń  arytmetycznych.  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.

   Łańcuchy włączone (Here Strings)
       Wariant dokumentów włączonych, którego format jest następujący:

              <<<słowo

       Słowo  podlega  interpretacji  nawiasów,  interpretacji  tyldy,  interpretacji  parametrów  i  zmiennych,
       podstawianiu  wyników  poleceń,  interpretacji wyrażeń arytmetycznych i usuwaniu cytowań. Rozwijanie nazw
       plików i podział na słowa nie jest przeprowadzane. Wynik  jest  przekazywany  poleceniu  jako  pojedynczy
       łańcuch na jego standardowe wejście.

   Powielanie deskryptorów plików
       Operator przekierowania

              [n]<&słowo

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

       Operator

              [n]>&słowo

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

   Przenoszenie deskryptorów plików
       Operator przekierowania

              [n]<&słowo-

       przenosi deskryptor pliku słowo do deskryptora pliku n lub, jeśli nie podano n,  na  standardowe  wejście
       (deskryptor pliku 0). Słowo jest zamykane po zduplikowaniu do n.

       Podobnie, operator przekierowania

              [n]>&słowo-

       przenosi  deskryptor  pliku  słowo do deskryptora pliku n lub, jeśli nie podano n, na standardowe wyjście
       (deskryptor pliku 1).

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

              [n]<>słowo

       powoduje, że plik o nazwie wynikłej z interpretacji słowa zostanie otwarty do odczytu i zapisu.  Odczyt i
       zapis będą wykonywane z deskryptora pliku n lub standardowego wejścia  (deskryptor  pliku  0)  jeśli  nie
       podano n.  Jeżeli plik nie istnieje, to 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. Znaki /, $, ` i = i wszystkie  metaznaki  powłoki  oraz
       znaki  cytowania  wypisane  powyżej  nie  mogą  być nazwą aliasu. Tekst zastępujący może zawierać dowolne
       poprawne wejście powłoki, łącznie z metaznakami powłoki. 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  odstęp,
       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
       następującymi  wyjątkami:  pułapki  (trap) DEBUG i RETURN (zobacz opis wbudowanego trap poniżej, w sekcji
       WBUDOWANE POLECENIA POWŁOKI) nie są dziedziczone, chyba że funkcja ma podany atrybut  trace  (patrz  opis
       wbudowanego  declare  poniżej)  lub  opcja  powłoki -o functrace została włączona wbudowanym set (w takim
       przypadku wszystkie funkcje dziedziczą pułapki DEBUG i RETURN). Pułapka ERR nie jest dziedziczona,  chyba
       że włączono opcję -o errtrace 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śli  zmienna  FUNCNEST  zostanie  ustawiona  na  wartość  liczbową  większą  od 0, to będzie definiować
       maksymalny poziom zagnieżdżenia funkcji. Wywołania funkcji  przekraczające  ten  poziom  będą  powodowały
       przerwanie całego polecenia.

       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. Każda funkcja  powiązana  z  pułapką  RETURN
       jest  wykonywana  przed  wznowieniem  wykonywania.  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 (i opcjonalnie plik źródłowy
       oraz numer wiersza, jeśli włączono opcję powłoki extdebug).  Funkcje można eksportować, tak że  będą  one
       automatycznie  zdefiniowane  w  podpowłokach.  Wykonuje się to przy pomocy opcji -f wbudowanego polecenia
       export. Definicję funkcji można usunąć opcją -f lub wbudowanym  unset.  Proszę  zauważyć,  że  funkcje  i
       zmienne  powłoki  posiadające  tę  samą  nazwę  mogą  dać  w wyniku wiele wpisów o identycznych nazwach w
       środowisku, przekazywanym do potomków powłoki. Należy zachować ostrożność w przypadkach, w  których  może
       to powodować problemy.

       Funkcje  mogą  być  rekurencyjne. Zmienna FUNCNEST może posłużyć do ograniczenia głębokości stosu wywołań
       funkcji i liczby wywołań funkcji. Domyślnie, 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 liczbach  całkowitych
       o  ustalonej  wielkości  (fixed-width),  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ż
              operator warunkowy
       = *= /= %= += -= <<= >>= &= ^= |=
              przypisanie
       wyraż1 , wyraż2
              przecinek

       Jako  operandy  dozwolone  są  zmienne  powłoki;  interpretacja  parametrów  przeprowadzana  jest   przed
       obliczeniem wyrażenia.  Wewnątrz wyrażenia, do zmiennych powłoki można się też odwoływać przez nazwę, bez
       użycia  składni  interpretacji  parametrów.  Zmienna  powłoki,  która  jest  pusta  lub nieustawiona jest
       przyjmowana jako 0, gdy odwołuje się do jej nazwy bez  używania  składni  interpretacji  parametrów.  Gdy
       wystąpi  odwołanie  się  do zmiennej lub gdy przypisano wartość zmiennej, której nadano wcześniej atrybut
       liczby całkowitej przy użyciu declare -i, to jej wartość  obliczana  jest  jako  wyrażenie  arytmetyczne.
       Pusta  wartość  jest  interpretowana  jako  0.  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 opcjonalna podstawa jest
       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. Gdy poda się n, 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.

       Jeśli  nie  określono  inaczej,  składowe  operujące  na plikach podążają za dowiązaniami symbolicznymi i
       działają na celu dowiązania, a nie na samym dowiązaniu.

       Gdy operatory < i > są używane z poleceniem  [[,  to  sortują  zgodnie  z  porządkiem  leksykograficznym,
       używając bieżącego ustawienia locale. Polecenie test sortuje korzystając z kolejności ASCII.

       -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 i 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.
       -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.
       -N plik
              Prawda jeśli plik istnieje i został zmodyfikowany od czasu jego ostatniego odczytu.
       -0 plik
              Prawda jeśli plik istnieje i jego właścicielem jest efektywny id użytkownika.
       -S plik
              Prawda jeśli plik istnieje i jest gniazdem.
       plik1 -ef plik2
              Prawda jeśli plik1 i plik2 odnoszą się do tego samego urządzenia i numeru i-węzła.
       plik1 -nt plik2
              Prawda,  jeśli  plik1  jest  nowszy (według daty modyfikacji) niż plik2 lub plik1 istnieje a plik2
              nie.
       plik1 -ot plik2
              Prawda, jeśli plik1 jest starszy niż plik2 lub plik2 istnieje a plik1 nie.
       -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.
       -v nazwa-zmiennej
              Prawda, jeśli zmienna powłoki zmienna-powłoki jest ustawiona (została jej przypisana wartość).
       -R nazwa-zmiennej
              Prawda, jeśli zmienna powłoki zmienna-powłoki jest ustawiona i jest nazwą referencyjną.
       -z łańcuch
              Prawda jeśli długość łańcucha wynosi zero.
       string
       -n łańcuch
              Prawda jeśli łańcuch ma długość niezerową.

       łańcuch1 == łańcuch2
       łańcuch1 = łańcuch2
              Prawda,  jeśli łańcuchy są sobie równe. = powinno być używane z poleceniem test, w celu zachowania
              zgodności z normą POSIX. Gdy używane jest z poleceniem  [[,  przeprowadzane  jest  dopasowanie  do
              wzorca, zgodnie z opisem powyżej Polecenia złożone).

       łańcuch1 != łańcuch2
              Prawda jeśli łańcuchy nie są równe.

       łańcuch1 < łańcuch2
              Prawda  jeśli  łańcuch1  przy sortowaniu występowałby przed łańcuchem2 według bieżącego ustawienia
              locale.

       łańcuch1 > łańcuch2
              Prawda jeśli łańcuch1 przy  sortowaniu  występowałby  po  łańcuchu2  według  bieżącego  ustawienia
              locale.

       arg1 OP arg2
              OP  jest  jednym  z  -eq,  -ne,  -lt,  -le, -gt lub -ge.  Te arytmetyczne operatory dwuargumentowe
              zwracają prawdę jeśli arg1 jest odpowiednio  równe  (eq),  nie  równe  (ne),  mniejsze  niż  (lt),
              mniejsze bądź równe (le), większe niż (gt) lub większe bądź równe (ge) arg2.  Arg1 i arg2 mogą być
              dodatnimi lub ujemnymi liczbami całkowitymi.

INTERPRETACJA POLECEŃ PROSTYCH

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

       1.     Słowa  oznaczone  przez  analizator  składni  jako  przypisania  zmiennych  (poprzedzające   nazwę
              polecenia) i 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  zmiennych  dotyczą  środowiska  aktualnej
       powłoki.  W  przeciwnym 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 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 wyszukiwanie  nie  powiedzie
       się,  powłoka  szuka  zdefiniowanej  funkcji  powłoki o nazwie command_not_found_handle. Jeśli ta funkcja
       istnieje, jest wywoływana z pierwotnym poleceniem i jego argumentami użytymi jako jej  argumenty,  a  kod
       wyjścia  funkcji  staje  się kodem wyjścia powłoki. Jeśli funkcja nie jest zdefiniowana, 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  powłoki,  plikiem  zawierającym  polecenia  powłoki.   Powoływana  jest
       podpowłoka  do jego wykonania. Powłoka ta reinicjuje się, zatem efekt jest taki, jakby do obsługi skryptu
       została wywołana nowa powłoka, z wyjątkiem tego, że położenia poleceń zapamiętane przez  rodzica  (zobacz
       hash poniżej w 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), na które składają się:

       •      otwarte pliki odziedziczone przez  powłokę  przy  wywołaniu,  zmodyfikowane  przez  przekierowania
              przekazane do wbudowanego polecenia exec

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

       •      maska trybu tworzonych plików ustawioną przez umask albo odziedziczoną po rodzicu powłoki

       •      bieżące pułapki ustawione przez trap

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

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

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

       •      opcje włączone przez shopt

       •      aliasy powłoki zdefiniowane przy pomocy alias

       •      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ładających się z  poniższych  elementów.  Jeśli  nie  podano  inaczej,
       wartości dziedziczone są z powłoki.

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

       •      bieżący katalog roboczy

       •      maska trybu tworzonych plików

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

       •      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.

       Podpowłoki  utworzone  do  wykonania  podstawiania  wyników poleceń dziedziczą wartość opcji -e z powłoki
       macierzystej. Jeśli bash nie działa w trybie posix, to czyści opcję -e w takich podpowłokach.

       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

       Podczas  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

       Kod  zakończenia  wykonanego  polecenia  jest  wartością  zwracaną  przez wywołanie systemowe waitpid lub
       funkcję będącą jego odpowiednikiem. Kody zakończenia mieszczą się w zakresie od 0 do 255, przy czym,  jak
       wyjaśniono  poniżej,  powłoka  może  używać  wartości  powyżej  125 w sposób specjalny. Kod zakończenia z
       wbudowanych poleceń powłoki i poleceń złożonych  również  są  ograniczone  do  powyższego  przedziału.  W
       szczególnych przypadkach, powłoka używa wartości specjalnych aby poinformować o konkretnym trybie błędu.

       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 procesów bieżącego 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  tła  to  takie,  których  ID  grupy procesów różni się od terminala; procesy takie są odporne na
       sygnały pochodzące z klawiatury.  Tylko procesom pierwszoplanowym wolno czytać i, jeśli użytkownik ustawi
       stty tostop, pisać na terminal. Do procesów tła usiłujących czytać z  (i  pisać  do,  jeśli  działa  stty
       tostop)  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 opóźnione
       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ę  bieżące  zadanie,  będące ostatnim zadaniem zatrzymanym, gdy było na pierwszym planie lub
       uruchomionym w tle.  Do poprzedniego zadania można odwoływać się przy pomocy %-.   W  wyjściu  odnoszącym
       się  do  zadań  (np. wyjście polecenia jobs), bieżące zadanie jest zawsze zaznaczone znakiem +, a zadanie
       poprzednie -. Pojedynczy % (bez towarzyszącego  określenia  zadania)  również  odnosi  się  do  bieżącego
       zadania.

       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 (lub, gdy  włączono
       opcję  powłoki  checkjobs używając wbudowanego shopt, działających zadaniach), powłoka wypisuje komunikat
       ostrzegawczy i, jeśli włączono opcję checkjobs wypisuje zadania wraz z ich stanem. 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
       wielu 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ń" (np. "Tue May 26")
              \D{format}
                     format  jest przekazywany do strftime(3), a wynik jest wstawiany do łańcucha zachęty. Pusty
                     format daje w wyniku czas w lokalnym formacie. Nawiasy klamrowe są wymagane
              \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 (carriage return)
              \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, z $HOME zapisanym w skrócie  tyldą  (używa  wartości  ze  zmiennej
                     PROMPT_DIRTRIM)
              \W     główna część nazwy bieżącego katalogu roboczego, z $HOME zapisanym w skrócie tyldą
              \!     numer tego polecenia w historii
              \#     numer polecenia tego polecenia
              \$     jeżeli efektywnym UID jest 0, to #, w przeciwnym razie $
              \nnn   znak odpowiadający ósemkowej 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 macsie.  Dostępny jest także interfejs edycji wiersza w stylu vi.   Edycja  wiersza  może
       zostać  włączona  w  dowolnym  czasie, przy użyciu opcji -o emacs lub -o vi wbudowanego polecenia set. 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 Control
       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 przedrostkiem meta (meta prefix).   Kombinacja  M-C-x
       oznacza  ESC-Control-x,  lub  naciśnij  klawisz  Escape,  następnie  przytrzymaj  klawisz Control podczas
       naciskania klawisza x.)

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

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

   Inicjalizacja Readline
       Readline  dostosowywane jest przy pomocy poleceń umieszczanych w pliku inicjującym (plik inputrc).  Nazwa
       tego pliku brana jest z wartości zmiennej INPUTRC.  Jeżeli zmienna ta nie jest 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  konstrukcji
       dozwolonych w pliku 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 ``Function Key 1''.

       Oto pełny zestaw sekwencji specjalnych w stylu GNU Emacs
              \C-    przedrostek control
              \M-    przedrostek meta
              \e     znak escape
              \\     odwrotny ukośnik (backslash)
              \"     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     znak wysuwu strony (form feed)
              \n     znak nowej linii
              \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 (wielkość znaków nie
       ma  znaczenia). Nierozpoznane nazwy zmiennych są ignorowane. Gdy odczytywana jest wartość zmiennej, puste
       lub wyzerowane wartości, "on" (bez względu na wielkość liter) i "1" są równoważne On. Wszystkie pozostałe
       wartości są równoważne Off. A oto zmienne i ich wartości domyślne:

       bell-style (audible)
              Kontroluje, co dzieje się gdy readline chce użyć sygnału dźwiękowego terminala. Jeśli ustawiona na
              none, readline nigdy nie emituje sygnału.  Jeśli ustawiona  na  visible,  readline  posługuje  się
              "widzialnym dzwonkiem" (visible bell), jeśli jest dostępny.  Jeżeli ustawiona na audible, readline
              usiłuje uzyskać sygnał dźwiękowy z terminala.
       bind-tty-special-chars (On)
              Jeśli  ustawiona  na  On,  readline  będzie  próbował przypiąć znaki kontrolne traktowane w sposób
              specjalny przez sterownik terminala jądra do ich odpowiedników readline.
       colored-stats (Off)
              Jeśli ustawiona  na  On,  readline  wyświetli  możliwe  dopasowania  za  pomocą  używając  kolorów
              wskazujących na ich typ pliku. Wzory kolorów są brane z wartości zmiennej środowiskowej LS_COLORS.
       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-prefix-display-length (0)
              Długość  (w  znakach)  wspólnego  przedrostka listy możliwych uzupełnień, które są wyświetlane bez
              modyfikacji. Gdy jest ustawiona na wartość większą od zera, wspólne  przedrostki  dłuższe  od  tej
              wartości są zastępowane wielokropkiem podczas wyświetlania dostępnych uzupełnień.
       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.
       echo-control-characters (On)
              Jeśli ustawione na On, readline wyświetla znak odpowiadający sygnałowi otrzymanemu z klawiatury, w
              systemach które informują o obsługiwaniu tej właściwości.
       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.
       enable-meta-key (On)
              Gdy  jest ustawiona na On, readline próbuje włączyć dostępne modyfikujące klawisze meta, o których
              obsługiwaniu zapewnia terminal, gdy są wywoływane. Na wielu terminalach meta klawisz jest  używany
              do wysyłania znaków ośmiobitowych.
       expand-tilde (Off)
              Jeżeli ustawione na On, podczas próby uzupełniania słów readline wykonuje interpretację tyldy.
       history-preserve-point (Off)
              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.
       history-size (0)
              Ustawia  maksymalną  liczbę  wpisów historii zapisywanych w liście historii. Gdy jest ustawiona na
              zero, istniejące wpisy są usuwane, a nowe nie są zapisywane. Gdy wartość jest  mniejsza  od  zera,
              liczba  wpisów  w  liście  historii jest nieograniczona. Domyślnie liczba wpisów w liście historii
              jest nieograniczona.
       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.
       keyseq-timeout (500)
              Określa  czas, jaki readline poczeka na znak, gdy odczytuje wieloznaczną sekwencję klawiszy (taką,
              która z dotychczasowego wejścia może  utworzyć kompletną  sekwencję  klawiszy  lub  może  otrzymać
              dodatkowe  wejście,  aby  utworzyć  kompletną,  dłuższą  sekwencję  klawiszy).  Jeżeli wejście nie
              zostanie wprowadzone w trakcie czasu oczekiwania, readline  użyje  krótszej  kompletnej  sekwencji
              klawiszy.  Wartość  jest  określona  w  milisekundach,  dlatego  1000 oznacza, że readline poczeka
              sekundę na dodatkowe wejście. Jeśli ta zmienna jest ustawiona na wartość mniejszą lub  równą zero,
              lub  na wartość nienumeryczną, readline poczeka na wciśnięcie dodatkowego klawisza, aby zdecydować
              którą sekwencję klawiszy uzupełnić.
       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ą (*).
       mark-symlinked-directories (Off)
              Gdy ustawiona na On, uzupełniane nazwy będące dowiązaniami symbolicznymi do katalogów, mają dodany
              znak ukośnika (przedmiot wartości mark-directories).
       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). Gdy ustawiona na  Off,
              początkowa kropka w nazwie jaka ma być uzupełniona, musi być wpisana przez użytkownika.
       menu-complete-display-prefix (Off)
              Gdy  ustawiona  na  On, uzupełnianie menu wyświetla wspólny przedrostek listy możliwych uzupełnień
              (który może być pusty) przed cyklicznym przełączaniem się między pozycjami z listy.
       output-meta (Off)
              Jeżeli ustawione na On, readline wyświetla znaki z ustawionym  ósmym  bitem  wprost  zamiast  jako
              sekwencje specjalne z meta-przedrostkiem.
       page-completions (On)
              Gdy  ustawione  na  On, readline używa wewnętrznego programu wyświetlającego podobnego do more, do
              wyświetlania pełnego ekranu możliwych uzupełnień na raz.
       print-completions-horizontally (Off)
              Jeżeli ustawione na On, readline wyświetla  dopasowane  uzupełnienia  w  kolejności  alfabetycznej
              poziomo, zamiast w dół ekranu.
       revert-all-at-newline (Off)
              Gdy  ustawione  na  On, readline anuluje wszystkie zmiany w wierszach historii przed powrotem, gdy
              wykonywane jest accept-line. Domyślnie, wiersze historii mogą zostać zmodyfikowane i zachować  swe
              listy anulowań poprzez odwołania do readline.
       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.
       show-all-if-unmodified (Off)
              Zmienna    modyfikuje   domyślne   zachowanie   funkcji   uzupełnienia   w   sposób   podobny   do
              show-all-if-ambiguous. Gdy jest ustawiona na  On,  słowa  które  mają  więcej  niż  jedno  możliwe
              uzupełnienie  bez  możliwych  uzupełnień częściowych (możliwe uzupełnienia nie posiadają wspólnego
              przedrostka), są wypisywane natychmiast, bez wcześniejszego używania brzęczyka.
       show-mode-in-prompt (Off)
              Jeśli jest ustawiona na On, dodaje znak na początku znaku zachęty wskazujący  tryb  edycji:  emacs
              (@), wiersz polecenia vi (:) lub tryb wstawiania vi (+).
       skip-completed-text (Off)
              Gdy  jest  ustawiona  na  On, modyfikuje domyślne zachowanie uzupełniania gdy do wiersza wstawiane
              jest pojedyncze dopasowanie. Jest to aktywne tylko podczas przeprowadzania uzupełnienia  w  środku
              słowa.  Gdy  jest  włączona,  readline nie wstawia znaków z uzupełniania, które pasują do znaków w
              miejscu wprowadzania w uzupełnianym  słowie,  dzięki  czemu  części  słowa  za  kursorem,  nie  są
              duplikowane.
       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).
       shell-forward-word
              Przesuwa na koniec następnego  słowa  w  przód.  Słowa  są  oddzielone  niecytowanymi  metaznakami
              powłoki.
       shell-backward-word
              Przesuwa  na  początek  bieżącego  lub poprzedniego słowa w tył. Słowa są oddzielone niecytowanymi
              metaznakami powłoki.
       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)
              Sprowadza 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. Po obliczeniu argumentu n, jest on wyodrębniany w taki sposób,  jak  gdyby
              podano opcję interpretowania historii "!n".
       yank-last-arg (M-., M-_)
              Wstawia  ostatni  argument poprzedniego polecenia (ostatnie słowo poprzedniej pozycji historii). Z
              argumentem  numerycznym,  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 (lub słowo
              określone przez argument do pierwszego  wywołania)  każdego  wiersza.  Każdy  argument  numeryczny
              podany do pomyślnego wywołania określa kierunek ruchu w historii. Argument ujemny zmienia kierunek
              poruszania  się (w tył lub w przód). Możliwości interpretacji historii są używane do wyodrębnienia
              ostatniego słowa, podobnie jak gdyby wybrano interpretację historii za pomocą "!$".
       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.
       edit-and-execute-command (C-xC-e)
              Przywołuje  edytor  w bieżącym wierszu poleceń i wykonuje wynik jako polecenie powłoki. Bash stara
              się wywołać $VISUAL, $EDITOR i emacs jako edytor, w tej kolejności.

   Polecenia zmiany tekstu
       koniec-pliku (zwykle C-d)
              Znak wskazujący koniec pliku, jak ustawiony np. przez ``stty''.  Jeśli znak  tej  jest  odczytany,
              gdy nie ma żadnych innych znaków w wierszu, a punkt jest początkiem wiersza, Readline interpretuje
              to jako koniec wejścia i zwraca EOF.
       delete-char (C-d)
              Usuwa  znak  w tym punkcie. Jeżeli funkcja jest przypisana do tego samego znaku, jak znak EOF tty,
              jak często bywa z C-d, efekt jest opisany powyżej.
       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.
       overwrite-mode
              Przełącza  tryb  nadpisywania.  Z  jawnym,  dodatnim  argumentem  liczbowym,  przełącza  do  trybu
              nadpisywania. Z jawnym, niedodatnim argumentem liczbowym, przełącza do trybu wstawiania. Polecenie
              dotyczy jedynie trybu emacs, tryb vi nadpisuje w inny sposób. Każde odwołania do  readline()  jest
              uruchamiane  w trybie wstawiania. W trybie nadpisywania, znaki przypisane do self-insert zastępują
              tekst pod kursorem, zamiast przesuwać go w prawą stronę. Znaki przypisane do  backward-delete-char
              zastępują znak przed kursorem spacją. Domyślnie, to polecenie nie jest przypisane.

   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.
       shell-kill-word (M-d)
              Usuwa od kursora do końca bieżącego słowa lub, jeśli kursor  znajduje  się  pomiędzy  słowami,  do
              końca następnego słowa. Granice słów są takie same, jak używane przez shell-forward-word.
       shell-backward-kill-word (M-Rubout)
              Usuwa słowo sprzed punktu. Granice słów są takie same, jak używane przez shell-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ęć.
       unix-filename-rubout
              Usuwa słowo sprzed punktu, jako separatora słów używając białych znaków i ukośnika.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 (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.
       menu-complete-backward
              Podobne  do menu-complete, ale przemieszcza się wstecz po liście możliwych uzupełnień, identycznie
              gdyby menu-complete podano ujemny argument. To polecenie jest domyślnie nieprzypisane.
       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.
       dabbrev-expand
              Usiłuje  wykonać  uzupełnienie  menu  na  tekście  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.
       print-last-kbd-macro ()
              Wypisuje ostatnie makro klawiaturowe, w formacie przeznaczonym do pliku inputrc.

   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)
              Poprzedza 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-<spacja>)
              stawia 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  zapamiętaną,  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.
       skip-csi-sequence
              Odczytuje wystarczająco wiele znaków, aby pobrać sekwencje wielu klawiszy, np. zdefiniowaną  przez
              klawisze  takie  jak  Home  i  End. Takie sekwencje zaczynają się znacznikiem sekwencji kontrolnej
              (Control Sequence Indicator - CSI), z reguły ESC-[. Jeśli taka sekwencja jest przypisana do  "\[",
              to  klawisze  wchodzące w skład tej sekwencji nie będą działać (chyba że zostały jawnie przypisane
              do polecenia readline) zamiast wstawiać niepowiązane znaki do  bufora  edycyjnego.  Domyślnie,  to
              polecenie jest nieprzypisane, ale przypisanie powinno przeważnie odnosić się do ESC-[.
       insert-comment (M-#)
              Bez  argumentu  numerycznego,  na  początek  bieżącego  wiersza  wstawiana  jest  wartość zmiennej
              comment-begin readline. Jeśli podano numeryczny argument, to  polecenia  działa  jak  przełącznik:
              jeśli znaki na początku wiersza nie pasują do wartości comment-begin, to wartość jest wstawiana, w
              przeciwnym wypadku znaki w comment-begin są usuwane z początku każdego wiersza. W każdym przypadku
              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.  Jeśli  numeryczny  argument
              powoduje usunięcie znaku komentarza, to dany wiersze będzie wykonany przez powłokę.
       glob-complete-word (M-g)
              Słowo  sprzed  kursora  jest  traktowane  jako wzorzec rozwijania nazw plików, bez jawnego dodania
              gwiazdki (asterysku). Ten wzorzec może zostać użyty do wygenerowania listy pasujących nazw  plików
              do możliwych uzupełnień.
       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. Jeśli podano numeryczny argument, to przed  rozwijaniem
              nazw plików dodawana jest gwiazdka (asterysk).
       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. Jeśli podano numeryczny argument, to przed rozwijaniem nazw plików  dodawana
              jest gwiazdka (asterysk).
       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śli słowo polecenia jest łańcuchem pustym (próba
       uzupełniania następuje na początku pustego wiersza), używany jest każdy compspec zdefiniowany opcją -E do
       complete. 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. Jeśli powyższe wyszukiwania nie dają wyniku w compspec, to jako
       domyślne używane są compspec zdefiniowane opcją -D do complete.

       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 i podstawiania wyników poleceń,
       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, COMP_POINT, COMP_KEY i COMP_TYPE  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 ($1) staje się nazwa polecenia, którego argumenty są uzupełniane, drugim argumentem
       ($2) -- uzupełniane słowo, a  trzecim  słowem  ($3)  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, jedno na element tablicy.

       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.

       Jeśli  do  complete podano opcję -o plusdir gdy istnieje zdefiniowane compspec, to próba dopasowania nazw
       katalogów jest przeprowadzana, a ewentualne dopasowania są dodawane do wyników innych akcji.

       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  bashdefault,  to  jeżeli  compspec  nie utworzy żadnych uzupełnień, wykonane zostanie domyślne
       uzupełnienia bash. 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  (i,  jeśli
       próbowano domyślnych uzupełnień bash, także one).

       Gdy  compspec  informuje  o  żądaniu  uzupełnienia  nazwy  katalogu, funkcje programowalnego uzupełnienia
       wymuszają na readline dodanie ukośnika, do uzupełnianych  nazw  będących  dowiązaniami  symbolicznymi  do
       katalogów,  które  są  przedmiotem wartości zmiennej mark-direstories readline, niezależnie od ustawienia
       zmiennej mark-symlinked-directories readline.

       Istnieje pewna obsługa uzupełnień modyfikowanych dynamicznie. Jest to szczególnie użyteczne w  kombinacji
       z  domyślnym  uzupełnianiem  z  opcją  complete  -D.  W  przypadku  funkcji  powłoki,  wykonywanych  jako
       odpowiedzialne za uzupełnianie, możliwe jest poinformowanie że  uzupełnienie  powinno  być  ponowione  za
       pomocą  kodu  zakończenia  równego  124.  Jeśli  funkcja  powłoki  zwróci 124 i zmieni powiązany compspec
       poleceniem, którego próbę  uzupełnienia  podjęto  (podanego  jako  pierwszy  argument  gdy  funkcja  jest
       wykonywana),  programowalne  uzupełnianie  rozpoczyna  od  początku,  próbując  znaleźć nowy compspec dla
       polecenia. Pozwala na ustawianie uzupełnień budowanych  dynamicznie  po  wykonanej  próbie  uzupełnienia,
       zamiast ładowania ich wszystkich naraz.

       Przykładowo,  przyjmując  że  istnieje  biblioteka składająca się z compspec, każda przechowywana w pliku
       odpowiadającym nazwie polecenia, to  następująca  domyślna  funkcja  uzupełnienia  załaduje  uzupełnienia
       dynamicznie:

       _completion_loader()
       {
            . "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124
       }
       complete -D -F _completion_loader -o bashdefault -o default

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.  Jeśli  HISTFILESIZE  jest
       nieustawione  lub  ustawione na zero, wartość nienumeryczną lub wartość numeryczną mniejszą od zera, plik
       historii nie jest obcinany. Gdy  plik  historii  jest  odczytywany,  wiersze  zaczynające  się  od  znaku
       komentarza historii, po którym występuje bezpośrednio cyfra, są interpretowane jako czasy poprzedzającego
       wcześniejszego  historii.  Czasy  te  mogą być opcjonalnie wyświetlane, w zależności od wartości zmiennej
       HISTTIMEFORMAT. Podczas kończenia pracy powłoki z włączoną historią, 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. Jeśli zmienna HISTTIMEFORMAT jest ustawiona, to
       pieczątki czasowe oznaczone znakiem komentarza historii są zapisywane do pliku historii,  tak  więc  mogą
       być  one  zachowywane  pomiędzy  sesjami  powłoki.  Znak  historii  komentarza jest wykorzystywany w celu
       odróżnienia pieczątek czasowych od innych wierszy historii. Po zapisaniu, plik historii jest obcinany, by
       nie zawierał więcej niż HISTFILESIZE wierszy. Jeśli HISTFILESIZE nie jest ustawione albo  jest  ustawione
       na  null,  wartość  nienumeryczną  lub  wartość  numeryczną  mniejszą  od zera, to plik historii nie jest
       obcinany.

       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ą słowami.  Dostępne są różne modyfikatory do manipulowania  wybranymi  słowami.
       Wiersz  rozbijany  jest  na  słowa  w  ten  sam  sposób  jak  podczas  odczytu wejścia, tak że kilka słów
       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.

       Następujące znaki powstrzymują interpretację historii jeśli zostaną znalezione  bezpośrednio  za  znakiem
       interpretacji  historii,  nawet  jeśli  jest  niecytowany:  spacja,  tabulacja, znak nowego wiersza, znak
       powrotu karetki i =. Jeśli włączono opcję powłoki extglob, to ( również zapobiegnie interpretacji.

       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). Do  oznaczania  pieczątek  czasowych,  powłoka
       używa znaku komentarza historii podczas zapisywania pliku historii.

   Desygnatory zdarzeń (Event Designators)
       Desygnator  zdarzenia  jest odwołaniem do pozycji wiersza poleceń na liście historii. O ile odwołanie nie
       jest absolutne, zdarzenia są relatywne w stosunku do bieżącej pozycji w liście historii.

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

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

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

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

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

       h      Usuwa końcową składową nazwy pliku, pozostawiając tylko początek.
       t      Usuwa wszystkie początkowe składowe nazwy pliku, pozostawiając koniec.
       r      Usuwa kończący przyrostek postaci .xxx, pozostawiając główną część nazwy (basename).
       e      Usuwa wszystko prócz końcowego przyrostka.
       p      Wypisuje nowe polecenie, ale go nie wykonuje.
       q      Cytuje podstawiane słowa, zabezpieczając je przed dalszym podstawianiem.
       x      Cytuje podstawiane słowa jak q, ale rozbija na słowa w miejscach odstępów i znaków nowej linii.
       s/stary/nowy/
              Zastępuje  nowym  pierwsze  wystąpienie  starego  w wierszu zdarzenia. Zamiast / może zostać użyty
              dowolny ogranicznik.  Końcowy ogranicznik jest opcjonalny jeżeli  jest  ostatnim  znakiem  wiersza
              zdarzenia.  Separator  może  być  cytowany  w  nowym  i starym przy pomocy pojedynczego odwrotnego
              ukośnika. Jeżeli w nowym pojawia się &, to jest zastępowany starym.  Pojedynczy  odwrotny  ukośnik
              będzie  cytował  &.  Jeżeli  stary jest pusty, to ustawiany jest na ostatni podstawiany stary lub,
              jeśli nie było poprzednich podstawień historii, ostatni łańcuch w wyszukiwaniu !?łańcuch[?].
       &      Powtarza poprzednie podstawienie.
       g      Powoduje, że zmiany zostaną zastosowane do całego wiersza zdarzenia.  Używany w połączeniu z  `:s'
              (np.  `:gs/stary/nowy/')   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.
       G      Stosuje następujący po nim modyfikator "s" raz do każdego słowa w wierszu 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. Wbudowane :, true, false i test
       nie  akceptują opcji i nie traktują -- w sposób specjalny. Wbudowane exit, logout, break, continue, let i
       shift akceptują i przetwarzają argumenty zaczynające się od -, bez  wymogu  podania  --.  Inne  wbudowane
       polecenia,  które akceptują argumenty, lecz nie są opisane jako akceptujące opcje, interpretują argumenty
       zaczynające się od - jako opcje nieprawidłowe i wymagają --, aby zapobiec takiej interpretacji,
       : [argumenty]
              Bez efektów; polecenie to nie robi niczego poza interpretacją argumentów i wykonaniem ewentualnych
              podanych przekierowań. Zwracany jest zerowy kod zakończenia.

        .  plik [argumenty]
       source plik [argumenty]
              Odczytuje i wykonuje polecenia z zadanego pliku  w  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 wykonano ż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 argumentów, to definiowany jest alias  (synonim)   dla
              każdej  nazwy,  dla  której  podano  wartość.   Początkowa  spacja w wartości powoduje, że podczas
              interpretacji aliasu następne słowo będzie sprawdzane na podstawianie aliasów.  Dla każdej nazwy z
              listy argumentów, dla której nie podano wartości, wypisywana jest nazwa i wartość  aliasu.   Alias
              zwraca prawdę, chyba że podano nazwę, dla której nie został zdefiniowany żaden alias.

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

       bind [-m mapa-klawiszy] [-lpsvPSVX]
       bind [-m mapa-klawiszy] [-q funkcja] [-u funkcja] [-r sekw_klaw]
       bind [-m mapa-klawiszy] -f plik
       bind [-m mapa-klawiszy] -x sekw_klaw:polec_powłoki
       bind [-m mapa-klawiszy] sekw_klaw:nazwa_funkcji
       bind polecenie-readline
              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 mapa-klawiszy
                     Wykorzystuje  mapę-klawiszy  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.
              -s     Wyświetla  nazwy  i  wartości  zmiennych  readline  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ą.
              -v     Wyświetla sekwencje klawiszy readline przypisane do makr i łańcuchy jakie  one  wysyłają  w
                     taki sposób, że mogą być ponownie odczytane.
              -V     Podaje bieżące nazwy i wartości zmiennych readline.
              -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_powłoki
                     Powoduje, że za każdym naciśnięciem sekwencji klawiszy zostanie wykonane polecenie powłoki.
                     Gdy  polecenie  powłoki jest wykonywane, powłoka ustawia zmienną READLINE_LINE na zawartość
                     bufora  wiersza  readline  oraz  zmienną  READLINE_POINT  na  bieżące   położenie   miejsca
                     wprowadzania   znaków.   Jeśli  wykonywane  polecenie  zmienia  wartość  READLINE_LINE  lub
                     READLINE_POINT, to te nowe wartości zostaną uwzględnione podczas edytowania.
              -X     Wypisuje wszystkie sekwencje klawiszy przypisane do poleceń powłoki i powiązane polecenia w
                     formacie, który można użyć ponownie jako wejście.

              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  argumenty  i  zwraca  jego  kod
              zakoń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.

       caller [wyrażenie]
              Zwraca  kontekst  aktywnego  wywołania  podprogramu  (funkcji  powłoki  lub  skryptu  wykonywanego
              wbudowanymi  poleceniami  .  lub  source).  Bez  wyrażenia,  caller wyświetla numer wiersza i plik
              źródłowy  bieżącego  wywołania  podprogramu.  Jeśli  do  wyrażenia  przekazano  nieujemną   liczbę
              całkowitą, to caller wyświetla numer wiersza, nazwę podprogramu i plik źródłowy związany z pozycją
              w  bieżącym  stosie  wywołania.  Te  dodatkowe informacje mogą być użyte np. do wyświetlenia stosu
              wywołania. Bieżąca ramka jest ramką 0. Zwracaną wartością jest 0, chyba że  powłoka  nie  wykonuje
              wywołania podprogramu lub wyrażenie nie odnosi się do prawidłowej pozycji w stosie wywołania.

       cd [-L|[-P [-e]] [-@]] [katalog]
              Zmienia bieżący katalog roboczy na katalog. Jeśli nie poda się katalogu, domyślnie jest to wartość
              zmiennej  powłoki  HOME.  Wszelkie  dodatkowe  argumenty po katalogu są ignorowane. Zmienna CDPATH
              definiuje ścieżkę przeszukiwań dla katalogu zawierającego katalog: każda nazwa katalogu  w  CDPATH
              jest  przeszukiwana  pod  kątem  katalogu.  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  podążając  za dowiązaniami symbolicznymi przy przechodzeniu przez
              katalog i przed przetwarzaniem wystąpień .. w katalogu (zobacz też opcja -P wbudowanego  polecenia
              set).  Opcja  -L  wymusza  podążanie za dowiązaniami symbolicznymi po przetworzeniu wystąpień .. w
              katalogu. Jeśli w katalogu pojawi się .., to jest ono  pzetwarzane  przez  usunięcie  występującej
              zaraz  przed nim składowej ścieżki z katalogu, aż do ukośnika rozpoczynającego katalog. Jeśli z -P
              użyto opcji -e, a bieżący katalog roboczy nie może zostać pomyślnie określony po pomyślnej zmianie
              katalogu, to cd zwróci kod oznaczający niepowodzenie. W systemach które  to  obsługują,  opcja  -@
              przedstawia   atrybuty  rozszerzone  powiązane  z  plikiem  jak  i  katalogiem.  Argument  -  jest
              przetwarzany na $OLDPWD przed przeprowadzeniem próby zmiany  katalogu.Jeśli  użyta  jest  niepusta
              nazwa  katalogu  z  CDPATH  lub  jeśli  -  jest pierwszym argumentem, a zmiana katalogu odbyła się
              pomyślnie, na standardowe wyjście wypisywana jest ścieżka absolutna do nowego katalogu  roboczego.
              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  obszerny  opis.
              Jeżeli  podano  opcję  -V lub -v, to kodem zakończenia jest 0 gdy odnaleziono polecenie, zaś 1 gdy
              nie. Jeśli nie podano żadnej z tych opcji i pojawił się błąd lub nie można znaleźć  polecenia,  to
              kod  zakończenia  wynosi 127. W przeciwnym wypadku kodem zakończenia wbudowanego polecenia command
              jest kod zakończenia polecenia.

       compgen [opcja] [słowo]
              Tworzy możliwe dopasowania uzupełnień dla słowa zgodnie z opcjami,  które  mogą  być  dowolnymi  z
              opcji  akceptowanych  przez  wbudowane  polecenie  complete,  z  wyjątkiem  -p  i  -r,  i wypisuje
              dopasowania na standardowe wyjście.  Przy stosowaniu  opcji  -F  lub  -C,  różne  zmienne  powłoki
              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 słowo, to wyświetlone
              zostaną wyłącznie uzupełnienia doń pasujące.

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

       complete [-abcdefgjksuv] [-o opcjacomp] [-DE] [-A akcja] [-G wzglob] [-W listasłów] [-F funkcja] [-C
       polecenie]
              [-X wzfiltr] [-P przedrostek] [-C przyrostek] nazwa [nazwa ...]
       complete -pr [-DE] [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. Opcja -D  wskazuje,
              że  pozostałe  opcje  i  akcje  powinny  dotyczyć  "domyślnego"  polecenia  uzupełniania,  to jest
              uzupełniania, którego próbę podjęto na poleceniu o niezdefiniowanym wcześniej uzupełnieniu.  Opcja
              -E  oznacza,  że  pozostałe  opcje i akcje powinny dotyczyć "pustego" polecenia uzupełniania, tzn.
              uzupełniania, którego próbę podjęto na pustym wierszu.

              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:
                      bashdefault
                              Wykonuje pozostałe z  domyślnych  uzupełnień  bash,  jeśli  compspec  nie  utworzy
                              żadnych dopasowań.
                      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.
                      noquote Przekazuje readline, aby nie cytowało uzupełnianych słów, jeśli są nazwami  plików
                              (domyślnie nazwy plików są cytowane).
                      nospace Przekazuje readline, aby nie dodawało spacji (domyślnie) do uzupełnionych słów, na
                              końcu wiersza.
                      plusdirs
                              Po  utworzeniu  dopasowań zdefiniowanych przez compspec, przeprowadzana jest próba
                              dopasowania nazw katalogów, a ewentualne dopasowania są dodawane do wyników innych
                              akcji.
              -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.
                      service Nazwy usług. Można też podać jako -s.
                      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.
              -C polecenie
                      polecenie jest wykonywane w środowisku  podpowłoki,  a  jego  wyjście  jest  używane  jako
                      możliwe uzupełnienia.
              -F funkcja
                      Funkcja  powłoki  funkcja  jest wykonywana w bieżącym środowisku powłoki. Gdy funkcja jest
                      wykonywana, pierwszy argument ($1) jest nazwą polecenia, którego argumenty są uzupełniane,
                      drugim argumentem ($2) jest uzupełniane słowo, a trzecim  ($3)  jest  słowo  poprzedzające
                      uzupełniane  słowo  w  bieżącym wierszu polecenia. Po zakończeniu, możliwe uzupełnienia są
                      pozyskiwane z wartości zmiennej tablicowej COMPREPLY.
              -G wzglob
                      Wzorzec rozwijania nazw plików wzglob jest rozwijany, tworząc listę możliwych uzupełnień.
              -P przedrostek
                      na początku każdego z możliwych  uzupełnień,  po  zastosowaniu  wszystkich  innych  opcji,
                      dodawany jest przedrostek.
              -S przyrostek
                      na końcu każdego z możliwych uzupełnień, po zastosowaniu wszystkich innych opcji, dodawany
                      jest przyrostek.
              -W listasłów
                      listasłów  jest  rozbijana  przy  zastosowaniu  znaków  ze  zmiennej  specjalnej  IFS jako
                      separatorów, a każde ze słów wynikowych  jest  interpretowane.   Możliwe  uzupełnienia  są
                      elementami listy wynikowej, pasującymi do uzupełnianego słowa.
              -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.

              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.

       compopt [-o opcja] [-DE] [+o opcja] [nazwa]
              Modyfikuje  opcje  uzupełniania  dla  każdej nazwy, zgodnie z opcjami lub dla właśnie wykonywanego
              uzupełnienia, jeśli nie podano nazwy. Jeśli nie podano opcji,  wyświetla  opcje  uzupełniania  dla
              każdej  nazwy  lub  dla  bieżącego  uzupełniania.  Możliwymi  wartościami opcji są opcje, które są
              poprawne do wbudowanego polecenia complete. Opcja -D  oznacza,  że  pozostałe  opcje  powinny  być
              stosowane  do "domyślnego" polecenia uzupełniania, tzn. uzupełniania, którego próbę przeprowadzono
              dla polecenia, dla którego nie zdefiniowano wcześniej uzupełnień. Opcja -E oznacza,  że  pozostałe
              opcje  powinny  być  zastosowane  do  "pustego" polecenia uzupełniania, tzn. uzupełnienia, którego
              próbę przeprowadzono na pustym wierszu.

              Zwracaną wartością  jest  prawda,  chyba  że  podano  nieprawidłową  opcję,  przeprowadzono  próbę
              zmodyfikowania  opcji  dla  nazwy,  dla której nie istnieje specyfikacja uzupełniania lub wystąpił
              błąd wyjścia.

       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 [-aAfFgilnrtux] [-p] [nazwa[=wartość] ...]
       typeset [-aAfFgilnrtux] [-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  z
              argumentami  nazwa,  ignorowane  są  dodatkowe  opcje  inne  niż  -f  lub  -F. Opcja -p podana bez
              argumentów nazwa  wyświetli  atrybuty  i  wartości  wszystkich  zmiennych  posiadających  atrybuty
              określone  przez dodatkowe opcje. Jeśli nie podano innych opcji z -p, declare wyświetli atrybuty i
              wartości wszystkich zmiennych powłoki. Opcja -f ograniczy wyświetlanie do funkcji  powłoki.  Opcja
              -F  zabrania  wyświetlania definicji funkcji; wypisywane są tylko nazwy i atrybuty funkcji.  Jeśli
              włączono opcję powłoki  extdebug  przy  użyciu  shopt,  to  wyświetlane  są  również  nazwa  pliku
              źródłowego i numer wiersza, w którym zdefiniowano funkcję. Opcja -F implikuje -f. Opcja -f wymusza
              tworzenie  i  modyfikację  zmiennych  na  poziomie  globalnym, nawet gdy declare jest wykonywane w
              funkcji powłoki. Jest ona ignorowana we wszystkich innych przypadkach. 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 indeksowaną zmienną tablicową (zobacz Tablice powyżej).
              -A     Każda z nazw jest asocjacyjną 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).
              -l     Gdy   zmiennej  przypisano  wartość,  wszystkie  wielkie  litery  są  zamieniane  na  małe.
                     Przypisania za pomocą wielkich liter są wyłączone.
              -n     Nadaje  każdej  nazwie  atrybut  nazwa  referencyjna,   czyniąc   ją   nazwą   referencyjną
                     odnoszącą się do  innej  zmiennej.  Ta  inna  zmienna  jest  definiowana  w wartości nazwy.
                     Wszystkie odniesienia i przypisania do nazwy, z wyjątkiem  zmiany  samego  atrybutu  -n  są
                     wykonywane na zmiennej do której odnosi się wartość nazwy. Atrybutu -n nie można zastosować
                     do zmiennych tablicowych.
              -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.
              -t     Nadaje  każdej  nazwie  atrybut  trace.  Funkcje z tym atrybutem dziedziczą pułapki DEBUG i
                     RETURN z wywołującej je funkcji. Atrybut ten nie ma specjalnego znaczenia dla zmiennych.
              -u     Gdy  zmiennej  przypisano  wartość,  wszystkie  małe  litery  są  zamieniane  na   wielkie.
                     Przypisania za pomocą małych liter są wyłączone.
              -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. a +r nie usunie atrybutu tylko do odczytu. Użyte w funkcji declare i typeset
              powodują, że każda z nazw staje się lokalna, jak przy pomocy  polecenia  local,  chyba  że  podano
              opcję  -g.  Przy  używaniu  -a  lub  -A  oraz  składni polecenia złożonego do utworzenia zmiennych
              tablicowych, dodatkowe atrybuty nie dają efektu aż  do  kolejnych  przypisań.  Jeśli  po  zmiennej
              występuje  =wartość, to wartość zmiennej jest ustawiana na wartość. 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.
              -c     Czyści stos katalogów usuwając wszystkie jego pozycje.
              -l     Tworzy listing używając pełnych ścieżek; 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.
              +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.

              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, usuwa każde z podanych zadań z tablicy zadań aktywnych. Jeśli nie podano zadania i nie
              użyto ani opcji -a ani -r, to używane jest zadanie bieżące. 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ż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,  chyba  że  wystąpi  błąd zapisu.  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     alarm (dzwonek)
              \b     backspace
              \c     pomiń kończący znak nowej linii
              \e
              \E     znak escape
              \f     znak wysuwu strony (form feed)
              \n     znak nowego wiersza (new line)
              \r     powrót karetki (carriage return)
              \t     tabulacja pozioma (horizontal tab)
              \v     tabulacja pionowa (vertical tab)
              \\     odwrotny ukośnik (backslash)
              \0nnn  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)
              \uHHHH znak  Unicode  (ISO/IEC  10646)  o  wartości  szesnastkowej  HHHH  (jedna  do czterech cyfr
                     szesnastkowych)
              \UHHHHHHHH
                     znak Unicode (ISO/IEC 10646)  o  wartości  szesnastkowej  HHHHHHHH  (jedna  do  ośmiu  cyfr
                     szesnastkowych)

       enable [-a] [-dnps] [-f plik] [nazwa ...]
              Włącza  i wyłącza wbudowane polecenia powłoki.  Wyłączenie poleceń wbudowanych umożliwia wykonanie
              polecenia dyskowego mającego tę  samą  nazwę,  co  wbudowane,  bez  podawania  jego  pełnej  nazwy
              ścieżkowej,  mimo  iż  powłoka  normalnie  szuka  poleceń wbudowanych przed poleceniami dyskowymi.
              Jeżeli posłużono się opcją -n, wyłączana jest każda z nazw; w przeciwnym razie nazwy są  włączone.
              Na  przykład,  chcąc użyć pliku binarnego test znalezionego przez PATH zamiast wersji wbudowanej w
              powłokę, należy uruchomić ``enable -n test''.   Opcja  -f  oznacza  załadowanie  nowego  polecenia
              wbudowanego  nazwa  z  obiektu  dzielonego  (shared  object)   plik,  na  systemach  obsługujących
              dynamiczne ładowanie.  Opcja -d usunie polecenie wbudowane załadowane poprzednio przez -f.  Jeżeli
              nie podano żadnych argumentów nazwa lub jeśli podano  opcję  -p,  wypisywana  jest  lista  poleceń
              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 POSIX-owych ,,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 argumentów, lub wszystkie argumenty są puste, eval zwraca 0.

       exec [-cl] [-a nazwa] [polecenie [argumenty]]
              Jeżeli  podano  polecenie,  zastępuje  ono powłokę. Nie tworzony jest żaden nowy proces. Argumenty
              stają się argumentami polecenia. Jeśli podano opcję -l,  umieszcza  kreskę  na  początku  zerowego
              argumentu  przesyłanego  do  polecenia.  Tak  samo,  jak  robi  to login(1). Opcja -c powoduje, że
              polecenie zostanie  wykonane  z  pustym  środowiskiem.  Jeżeli  podano  -a,  powłoka  przesyła  do
              wykonywanego  polecenia  nazwę  jako  zerowy argument. Jeżeli polecenie z jakiegoś powodu nie może
              zostać wykonane, to powłoka nie-interaktywna kończy pracę, chyba że włączona  jest  opcja  powłoki
              execfail,  wówczas  zwraca 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[=słowo]] ...
       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 nazw wszystkich eksportowanych w tej powłoce
              zmiennych. Opcja -n powoduje usunięcie cechy eksportowania z podanych zmiennych. Jeśli  po  nazwie
              zmiennej  występuje  =słowo, to wartość zmiennej jest ustawiana na słowo. 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] [-lnr] [pierwsze] [ostatnie]
       fc -s [wzorzec=zastąpienie] [polecenie]
              W pierwszej postaci, wybiera zakres poleceń  od  pierwszego  do  ostatniego  z  listy  historii  i
              wypisuje lub edytuje oraz wykonuje je ponownie. 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
              zastąpienie.  Polecenie  jest  interpretowane podobnie jak pierwsze powyżej. 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 bieżące zadanie  w  pojęciu  powłoki.   Wartością  zwracaną  jest  wartość  polecenia
              umieszczonego  na  pierwszym  planie,  lub  porażka jeżeli fb uruchomiono przy wyłączonej 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 łańcuch_opcji nazwa [argumenty]
              getopts  używane  jest  przez  procedury powłoki do analizy parametrów pozycyjnych.  Łańcuch opcji
              zawiera znaki opcji, jakie mają być rozpoznawane; jeżeli po znaku występuje dwukropek, to oczekuje
              się, że opcja będzie posiadać argument, który powinien być  od  niej  oddzielony  białym  znakiem.
              Jako  znaki  opcji  nie  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  łańcucha opcji jest
              dwukropek, to stosowane jest ciche (silent)  zgłaszanie  błędów.  Przy  zwykłej  pracy  komunikaty
              diagnostyczne  wypisywane  są  przy  napotkaniu  nieprawidłowych  opcji lub brakujących argumentów
              opcji.  Jeżeli zmienna OPTERR ustawiona jest na 0, nie będą wyświetlane żadne  komunikaty  błędów,
              nawet jeśli pierwszym znakiem łańcucha opcji nie jest dwukropek.

              Przy  napotkaniu  nieprawidłowej  opcji getopts umieszcza ? w nazwie i, jeśli nie pracuje w trybie
              cichym, wypisuje komunikat błędu i kasuje OPTARG.  Jeżeli getopts  pracuje  w  trybie  cichym,  to
              znaleziony   znak  opcji  umieszczany  jest  w  OPTARG  i  nie  jest  wypisywany  żaden  komunikat
              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 [-lr] [-p plik] [-dt] [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. Opcja  -d  powoduje,  że  powłoka  zapomina  wszystkie  zapamiętane
              wcześniej miejsca dla każdej nazwy. 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.   Opcja  -l  powoduje  wyświetlanie  wyniku  w
              formacie,  który  może  zostać  ponownie  wykorzystany  jako  wejście.  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 [-dms] [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.
              -d     Wyświetla krótki opis dla każdego wzorca
              -m     Wyświetla opis dla każdego wzorca w formacie podobnym do strony man
              -s     Wyświetla jedynie krótkie podsumowanie użycia każdego wzorca

              Kodem zakończenia jest 0, chyba nie nie dopasowano żadnego polecenia do wzorca.

       history [n]
       history -c
       history -d przesunięcie
       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śli ustawiono zmienną
              powłoki HISTTIMEFORMAT i nie jest ona pusta, to do wyświetlania pieczątek czasowych  związanych  z
              każdym  wyświetlanym  wpisem  historii  używany  jest  format  łańcucha  do  strftime(3). Pomiędzy
              formatowaną pieczątką czasową a wierszem historii nie jest wstawiany odstęp. 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 przesunięcie
                     Usuwa wpis historii z pozycji przesunięcie.
              -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 dodaje ją do bieżącej listy historii.
              -w     Zapisuje bieżącą listę historii 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 argumentów musi
                     być cytowany, by wyłączyć normalną interpretację historii.
              -s     Zachowuje argumenty na liście historii jako pojedynczą pozycję. Przed dodaniem argumentów z
                     listy usuwane jest ostatnie polecenie.

              Jeśli ustawiona jest zmienna HISTTIMEFORMAT, to do pliku historii  zapisywana  jest  informacja  o
              czasie  związanym  z  każdym  wpisem  historii,  oznaczona  znakiem  komentarza historii. Gdy plik
              historii jest  odczytywany,  wiersze  zaczynające  się  znakiem  komentarza  historii,  po  którym
              występuje  bezpośrednio  cyfra,  są  interpretowane  jako  czasy  poprzedniego  wiersza  historii.
              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.
              -n     Wyświetla wyłącznie informację o zadaniach, które zmieniły status od chwili, gdy użytkownik
                     był ostatnio powiadamiany o ich statusie.
              -p     Listuje tylko ID procesu lidera grupy procesów zadania.
              -r     Wyświetla jedynie działające zadania.
              -s     Wyświetla jedynie zatrzymane zadania.

              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  (z  lub  bez  przedrostka  SIG)  albo  numerem
              sygnału;  signum  jest numerem sygnału. 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.

       mapfile [-n liczba] [-O indeks] [-s liczba] [-t] [-u fd] [-C wywoł-zwr] [-c wielkość] [tablica]
       readarray [-n liczba] [-O indeks] [-s liczba] [-t] [-u fd] [-C wywoł-zwr] [-c wielkość] [tablica]
              Odczytuje  wiersze ze standardowego wejścia do indeksowanej zmiennej tablicowej tablica lub, jeśli
              podano opcję -u, z deskryptora pliku fd. Domyślną tablicą jest zmienna  MAPFILE  Opcje,  jeśli  je
              podano, mają następujące znaczenie:
              -n     Kopiuje najwyżej liczbę wierszy. Gdy liczba wynosi 0, kopiowane są wszystkie wiersze.
              -O     Rozpoczyna przypisywanie do tablicy od indeksu indeks. Domyślnym jest 0.
              -s     Pomija pierwsze liczba wierszy.
              -t     Usuwa końcowe znaki nowego wiersza z każdego odczytanego wiersza.
              -u     Odczytuje wiersze z deskryptora pliku fd zamiast ze standardowego wejścia.
              -C     Oblicza wywoł-zwr po każdym odczytaniu liczby wielkość wierszy. Opcja -c określa wielkość.
              -c     Określa liczbę wierszy odczytanych pomiędzy każdym odwołaniem do wywoł-zwr.

              Jeśli  podano  -C  bez  -c,  to domyślną wielkością jest 5000. Gdy wykonywane jest wywoł-zwr, jako
              dodatkowe argumenty przekazywane są  mu  indeks  następnego  elementu  tablicy  do  przypisania  i
              wiersza,  który ma być przypisy do tego elementu. Wywoł-zwr jest wykonywane po odczytaniu wiersza,
              ale przed przypisaniem elementu tablicy.

              Jeśli nie podano indeksu, mapfile wyczyści tablicę przed przypisaniem do niej wartości.

              Polecenie mapfile zwraca sukces, chyba że podano nieprawidłową opcję lub argument  opcji,  tablica
              jest nieprawidłowa, nie da się do niej przypisać wartości lub nie jest tablicą indeksowaną.

       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     Nie wykonuje zwykłej zmiany katalogu podczas usuwania katalogów ze stosu, tak że  zmieniany
                     jest tylko stos.
              +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, a ``popd -1'' przedostatni.

              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 [-v zmienna] format [argumenty]
              Zapisuje  sformatowane  argumenty  na  standardowe  wyjście przy pomocy zadanego formatu. Opcja -v
              przypisuje wynik do zmiennej zmienna zamiast wyświetlać je na standardowe wyjściowe.

              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), interpretuje on również następujące
              rozszerzenia:
              %b     powoduje, że printf interpretuje sekwencje specjalne w odpowiednim argumencie, (z wyjątkiem
                     \c, które przerywa wypisywanie, odwrotnych ukośników w \', \" i \?, które nie są usuwane  i
                     cytowań ósemkowych zaczynających się od \0, które mogą zawierać do czterech cyfr).
              %q     powoduje,  że  printf  wysyła  odpowiedni  argument  w  formacie,  jaki  może  być ponownie
                     wykorzystany jako wejście powłoki.
              %(format-daty)T
                     powoduje, że printf wyświetla łańcuch daty/czasu jako  rezultat  użycia  formatu-daty  jako
                     łańcucha  formatu  do  strftime(3).  Powiązany argument jest liczba całkowitą odpowiadającą
                     liczbie sekund od początku epoki [Uniksa]. Można użyć dwóch specjalnych wartości argumentu:
                     -1 reprezentuje bieżący czas, a -2 odpowiada czasowi wywołania powłoki. Jeśli nie poda  się
                     argumentu,  konwersja  przebiega  tak,  jak  gdyby  podano -1. Jest to wyjątek w zwyczajnym
                     zachowaniu printf.

              Argumenty do specyfikacji formatu niebędących łańcuchami są traktowane jako stałe C,  z  wyjątkiem
              początkowego  znaku  plus  lub  minus,  który jest dozwolony oraz przypadku gdy pierwszy znak jest
              pojedynczym  lub  podwójnym  apostrofem,  gdy  wartością  jest  wartość  ASCII  następującego   po
              cudzysłowie znaku.

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

       pushd [-n] [+n] [-n]
       pushd [-n] [katalog]
              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     Nie wykonuje zwykłej zmiany katalogu podczas dodawania katalogów do stosu, tak że zmieniany
                     jest tylko stos.
              +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.
              katalog
                     Odkłada  katalog  na  wierzchołek stosu, czyniąc go nowym bieżącym katalogiem roboczym, jak
                     gdyby podano go jako argument do polecenia wbudowanego cd.

              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] [-a anazwa] [-d znak-odst] [-i tekst] [-n nznaki] [-N nznaki] [-p zachęta] [-t czas-oczek]
       [-u fd] [nazwa ...]
              Czytany jest pojedynczy wiersz ze standardowego wejścia lub z deskryptora pliku fd  podanego  jako
              argument  do opcji -u, 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, korzystając z tych samych  zasad,  jakich  powłoka  używa  do
              interpretacji  (opisanych  powyżej  w  rozdziale  Podział na słowa). 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). Readline używa bieżących (lub domyślnych, jeśli  edycja
                     wiersza nie była wcześniej aktywna) ustawień edycyjnych.
              -i tekst
                     Gdy  do  odczytu  wiersza jest używane readline, tekst jest umieszczany w buforze edycyjnym
                     przed rozpoczęciem edycji.
              -n nznaki
                     read powraca po przeczytaniu nznaki znaków, zamiast czekać  na  cały  wiersz  wejścia,  ale
                     przestrzega znaku odstępu jeśli odczytano mniej niż nznaki znaków przed odstępem.
              -N nznaki
                     Polecenie  read  powraca  pod przeczytaniu dokładnie nznaków, zamiast czekać na cały wiersz
                     wejścia, chyba że wystąpił koniec wiersza lub czas oczekiwania read  minął.  Znaki  odstępu
                     napotkane  w  wejściu  nie  są  traktowane  w sposób specjalny i nie powodują powrotu read,
                     dopóki nie zostanie przeczytanych nznaków.
              -p zachęta
                     Wyświetla zachętę (prompt) na standardowym  wyjściu  błędów,  bez  kończącego  znaku  nowej
                     linii,  przed próbą odczytu wejścia.  Zachęta wyświetlana jest tylko jeśli wejście pochodzi
                     z terminala.
              -r     Odwrotny ukośnik nie działa jako znak specjalny. Traktowany  jest  jako  część  wiersza.  W
                     szczególności,  para  odwrotny  ukośnik-znak  nowej  linii  nie  może być wykorzystana jako
                     kontynuacja wiersza.
              -s     Tryb cichy. Jeżeli wejście pochodzi z terminala, to znaki nie są powtarzane (bez echa).
              -t czas-oczek
                     Powoduje, że read zwraca niepowodzenie,  jeśli  w  ciągu  czas-oczek  sekund  nie  zostanie
                     przeczytany  pełny wiersz wejścia (lub określona liczba znaków). Czas-oczek może być liczbą
                     dziesiętną z częścią ułamkową po znaku kropce. Opcja  działa  jedynie  gdy  read  odczytuje
                     wejście  z  terminala,  potoku  lub  innego pliku specjalnego, nie działa natomiast podczas
                     czytania ze zwykłych  plików.  Jeśli  read  przeterminuje  się,  read  zachowuje  odczytane
                     częściowe  wejście  do  podanej  zmiennej  nazwa.  Jeśli czas-oczek ustawiono na 0, to read
                     zwraca  kod  zakończenia  natychmiast,  bez  próby  odczytu  jakichkolwiek  danych.   Kodem
                     zakończenia jest 0, jeśli wejście jest dostępne na określonym deskryptorze pliku lub zwraca
                     kod niezerowy w przeciwnym wypadku. Kod zakończenia jest większy od 128, jeśli przekroczono
                     czas oczekiwania.
              -u fd  Czyta wejście z deskryptora pliku fd.

              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 (w takim  przypadku
              jest  on  większy  od  128)  wystąpi błąd przypisania zmiennej (takich jak przypisanie do zmiennej
              tylko do odczytu) lub jako argument do -u podano nieprawidłowy deskryptor pliku.

       readonly [-aAf] [-p] [nazwa[=słowo] ...]
              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 indeksowanych, a -A do tablic  asocjacyjnych.  Jeśli
              podano  obie  opcje,  pierwszeństwo ma opcja -A. Jeśli nie podano argumentów nazw lub jeśli podano
              opcję -p, wypisywane jest zestawienie wszystkich nazw  o  atrybucie  readonly.   Inne  opcje  mogą
              zostać  użyte do ograniczenia wyniku do podzbioru nazw readonly. Opcja -p powoduje, że wyniki będą
              wyświetlane w formacie, który może  być  ponownie  wykorzystany  jako  wejście.  Jeśli  po  nazwie
              zmiennej występuje =słowo, to wartość zmiennej jest ustawiana na słowo. 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 przerywa wykonywanie i zwraca wartość  określoną  przez  n  do  wywołującego.
              Jeśli  pominięto  n,  kodem  zakończenia jest kod ostatniego polecenia wykonanego w ciele funkcji.
              Jeżeli return 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śli poda się n, zwracaną wartością jest
              8 bitów najmniej znaczących. Kod zakończenia  jest  niezerowy,  jeśli  return  poda  się  argument
              nienumeryczny lub jeżeli jest ono użyte poza funkcją i nie podczas wykonywania skryptu przez . lub
              source.  Wszystkie  polecenia  związane  z  pułapką  (trap) RETURN są wykonywane przez wznowieniem
              wykonywania po powrocie do funkcji lub skryptu.

       set [--abefhkmnptuvxBCEHPT] [-o opcja] [arg ...]
       set [+abefhkmnptuvxBCEHPT] [+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 do ustawiania lub ponownego ustawiania aktualnie ustawionych
              zmiennych. Zmienne tylko do odczytu nie mogą być ponownie ustawiane. W trybie posix, wypisywane są
              jedynie zmienne powłoki. 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  potok  (który  może  składać  się  z  pojedynczego  polecenia
                      prostego),  listy lub polecenia złożonego (zob.  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
                      znajduje  się  zaraz  za  słowem kluczowym while lub until, jest częścią tekstu po słowach
                      zastrzeżonych if lub elif, jest częścią  listy  &&  lub  ⎪⎪,  jest  częścią  każdego  poza
                      ostatnim  poleceniem  potoku, lub wartość zwrócona przez polecenie została odwrócona przez
                      !.  Jeśli  polecenie  złożone  inne  niż  podpowłoka  zwróci  niezerowy  status  z  powodu
                      niepowodzenia  polecenia,  gdy -e było ignorowane, powłoka nie wyjdzie. Przed zakończeniem
                      pracy powłoki wykonywana jest pułapka na  sygnał  ERR,  jeśli  była  ustawiona.  Ta  opcja
                      stosuje  się  do  środowiska  powłoki i oddzielnie do każdej podpowłoki środowiska (zobacz
                      ŚRODOWISKO WYKONYWANIA POLECEŃ powyżej) i  może  spowodować  zakończenie  podpowłok  przed
                      wykonaniem wszystkich poleceń w podpowłoce.

                      Jeśli polecenie złożone lub funkcja powłoki jest wykonywana w kontekście, w którym -e jest
                      ignorowane,  to  żadne  z  poleceń wykonywanych w poleceniu złożonym lub ciele funkcji nie
                      zostanie dotknięte ustawieniem -e, nawet jeśli -e jest ustawione, a polecenie  zwróci  kod
                      błędu.  Jeśli  polecenie  złożone  lub  funkcja  powłoki ustawi -e w trakcie wykonywania w
                      kontekście, w którym -e jest ignorowane, to ustawienie nie odniesie żadnego skutku  dopóki
                      polecenie złożone lub polecenie zawierające wywołanie funkcji nie zakończy się.
              -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).
                      Wszystkie  procesy  działają  w  odrębnej  grupie  procesów.  Gdy zadanie działające w tle
                      zakończy się, powłoka wypisuje wiersz zawierający jego 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.
                              Wpływa to również na interfejs edycyjny używany przez read -e.
                      errexit To samo, co -e.
                      errtrace
                              To samo, co -E.
                      functrace
                              To samo, co -T.
                      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.
                      pipefail
                              Gdy  ustawione,  zwracana  wartość  potoku  jest  wartością ostatniego (po prawej)
                              polecenia, które zakończyło  się  z  kodem  niezerowym  lub  zero,  gdy  wszystkie
                              polecenia w potoku zakończyły się sukcesem. Opcja jest domyślnie wyłączona.
                      posix   Zmienia  zachowanie  bash  tam,  gdzie  domyślne  działanie różni się od standardu
                              POSIX, tak by spełniać standard (tryb posix). Więcej informacji o  tym,  jak  tryb
                              posix  wpływa  na  zachowanie powłoki można znaleźć w dokumencie do którego odsyła
                              ZOBACZ TAKŻE.
                      privileged
                              To samo, co -p.
                      verbose To samo, co -v.
                      vi      Używa interfejsu edycji wiersza poleceń w stylu vi. Wpływa to również na interfejs
                              edycyjny używany przez read -e.
                      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 zmienne SHELLOPTS,
                      BASHOPTS, CDPATH i GLOBIGNORE, jeśli występują w środowisku, są ignorowane.  Jeśli powłoka
                      została uruchomiona z efektywnym id użytkownika (grupy) różnym 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  i  parametry  (poza
                      parametrami specjalnymi "@" i "*") 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, poleceń for,  case  i  select  lub  polecenia
                      arytmetycznego  for wyświetla zinterpretowaną wartość PS4, po której następuje polecenie i
                      jego zinterpretowane argumenty lub powiązana lista słów.
              -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 >.
              -E      Gdy ustawiona, pułapka ERR jest dziedziczona przez funkcje powłoki, uzupełnienia poleceń i
                      polecenia wykonywane w środowisku podpowłoki. Pułapka ERR normalnie nie jest  dziedziczona
                      w takich przypadkach.
              -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  rozwiązuje  dowiązań   symbolicznych   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.
              -T      Gdy  ustawiona, pułapki DEBUG i RETURN są dziedziczone przez funkcje powłoki, uzupełnienia
                      poleceń i polecenia wykonywane w środowisku podpowłoki. Pułapki  DEBUG  i  RETURN  nie  są
                      normalnie dziedziczone w takich przypadkach.
              --      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  argumentów,  to
                      parametry pozycyjne pozostają bez zmian.

              Opcje  są  domyślnie wyłączone, chyba że wskazano inaczej.  Użycie + zamiast - spowoduje, że opcje
              te zostaną wyłączone.  Opcje  mogą  także  zostać  określone  jako  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 pozycyjnym od n+1 ... zmienia nazwy na $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 ustawień sterujących opcjonalnym zachowaniem powłoki. Ustawieniami mogą być  te
              wypisane  poniżej  lub,  gdy  użyje  się  opcji  -o,  ustawienia  dostępne z opcją -o do polecenia
              wbudowanego set.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, shopt pokazuje jedynie  te  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:

              autocd  Jeśli  jest  ustawiona, nazwa polecenia będąca nazwą katalogu jest wykonywana identycznie,
                      jak gdyby  była  argumentem  polecenia  cd.  Opcja  ta  jest  używana  tylko  w  powłokach
                      interaktywnych.
              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.
              checkjobs
                      Jeśli  jest  ustawiona,  bash wypisuje status każdego zatrzymanego i działającego zadania,
                      przed  wyjściem  z  powłoki  interaktywnej.  Jeśli  jakieś  zadanie  działa,  powoduje  to
                      odroczenia  wyjścia  do  momentu,  gdy  zostanie  przeprowadzona  druga próba wyjścia, bez
                      uruchamiania dodatkowych poleceń pomiędzy próbami (patrz KONTROLA ZADAŃ powyżej).  Powłoka
                      zawsze wstrzymuje wychodzenie, gdy jakiekolwiek zadanie jest zatrzymane.
              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.
              compat31
                      Gdy  jest  ustawiona,  bash  używa  swego  zachowania  z wersji 3.1, respektując argumenty
                      cytowane  do  operatora  =~  polecenia  warunkowego  [[   orazporównywanie   łańcuchów   z
                      uwzględnieniem  locale, gdy używane są operatory < i > polecenia warunkowego [[. Wersje do
                      bash-4.1 używają kolejności  ASCII  i  strcmp(3);  wersje  od  bash-4.1  używają  bieżącej
                      kolejności locale i strcoll(3).
              compat32
                      Gdy  jest  ustawiona,  bash  używa swego zachowania z wersji 3.2, respektując porównywanie
                      łańcuchów z uwzględnieniem locale, gdy używane są operatory < i > polecenia warunkowego [[
                      (patrz poprzedni wpis powyżej).
              compat40
                      Gdy jest ustawiona, bash używa swego zachowania z  wersji  4.0,  respektując  porównywanie
                      łańcuchów z uwzględnieniem locale, gdy używane są operatory < i > polecenia warunkowego [[
                      (zob.  opis  compat31)  oraz  efekt  przerywania  listy  poleceń.  Bash  w  wersji  4.0  i
                      późniejszych  przerywa  listę  jeśli  powłoka  otrzyma   przerwanie;   poprzednie   wersje
                      kontynuowały do następnego polecenia w liście.
              compat41
                      Gdy   ustawiona,  bash,  gdy  jest  w  trybie  posix,  traktuje  pojedyncze  cudzysłowy  w
                      interpretacji ujętej w podwójne cudzysłowy, jako znak specjalny. Pojedynczy cudzysłów musi
                      pasować (musi występować ich parzysta liczba), a znaki pomiędzy pojedynczymi  cudzysłowami
                      są  traktowane  jako  cytowane.  Jest  to  zachowanie  trybu  posix w wersji 4.1. Domyślne
                      zachowania basha pozostaje takie samo, jak w poprzednich wersjach.
              compat42
                      Gdy ustawiona, bash  nie  przeprowadza  zamiany  łańcuchów  przy  w  podstawianiu  wzorców
                      rozwijanych słów za pomocą usuwania cytowań.
              complete_fullquote
                      Gdy  ustawiona,  bash  cytuje  wszystkie  metaznaki powłoki w nazwach plików i katalogów w
                      trakcie wykonywania uzupełniania. Gdy nieustawiona, bash usuwa metaznaki  takie  jak  znak
                      dolara  z  zestawu  cytowanych  znaków  w  uzupełnianych  nazwach plików, gdy te metaznaki
                      pojawiają się w odniesieniach do zmiennych powłoki, w słowach do uzupełnienia. Oznacza to,
                      że znaki dolara w nazwach zmiennych uzupełnianych do katalogów nie będą  cytowane,  jednak
                      znaki  dolara  pojawiające się w nazwach plików w ogóle nie będą cytowane. Jest to aktywne
                      tylko wówczas, gdy bash używa odwrotnego ukośnika do cytowania uzupełnianych nazw  plików.
                      Zmienna  ta  jest  domyslnie  ustawiana, co jest domyślnym zachowaniem basha w wersjach do
                      4.2.
              direxpand
                      Gdy  ustawiona,  bash  zastępuje   nazwy   katalogów   wynikami   rozwijania   słów   przy
                      przeprowadzaniu  uzupełnienia  nazw  plików.  W ten sposób zmieniana jest zawartość bufora
                      edycji readline. Jeśli nie jest ustawiona, bash stara się  zachować  treść  wpisaną  przez
                      użytkownika.
              dirspell
                      Jeżeli  jest  ustawiona,  bash  stara  się  poprawić  pomyłki  w nazwach katalogów podczas
                      uzupełniania słów, jeśli nazwa katalogu wprowadzonego pierwotnie, nie istnieje.
              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.
              extdebug
                      Gdy jest ustawiona, włączone jest zachowanie przeznaczone do użycia przez debuggery:
                      1.     Opcja -F wbudowanego polecenia declare wyświetla nazwę  pliku  źródłowego  i  numer
                             wiersza odpowiadający każdej nazwie funkcji podanej jako argument.
                      2.     Jeśli  polecenie  uruchomione przez pułapkę DEBUG zwraca wartość niezerową, kolejne
                             polecenie jest pomijane i nie jest wykonywane.
                      3.     Jeśli polecenie uruchamiane  przez  pułapkę  DEBUG  zwróci  wartość  2,  a  powłoka
                             wykonywana   w   podprogramie   (funkcja  powłoki  lub  skrypt  powłoki  wykonywany
                             wbudowanymi . lub source), to symulowane jest wywołanie do return.
                      4.     BASH_ARGC i BASH_ARGV są aktualizowane zgodnie z opisem  w  opisie  tych  zmiennych
                             powyżej.
                      5.     Włączone jest śledzenie funkcji: podstawianie poleceń, funkcje powłoki i podpowłoki
                             przywołane za pomocą ( polecenie ) dziedziczą pułapki DEBUG i RETURN.
                      6.     Włączone  jest śledzenie błędów: podstawianie poleceń, funkcje powłoki i podpowłoki
                             przywołane za pomocą ( polecenie ) dziedziczą pułapkę ERR.
              extglob Jeśli jest włączona, włączane są rozszerzone funkcje dopasowywania wzorców opisane powyżej
                      w Rozwijanie nazw plików.
              extquote
                      Jeżeli jest włączona, cytowania  $'łańcuch'  and  $"łańcuch"  są  przeprowadzane  wewnątrz
                      interpretacji ${parametr} ujętych w podwójne cudzysłowy. Opcja jest domyślnie włączona.
              failglob
                      Jeśli jest włączona, wzorce do których nie dopasowano nazw plików podczas rozwinięcia nazw
                      plików, dają w wyniku błąd rozwinięcia (interpretacji).
              force_fignore
                      Jeśli  jest  ustawiona,  przyrostki określone zmienną powłoki FIGNORE powodują ignorowanie
                      słów podczas przeprowadzania uzupełniania słów nawet, gdy  ignorowane  słowa  są  jedynymi
                      dostępnymi  uzupełnieniami.  Proszę  zapoznać  się  z  ZMIENNE  POWŁOKI,  aby uzyskać opis
                      FIGNORE. Opcja jest domyślnie włączona.
              globasciiranges
                      Jeśli jest ustawiona, wyrażenia zakresu użyte we wzorcu dopasowującego wyrażenia nawiasowe
                      (zob.  Dopasowanie  wzorca  powyżej)  zachowują  się  jak  w  tradycyjnym  locale  C  przy
                      przeprowadzaniu  porównań.  Znaczy  to,  że sekwencja sortowania bieżącego locale nie jest
                      brana pod uwagę, więc b nie jest sortowane między A i B, a  wielkie  i  małe  znaki  ASCII
                      są sortowane razem.
              globstar
                      Gdy  jest  ustawiona,  wzorzec  ** używany w kontekście rozwijania nazw plików, dopasowuje
                      wszystkie pliki i zero lub więcej katalogów i podkatalogów. Jeśli po wzorcu  występuje  /,
                      to dopasowywane są jedynie katalogi i podkatalogi.
              gnu_errfmt
                      Jeżeli  jest  ustawiona,  komunikaty  błędów powłoki są wypisywane w standardowym formacie
                      błędów GNU.
              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.
              lastpipe
                      Jeśli  jest  ustawiona,  a  kontrola  zadań  nie  jest aktywna, powłoka uruchamia ostatnie
                      polecenie potoku, który nie jest wykonywany w tle, w bieżącym środowisku powłoki.
              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).
              nocasematch
                      Gdy  jest  ustawiona, bash dopasowuje wzorce ignorując wielkość liter, podczas wykonywania
                      dopasowania, w czasie wykonywania poleceń warunkowych case lub [[.
              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 (prawda) lub 1 (fałsz) 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. test nie akceptuje żadnych opcji, ani nie akceptuje i nie
              ignoruje argumentu -- jako wskaźnika końca opcji.

              Wyrażenia mogą być łączone przy użyciu poniższych operatorów,  podanych  w  kolejności  malejącego
              priorytetu.  Ich interpretacja zależy od liczby argumentów; patrz niżej. Priorytet operatorów jest
              używany gdy występuje pięć argumentów lub więcej.
              ! wyraż
                     Prawda jeśli wyraż jest fałszem.
              ( wyraż )
                     Zwraca wartość wyraż.  Może być stosowane do obejścia zwykłej kolejności operatorów.
              wyraż1 -a wyraż2
                     Prawda jeśli oba: wyraż1 i wyraż2 są prawdziwe.
              wyraż1 -o wyraż2
                     Prawda jeśli wyraż1 lub wyraż2 jest prawdziwe.

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

              0 argumentów
                     Wyrażenie jest fałszywe.
              1 argument
                     Wyrażenie jest prawdziwe wtedy i tylko wtedy gdy argument nie jest pusty (null).
              2 argumenty
                     Jeśli  pierwszym  argumentem  jest  !,  to wyrażenie jest prawdziwe wtedy i tylko wtedy gdy
                     drugi 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
                     Następujące  warunki są stosowane w wypisanej kolejności. 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. Operatory -a i -o są uważane za dwuargumentowe,  jeśli  występują
                     trzy  argumenty.  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.
              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.

              Gdy operatory < i > są używane z test  lub  [,  sortują  zgodnie  z  porządkiem  leksykograficznym
              używając kolejności ASCII.

       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 (i występuje pojedynczy sigspec) 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ł  argument  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 -l powoduje wypisanie przez powłokę listy nazw sygnałów i odpowiadających
              im nazw. Każdy sigspec jest albo nazwą sygnału zdefiniowaną w  <signal.h>  albo  numerem  sygnału.
              Wielkość liter nazw sygnałów nie ma znaczenia, a przedrostek SIG jest opcjonalny.

              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,  poleceniach  for,  case i select, każdym poleceniem arytmetycznym for i przed
              wykonaniem pierwszego polecenia w funkcji  powłoki  (zobacz  GRAMATYKA  POWŁOKI  powyżej).  Proszę
              zapoznać  się z opisem opcji extdebug do wbudowanego shopt, aby dowiedzieć się więcej na temat jej
              wpływu na pułapkę DEBUG. Jeśli sigspec to RETURN, to polecenie argument  jest  wykonywane  zawsze,
              gdy funkcja powłoki lub skrypt wykonywany wbudowanymi . lub source kończą swe wykonanie.

              Jeśli  sigspec  jest  ERR,  wówczas  polecenie argument wykonywane gdy potok (mogący składać się z
              jednego polecenia prostego), lista,  lub  polecenie  złożone  zwróci  niezerowy  kod  zakończenia.
              Pułapka  zastawiona  na ERR nie jest wykonywana gdy polecenie, które zakończyło się niepowodzeniem
              jest występuje bezpośrednio po słowach kluczowych while lub until, jest częścią  testu  instrukcji
              if,  częścią poleceń wykonywanych w listach && lub || z wyjątkiem polecenia za ostatnim && lub ||,
              dowolnym poleceniem w potoku z wyjątkiem ostatniego lub jeśli wartość zwracana przez to  polecenie
              jest wstawiana za pomocą !. Identyczne warunki są przestrzegane przez opcję errexit.

              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 [-aftpP] 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  ``type  -t  name''  nie  zwróciłoby  file.  Opcja -P wymusza na PATH
              wyszukiwanie każdego name, nawet jeśli ``type -t  name''  nie  zwróciłoby  file.  Jeśli  polecenie
              zostało  zapamiętane  poleceniem  hash, to -p i -P wypisuje jego wartość, który niekoniecznie jest
              plikiem pojawiającym się jako pierwszy w PATH. Jeśli użyto opcji -a, to  type  wypisuje  wszystkie
              miejsca  zawierające  plik  wykonywalny o nazwie nazwa. Aliasy i funkcje są uwzględniane wyłącznie
              jeśli nie podano również opcji -p. Tablica zapamiętanym poleceń nie jest sprawdzana,  jeśli  użyto
              -a.  Opcja  -f  przesłania funkcję wyszukiwania powłoki jak wbudowanym command. type zwraca prawdę
              jeśli odnaleziono wszystkie argumenty i fałsz, gdy któregoś z nich nie odnaleziono.

       ulimit [-HSTabcdefilmnpqrstuvx [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  przez
              zwykłego  użytkownika  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
              -b     Maksymalny rozmiar bufora gniazda
              -c     Maksymalny rozmiar tworzonych plików core
              -d     Maksymalny rozmiar segmentu danych procesu
              -e     Maksymalny priorytet planisty ("nice")
              -f     Maksymalny rozmiar plików zapisywanych przez powłokę i jej potomków
              -i     Maksymalna liczba oczekujących sygnałów
              -l     Maksymalny rozmiar, jaki może zostać zablokowany w pamięci
              -m     Maksymalny rozmiar części rezydentnej (wiele systemów nie przestrzega tego limitu)
              -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)
              -q     Maksymalny rozmiar kolejek komunikatów POSIX, w bajtach
              -r     Maksymalny priorytet rzeczywisty planisty
              -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 i, w niektórych systemach, dla
                     jej potomków.
              -x     Maksymalna liczba plików blokad
              -T     Maksymalna liczba wątków

              Jeżeli podano limit i nie użyto opcji -a, to limit staje się nową wartością ograniczenia  zadanego
              zasobu.  Jeżeli nie podano żadnej opcji, 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  -T,  -b, -n, and -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] [-n] [nazwa ...]
              Dla  każdej nazwy, usuwa odpowiadającą jej wartość lub funkcję. Jeżeli 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. Jeśli podano opcję -n,
              a nazwa jest zmienną z parametrem nazwa referencyjna, to zostanie usunięta nazwa zamiast  zmiennej
              referencyjnej.  -n nie daje efektu, jeśli podano opcję -f. Jeśli nie podano żadnych opcji, każda z
              nazw odnosi się do zmiennej; jeśli nie ma zmiennej o tej nazwie, to  usunięte  zostaną  funkcje  z
              tą nazwą.  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  COMP_WORDBREAKS,  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] [n ...]
              Czeka  na  każdy  podany proces potomny 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 podano opcję -n, to wait czeka
              na zakończenie każdego zadania i zwraca jego kod zakończenia. 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:

       •      zmiana katalogów przy pomocy cd

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

       •      podawanie nazw poleceń zawierających /

       •      podawanie nazw plików zawierających / jako argumentu wbudowanego polecenia . (kropka).

       •      podawanie nazwy pliku zawierającej ukośnik jako argument do opcji -p wbudowanego polecenia hash.

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

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

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

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

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

       •      używanie wbudowanego polecenia enable do włączania wyłączonych wbudowanych poleceń powłoki

       •      podawanie opcji -p wbudowanego polecenia command

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

       Powyższe ograniczenia wymuszane są po przeczytaniu plików uruchomieniowych.

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

ZOBACZ TAKŻE

       Bash Features, Brian Fox i Chet Ramey
       The Gnu Readline Library, Brian Fox i Chet Ramey
       The Gnu History Library, Brian Fox i Chet Ramey
       Portable Operating System Interface (POSIX) Part 2: Shell and Utilities, IEEE --
              http://pubs.opengroup.org/onlinepubs/9699919799/
       http://tiswww.case.edu/~chet/bash/POSIX -- opis trybu posix
       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
       /etc/bash.bashrc
              Ogólnosystemowy plik startowy dla powłoki interaktywnej
       /etc/bash.bash.logout
              Ogólnosystemowy  plik  porządkujący  dla powłoki zgłoszeniowej, wykonywany podczas kończenia przez
              nią pracy
       ~/.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 do readline

AUTORZY

       Brian Fox, Free Software Foundation
       bfox@gnu.org

       Chet Ramey, Case Western Reserve University
       chet.ramey@case.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. Jest ona zawsze dostępna pod adresem
       ftp://ftp.gnu.org/pub/gnu/bash/.

       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.ramey@case.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ępne  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ść.

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

       Może istnieć tylko jeden aktywny współproces w danym czasie.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony   podręcznika   man   są:   Wojtek   Kotwica   (PTM)
       <wkotwica@post.pl> i Michał Kułach <michal.kulach@gmail.com>.

       Polskie  tłumaczenie  jest  częścią  projektu  manpages-pl;  uwagi,  pomoc,  zgłaszanie błędów na stronie
       http://sourceforge.net/projects/manpages-pl/. Jest zgodne z wersją  4.3 oryginału.

GNU Bash 4.3                                      2 lutego 2014                                          BASH(1)