Provided by: manpages-pl_4.27.0-1_all bug

NAZWA

       bash - GNU Bourne-Again SHell

SKŁADNIA

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

PRAWA AUTORSKIE

       Bash is Copyright (C) 1989-2022 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,  w  tym  -o,
       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   pierwszy   jest
                 przypisywany  do  $0  a  pozostałe są przypisywane do argumentów pozycyjnych. Przypisanie do $0
                 ustawia nazwę powłoki, co jest wykorzystywane przy ostrzeżeniach i komunikatach z błędami.
       -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 lub przy odczytywaniu wejścia z potoku.
       -v        Wypisuje wiersze wejściowe powłoki przy ich odczytywaniu.
       -x        Wypisuje polecenia i ich argumenty w trakcie ich wykonywania.
       -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 (chyba, że podano  -s)  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 interaktywnej  powłoki  zgłoszeniowej  lub  gdy  nieinteraktywna  powłoka  zgłoszeniowa
       wykonuje  wbudowane  polecenie  exit,  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 attempts to determine when it  is  being  run  with  its  standard  input  connected  to  a  network
       connection,  as  when  executed  by the historical remote shell daemon, usually rshd, or the secure shell
       daemon sshd.  If bash determines it is being run non-interactively in this fashion, it reads and executes
       commands from /etc/bash.bashrc and ~/.bashrc, if these files exist and are readable.  It will not do this
       if invoked as sh.  The --norc option may be used to inhibit this behavior, and the --rcfile option may be
       used to force another file to be read, but neither rshd nor sshd generally invoke the  shell  with  those
       options or allow them to be specified.

       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 newline
       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  (zobacz  GRAMATYKA  POWŁOKI  poniżej),  trzecie słowo poleceń case lub select (prawidłowe jest
       tylko in albo trzecie słowo polecenia for (prawidłowe są tylko in i do):

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

GRAMATYKA POWŁOKI

       Niniejszy rozdział opisuje składnię różnych postaci poleceń 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]] [ ! ] polecenie1 [ [||&] polecenie2 ... ]

       Standardowe wyjście z  polecenia1  połączone  jest  za  pośrednictwem  potoku  ze  standardowym  wejściem
       polecenia2.   Połączenie  to  wykonywane  jest  przed  możliwymi przekierowaniami podanymi dla polecenia1
       (zobacz poniżej PRZEKIEROWANIE. Jeśli użyte jest |&, to standardowe wyjście  błędów  polecenia1  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 polecenie1.

       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.

       Each command in a multi-command pipeline, where pipes are created, is executed in a subshell, which is  a
       separate  process.   See  COMMAND  EXECUTION  ENVIRONMENT  for  a description of subshells and a subshell
       environment.  If the lastpipe option is enabled using the shopt builtin (see  the  description  of  shopt
       below), the last element of a pipeline may be run by the shell process when job control is not active.

   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.  Takie
       polecenia  są określane jako polecenia asynchroniczne. 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 (sukces).

       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 (opis środowiska podpowłoki znajduje się w rozdziale Ś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  zwracanym  statusem  jest  0; w
              przeciwnym razie zwracanym statusem jest 1. Wyrażenie jest rozwijane  tak  samo,  jak  gdyby  było
              ujęte  w  podwójne  cudzysłowy,  jednak  znaki podwójnego cudzysłowu w wyrażeniu nie są traktowane
              specjalnie i są usuwane.

       [[ 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ń  na  tych  słowach
              (wyrażenia  które  pojawiłyby  się,  gdyby  słowa  były  ujęte  w  podwójne cudzysłowy). 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.

       An additional binary operator, =~, is available, with the same precedence as == and !=.  When it is used,
       the string to the right of the operator is considered a POSIX extended  regular  expression  and  matched
       accordingly  (using  the POSIX regcomp and regexec interfaces usually described in regex(3)).  The return
       value is 0 if  the  string  matches  the  pattern,  and  1  otherwise.   If  the  regular  expression  is
       syntactically incorrect, the conditional expression's return value is 2.  If the nocasematch shell option
       is  enabled,  the match is performed without regard to the case of alphabetic characters.  If any part of
       the pattern is quoted, the quoted portion is matched literally.  This means every character in the quoted
       portion matches itself, instead of having any special pattern matching meaning.  If the pattern is stored
       in a shell variable, quoting the variable expansion forces the entire pattern to  be  matched  literally.
       Treat  bracket  expressions in regular expressions carefully, since normal quoting and pattern characters
       lose their meanings between brackets.

       The pattern will match if it matches any part of the string.  Anchor  the  pattern  using  the  ^  and  $
       regular  expression  operators  to  force it to match the entire string.  The array variable BASH_REMATCH
       records which parts of the string matched the pattern.  The element of BASH_REMATCH with index 0 contains
       the portion of the string matching the entire regular expression.  Substrings  matched  by  parenthesized
       subexpressions within the regular expression are saved in the remaining BASH_REMATCH indices. The element
       of  BASH_REMATCH  with index n is the portion of the string matching the nth parenthesized subexpression.
       Bash sets BASH_REMATCH in the global scope; declaring it as a local  variable  will  lead  to  unexpected
       results.

       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,   a   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).  select
              następnie wyświetla znak zachęty PS3 i odczytuje 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 select kończy pracę zwracając  1.  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
              A case command first expands word, and tries to match it against each pattern in turn,  using  the
              matching  rules  described  under  Pattern  Matching  below.   The  word  is  expanded using tilde
              expansion, parameter and variable expansion, arithmetic expansion, command  substitution,  process
              substitution  and  quote  removal.   Each  pattern  examined  is  expanded  using tilde expansion,
              parameter  and  variable  expansion,   arithmetic   expansion,   command   substitution,   process
              substitution,  and  quote  removal.   If  the  nocasematch  shell  option is enabled, the match is
              performed without regard to the case of  alphabetic  characters.   When  a  match  is  found,  the
              corresponding  list  is executed.  If the ;; operator is used, no subsequent matches are attempted
              after the first pattern match.  Using ;& in place of ;; causes execution to continue with the list
              associated with the next set of patterns.  Using ;;& in place of ;; causes the shell to  test  the
              next pattern list in the statement, if any, and execute any associated list on a successful match,
              continuing  the  case statement execution as if the pattern list had not matched.  The exit status
              is zero if no pattern matches.  Otherwise, it is the exit status of the last command  executed  in
              list.

       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.

   Procesy współbieżne
       Proces  współbieżny jest poleceniem powłoki poprzedzonym słowem zastrzeżonym coproc. Jest on 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 procesem współbieżnym.

       Składnia procesu współbieżnego jest następująca:

              coproc [NAZWA] polecenie [przekierowania]

       Tworzy  proces  współbieżny  o  nazwie NAZWA. Polecenie może być albo poleceniem prostym, albo poleceniem
       złożonym (zob. wyżej). NAZWA jest nazwą zmiennej powłoki. Jeśli nie poda się NAZWY, domyślną jest COPROC.

       Zalecanym formatem korzystania z procesu współbieżnego jest

              coproc NAZWA { polecenie [przekierowania]; }

       Forma ta jest zalecana, ponieważ proste polecenia powodują, że proces współbieżny będzie  zawsze  nazwany
       COPROC, jest także prostsza w użyciu i bardziej kompletna, niż inne polecenia złożone.

       Jeśli polecenie jest poleceniem złożonym, NAZWA jest opcjonalna. Słowo występujące po coproc określa, czy
       jest  ono interpretowane jako nazwa zmiennej: jest interpretowane jako NAZWA, jeśli nie jest zastrzeżonym
       słowem  wprowadzającym  polecenie  złożone.  Jeśli  polecenie  jest  prostym   poleceniem,   NAZWA   jest
       niedozwolona;  wynika to z konieczności zapobiegania pomyłki pomiędzy NAZWĄ, a pierwszym słowem polecenia
       prostego.

       Gdy proces współbieżny 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.  Oprócz  tych,  utworzonych  do  wykonania poleceń i
       podstawiania procesów, deskryptory plików nie są dostępne w podpowłokach.

       Identyfikator procesu powłoki utworzonej do wykonania procesu współbieżnego jest  dostępny  jako  wartość
       zmiennej  NAZWA_PID.  Do  czekania  na zakończenie procesu współbieżnego można użyć wbudowanego polecenia
       wait.

       Ponieważ proces współbieżny jest tworzony jako polecenie asynchroniczne, polecenie coproc  zawsze  zwróci
       powodzenie. Zwracanym statusem procesu współbieżnego 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-f () polecenie-złożone [przekierowanie]
       function nazwa-f [()] polecenie-złożone [przekierowanie]
              This defines a function named fname.  The reserved word function is  optional.   If  the  function
              reserved word is supplied, the parentheses are optional.  The body of the function is the compound
              command  compound-command  (see  Compound  Commands  above).   That  command  is usually a list of
              commands between { and }, but may be any command listed under Compound  Commands  above.   If  the
              function  reserved word is used, but the parentheses are not supplied, the braces are recommended.
              compound-command is executed whenever fname is specified as the name of a simple command.  When in
              posix mode, fname must be a valid shell name and may not be the name of one of the  POSIX  special
              builtins.   In  default mode, a function name can be any unquoted shell word that does not contain
              $.  Any redirections (see REDIRECTION below) specified when a function is  defined  are  performed
              when  the  function is executed.  The exit status of a function definition is zero unless a syntax
              error occurs or a readonly function with the same name already exists.  When  executed,  the  exit
              status  of a function is the exit status of the last command executed in the body.  (See FUNCTIONS
              below.)

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, !. Gdy  powłoka  działa  w  trybie  posix,  !  nie  ma  specjalnego
       znaczenia  wewnątrz  podwójnych  cudzysłowów, nawet 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 <nowy wiersz>. 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).

       Sekwencje znaków w  postaci  $'łańcuch'  traktowane  jako  specjalny  wariant  pojedynczych  cudzysłowów.
       Sekwencja  jest  rozwijana  na  łańcuch,  w  którym  znaki  w  łańcuchu  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
              \t     tabulacja pozioma (horizontal tab)
              \v     tabulacja pionowa (vertical tab)
              \\     odwrotny ukośnik (backslash)
              \'     apostrof
              \"     cudzysłów
              \?     znak zapytania
              \nnn   ośmiobitowy  znak,  którego  wartością  jest  ósemkowa  liczba  nnn  (jedna  do trzech cyfr
                     ósemkowych)
              \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.

       A  double-quoted  string  preceded  by  a dollar sign ($"string")  will cause the string to be translated
       according to the current locale.  The gettext infrastructure performs the lookup and  translation,  using
       the  LC_MESSAGES, TEXTDOMAINDIR, and TEXTDOMAIN shell variables.  If the current locale is C or POSIX, if
       there are no translations available, or if the string is not translated,  the  dollar  sign  is  ignored.
       This  is  a  form of double quoting, so the string remains double-quoted by default, whether or not it is
       translated and replaced.  If  the  noexpand_translation  option  is  enabled  using  the  shopt  builtin,
       translated  strings are single-quoted instead of double-quoted.  See the description of shopt below under
       SHELLBUILTINCOMMANDS.

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, ani rozwijanie nazw plików.  Instrukcje przypisania mogą się też  pojawiać
       jako   argumenty  poleceń  wbudowanych  alias,  declare,  typeset,  export,  readonly  i  local  (poleceń
       deklarujących). 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.
       Obejmuje to argumenty do poleceń wbudowanych takich jak declare, które akceptują  instrukcje  przypisania
       (poleceń  deklarujących).  Gdy  +=  jest stosowane do zmiennej z ustawionym atrybutem integer, 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, przypisywana, usuwana lub  modyfikowane  są  jej  atrybuty
       (inne  niż  użycie lub zmiana samej nazwy referencyjnej), 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  oraz  zmiana  jej atrybutów są
       traktowane jako odniesienie lub przypisania do zmiennej  oraz  zmiana  atrybutów  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  nameref, 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.  W  kontekstach,  w  których
              dokonywane  jest  dzielenie  na  słowa,  każdy  parametr pozycyjny jest interpretowany jako osobne
              słowo; jeśli nie znajduje się on w podwójnych cudzysłowach, słowa te podlegają dzieleniu na słowa.
              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.

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

       _      Podczas uruchamiania  powłoki,  ustawiany  na  nazwę  powłoki  lub  wykonywanego  skryptu  powłoki
              przekazanego   w   liście   argumentów.  Następnie,  interpretowany  jest  jako  ostatni  argument
              poprzedniego polecenia prostego, wykonywanego na pierwszym planie,  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.
       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 $$. Przypisania do
              BASHPID nie odnoszą skutku. Jeżeli BASHPID jest unieważniona, to traci swe specjalne  właściwości,
              nawet jeżeli jest następnie ponownie ustawiona.
       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,
              jednak  usunięcie  elementów tablicy obecnie nie powoduje usunięcie aliasów z listy aliasów. Jeśli
              BASH_ALIASES zostanie skasowana, traci swoje specjalne właściwości, nawet jeśli  zostanie  później
              zresetowana.
       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).
              Ustawienie extdebug po tym, jak powłoka uruchomiła się w celu wykonania  skryptu  lub  odniesienie
              się do tej zmiennej gdy extdebug nie jest ustawione, może dać niespójne wartości.
       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).  Ustawienie
              extdebug  po  tym,  jak powłoka uruchomiła się w celu wykonania skryptu lub odniesienie się do tej
              zmiennej gdy extdebug nie jest ustawione, może dać niespójne wartości.
       BASH_ARGV0
              Po odwołaniu się do niej,  zmienna  ta  jest  rozwijana  na  nazwę  powłoki  lub  skryptu  powłoki
              (identyczne do $0; zob. opis parametru specjalnego 0 powyżej). Przypisania do BASH_ARGV0 powodują,
              że  wartość  zostanie  przypisana również do $0. Jeżeli BASH_ARGV0 jest unieważniona, to traci swe
              specjalne właściwości, nawet jeżeli jest następnie ponownie ustawiona.
       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, jednak usunięcie elementów tablicy obecnie nie powoduje powoduje usunięcia ich z  tablicy
              skrótów.  Jeśli  BASH_CMDS  zostanie  skasowana,  traci  swoje  specjalne właściwości, nawet jeśli
              zostanie później zresetowana.
       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.  Jeżeli  BASH_COMMAND  jest  unieważniona,  to  traci  swe  specjalne
              właściwości, nawet jeżeli jest następnie ponownie ustawiona.
       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_LOADABLES_PATH
              Lista rozdzielonych dwukropkami katalogów, w których powłoka szuka dynamicznie ładowalnych poleceń
              wbudowanych podanych przez polecenie enable.
       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.
       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. Jeżeli BASH_SUBSHELL jest unieważniona,
              to traci swe specjalne właściwości, nawet jeżeli jest następnie ponownie ustawiona.
       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 koprocesów (zobacz Koprocesy (współprocesy) 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.
       EPOCHREALTIME
              Each  time  this parameter is referenced, it expands to the number of seconds since the Unix Epoch
              (see  time(3))  as  a  floating  point  value  with  micro-second  granularity.   Assignments   to
              EPOCHREALTIME are ignored.  If EPOCHREALTIME is unset, it loses its special properties, even if it
              is subsequently reset.
       EPOCHSECONDS
              Each  time  this parameter is referenced, it expands to the number of seconds since the Unix Epoch
              (see time(3)).  Assignments to EPOCHSECONDS are ignored.  If EPOCHSECONDS is unset, it  loses  its
              special properties, even if it is subsequently reset.
       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. 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. 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.  Przypisania do  HISTCMD
              są  ignorowane. 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, jest on  rozwijany  na  losową  liczbę
              całkowitą  z  zakresu  od  0 do 32767. Przypisanie wartości do RANDOM inicjuje (przekazuje ziarno)
              sekwencję liczb losowych. Jeżeli RANDOM jest unieważniona, to  traci  swe  specjalne  właściwości,
              nawet jeżeli jest następnie ponownie ustawiona.
       READLINE_ARGUMENT
              Każdy  numeryczny  argument  przekazany  do  polecenia  readline, zdefiniowany za pomocą "bind -x"
              (patrz WBUDOWANE POLECENIA POWŁOKI poniżej), gdy zostało ono wywołane.
       READLINE_LINE
              Zawartość bufora wiersza readline, do użycia  z  "bind  -x"  (patrz  WBUDOWANE  POLECENIA  POWŁOKI
              poniżej).
       READLINE_MARK
              Pozycja zaznaczenia (zapisanego punktu wprowadzania) w buforze wiersza readline, do użycia z "bind
              -x"   (patrz   WBUDOWANE  POLECENIA  POWŁOKI  poniżej).  Znaki  pomiędzy  punktem  wprowadzania  i
              zaznaczeniem są często określane jako region.
       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, rozwijany jest on do liczby 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ść.
              Liczba  sekund  w  momencie  wywołania  powłoki  oraz  czas  bieżący  są  zawsze określane poprzez
              sprawdzenie  zegara  systemowego.  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.
       SRANDOM
              This variable expands to a 32-bit pseudo-random number each time  it  is  referenced.  The  random
              number  generator  is  not  linear  on  systems  that  support /dev/urandom or arc4random, so each
              returned number has no relationship to the numbers preceding  it.   The  random  number  generator
              cannot  be  seeded, so assignments to this variable have no effect.  If SRANDOM is unset, it loses
              its special properties, even if it is subsequently reset.
       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
              The  value is used to set the shell's compatibility level.  See SHELL COMPATIBILITY MODE below for
              a description of the various compatibility levels and their effects.  The value may be  a  decimal
              number (e.g., 4.2) or an integer (e.g., 42)  corresponding to the desired compatibility level.  If
              BASH_COMPAT is unset or set to the empty string, the compatibility level is set to the default for
              the  current version.  If BASH_COMPAT is set to a value that is not one of the valid compatibility
              levels, the shell prints an error message and sets the compatibility level to the default for  the
              current  version.   The  valid values correspond to the compatibility levels described below under
              SHELL COMPATIBILITY MODE.  For example, 4.2 and  42  are  valid  values  that  correspond  to  the
              compat42  shopt option and set the compatibility level to 42.  The current version is also a valid
              value.
       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    Rozwijane  i  wykonywane  podobnie do BASH_ENV (zob. INVOCATION powyżej), gdy powłoka interaktywna
              jest wywołana w trybie posix.
       EXECIGNORE
              Lista oddzielonych dwukropkami wzorców powłoki (zob. Dopasowanie wzorca) definiujących listę  nazw
              plików  ignorowanych  przy  szukaniu poleceń za pomocą PATH. Pliki których pełna ścieżka pasuje do
              jednego z tych wzorców nie są traktowane jako pliki  wykonywalne  dla  dopełniania  i  wykonywania
              poleceń  przez  PATH.  Nie wpływa to na zachowanie poleceń [, test oraz [[. Pełne ścieżki w liście
              skrótów poleceń nie są przedmiotem EXECIGNORE. Tę zmienną  należy  używać  do  ignorowania  plików
              bibliotek   współdzielonych,   które   mają  ustawione  prawo  wykonywania,  ale  nie  są  plikami
              wykonywalnymi. Dopasowanie wzorców przestrzega ustawień opcji powłoki extglob.
       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. Dopasowanie  wzorców  honoruje  ustawienia
              opcji powłoki extglob.
       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).
       INSIDE_EMACS
              Jeśli  zmienna  ta  pojawi  się  w  środowisko przy uruchomieniu powłoki, bash przyjmuje że działa
              wewnątrz bufora powłoki Emacs i może wyłączyć edycję wiersza, w zależności od wartości TERM.
       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.
       LC_TIME
              Ta zmienna określa kategorię locale używaną do formatowania daty i czasu.
       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 można skonfigurować, aby zapewnił tej zmiennej wartość domyślną (domyślnie jej nie  posiada),
              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 Gdy powłoka wchodzi w tryb posix, ustawia tę zmienną, jeśli  nie  była  ona
              jeszcze ustawiona.
       PROMPT_COMMAND
              Jeśli  zmienna  ta jest ustawiona i jest tablicą, wartość każdego z elementów jest wykonywana jako
              polecenie, przed wydaniem każdej podstawowej zachęty. Jeśli jest ustawiona, lecz nie jest  zmienną
              tablicową, jej wartość jest traktowania jako polecenie do wykonania.
       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.
       PS0    Wartość  tego  parametru  jest interpretowana (zobacz poniżej ZACHĘTA) i wyświetlana przez powłokę
              interaktywną po odczytaniu polecenia, a przed jego wykonaniem.
       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 rozwiniętej wartości  PS4,  w
              razie  potrzeby, powtarzany jest wielokrotnie, by wskazać wiele poziomów zagnieżdżenia.  Domyślnie
              jest to "+ ".
       SHELL  Zmienna ta jest rozwijana na pełną ścieżkę powłoki. 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.

       Arrays  are assigned to using compound assignments of the form name=(value1 ... valuen), where each value
       may be of the form [subscript]=string.  Indexed array assignments do not  require  anything  but  string.
       Each  value in the list is expanded using all the shell expansions described below under EXPANSION.  When
       assigning to indexed arrays, if the optional brackets and subscript are supplied, that index is  assigned
       to;  otherwise the index of the element assigned is the last index assigned to by the statement plus one.
       Indexing starts at zero.

       When assigning to an associative array, the words in a  compound  assignment  may  be  either  assignment
       statements,  for which the subscript is required, or a list of words that is interpreted as a sequence of
       alternating keys and values: name=( key1 value1 key2 value2  ...).   These  are  treated  identically  to
       name=(  [key1]=value1  [key2]=value2 ...).  The first word in the list determines how the remaining words
       are interpreted; all assignments in a list must be of the same type.  When  using  key/value  pairs,  the
       keys may not be missing or empty; a final missing value is treated like the empty string.

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

       The += operator will append to an array variable when assigning using the compound assignment syntax; see
       PARAMETERS above.

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

       Odwoływanie się do zmiennej tablicowej bez podania wskaźnika jest równoważne odwołaniu do elementu  numer
       zero. Każde odwołanie do zmiennej przy podaniu prawidłowego wskaźnika jest poprawne; bash utworzy tablicę
       jeśli będzie to konieczne.

       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.

       The  unset  builtin is used to destroy arrays.  unset name[subscript] destroys the array element at index
       subscript, for  both  indexed  and  associative  arrays.   Negative  subscripts  to  indexed  arrays  are
       interpreted  as  described  above.   Unsetting  the  last element of an array variable does not unset the
       variable.  unset name, where name is an array, removes the entire array.   unset  name[subscript],  where
       subscript  is  *  or @, behaves differently depending on whether name is an indexed or associative array.
       If name is an associative array, this unsets the element with subscript * or @.  If name  is  an  indexed
       array, unset removes all of the elements but does not remove the array itself.

       When  using  a  variable  name  with a subscript as an argument to a command, such as with unset, without
       using the word expansion syntax described above, the argument  is  subject  to  pathname  expansion.   If
       pathname expansion is not desired, the argument should be quoted.

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

       Po przeprowadzeniu tych interpretacji znaki cytowania obecne w pierwotnym słowie  są  usuwane,  chyba  że
       same zostały zacytowane (usunięcie cytowań).

       Only  brace  expansion,  word  splitting,  and pathname expansion can increase the number of words of the
       expansion; other expansions expand a single word to a single word.  The only exceptions to this  are  the
       expansions  of  "$@"  and  "${name[@]}",  and,  in  most cases, $* and ${name[*]} as explained above (see
       PARAMETERS).

   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 literami, 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  litery,  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 (liczby lub litery). 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  podlegający  interpretacji  nawiasów oraz wyłącza interpretację
       nawiasów do zamknięcia znakiem }.

       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ść.

       Bash  also  performs  tilde  expansion  on  words  satisfying  the conditions of variable assignments (as
       described above under PARAMETERS)  when they appear as arguments to simple commands.  Bash  does  not  do
       this, except for the declaration commands listed above, when in posix mode.

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

       If the first character of parameter is an exclamation point (!), and  parameter  is  not  a  nameref,  it
       introduces  a level of indirection.  Bash uses the value formed by expanding the rest of parameter as the
       new parameter; this is then expanded and that value is used in the rest of the expansion, rather than the
       expansion of the original parameter.  This is known as indirect expansion.  The value is subject to tilde
       expansion, parameter expansion, command substitution,  and  arithmetic  expansion.   If  parameter  is  a
       nameref,  this  expands  to  the  name of the parameter referenced by parameter instead of performing the
       complete indirect expansion.  The exceptions to this are the expansions of  ${!prefix*}  and  ${!name[@]}
       described  below.   The  exclamation  point  must immediately follow the left brace in order to introduce
       indirection.

       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 @ lub *, 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 @ lub *, 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}
              Remove  matching  prefix  pattern.   The word is expanded to produce a pattern just as in pathname
              expansion, and matched against the expanded value of parameter using  the  rules  described  under
              Pattern  Matching below.  If the pattern matches the beginning of the value of parameter, then the
              result of the expansion is the expanded value of parameter with the shortest matching pattern (the
              “#” case) or the longest matching pattern (the “##” case) deleted.  If parameter is @  or  *,  the
              pattern  removal  operation  is applied to each positional parameter in turn, and the expansion is
              the resultant list.  If parameter is an array variable  subscripted  with  @  or  *,  the  pattern
              removal  operation  is  applied  to  each  member  of  the array in turn, and the expansion is the
              resultant list.

       ${parametr%słowo}
       ${parametr%%słowo}
              Remove matching suffix pattern.  The word is expanded to produce a pattern  just  as  in  pathname
              expansion,  and  matched  against  the expanded value of parameter using the rules described under
              Pattern Matching below.  If the pattern matches a  trailing  portion  of  the  expanded  value  of
              parameter,  then  the result of the expansion is the expanded value of parameter with the shortest
              matching pattern (the “%” case) or the longest matching  pattern  (the  “%%”  case)  deleted.   If
              parameter  is  @  or  *,  the pattern removal operation is applied to each positional parameter in
              turn, and the expansion is the resultant list.  If parameter is an array variable subscripted with
              @ or *, the pattern removal operation is applied to each member of the  array  in  turn,  and  the
              expansion is the resultant list.

       ${parametr/wzorzec/łańcuch}
       ${parametr//wzorzec/łańcuch}
       ${parametr/#wzorzec/łańcuch}
       ${parametr/%wzorzec/łańcuch}
              Pattern substitution.  The pattern is expanded to produce a pattern just as in pathname expansion.
              Parameter  is expanded and the longest match of pattern against its value is replaced with string.
              string undergoes tilde expansion, parameter and variable expansion, arithmetic expansion,  command
              and  process  substitution,  and  quote removal.  The match is performed using the rules described
              under Pattern Matching below.  In the first form above, only the  first  match  is  replaced.   If
              there  are  two  slashes  separating parameter and pattern (the second form above), all matches of
              pattern are replaced with string.  If pattern is preceded by # (the third  form  above),  it  must
              match  at  the  beginning  of  the  expanded value of parameter.  If pattern is preceded by % (the
              fourth form above), it must match at the end of the expanded value of parameter.  If the expansion
              of string is null, matches of pattern are deleted.  If string is  null,  matches  of  pattern  are
              deleted and the / following pattern may be omitted.

              If  the  patsub_replacement  shell  option  is enabled using shopt, any unquoted instances of & in
              string are replaced with the matching portion of pattern.

              Quoting any part of string inhibits replacement in the expansion of the quoted portion,  including
              replacement  strings  stored in shell variables.  Backslash will escape & in string; the backslash
              is removed in order to permit a literal & in the replacement string.  Backslash can also  be  used
              to  escape  a  backslash; \\ results in a literal backslash in the replacement.  Users should take
              care if string  is  double-quoted  to  avoid  unwanted  interactions  between  the  backslash  and
              double-quoting,  since  backslash  has special meaning within double quotes.  Pattern substitution
              performs the check for unquoted & after expanding  string;  shell  programmers  should  quote  any
              occurrences  of & they want to be taken literally in the replacement and ensure any instances of &
              they want to be replaced are unquoted.

              If the nocasematch shell option is enabled, the match is performed without regard to the  case  of
              alphabetic  characters.   If  parameter  is  @ or *, the substitution operation is applied to each
              positional parameter in turn, and the expansion is the resultant list.  If parameter is  an  array
              variable  subscripted  with  @  or  *, the substitution operation is applied to each member of the
              array in turn, and the expansion is the resultant list.

       ${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.

       ${parametr@operator}
              Przekształcenie  parametrów. Ta interpretacja jest albo przekształceniem wartości parametrów, albo
              informacji o  samych  parametrach,  w  zależności  od  wartości  operatora.  Każdy  operator  jest
              pojedynczą literą:

              U      Interpretacją  jest  łańcuch  będący  wartością parametru z małymi literami zamienionymi na
                     wielkie litery.
              u      Interpretacją jest łańcuch będący wartością parametru z pierwszym  znakiem  zamienionym  na
                     wielką literę, jeśli jest to litera.
              L      Interpretacją  jest  łańcuch będący wartością parametru z wielkimi literami zamienionymi na
                     małe litery.
              Q      Interpretacją jest łańcuch będący wartością parametru cytowany w formacie,  jaki  może  być
                     ponownie wykorzystany jako wejście powłoki.
              E      Interpretacją  jest  łańcuch będący wartością parametru z sekwencjami ucieczki z ukośnikiem
                     cytowanych za pomocą mechanizmu $'...'.
              P      Interpretacją jest łańcuch będący wartością parametru taką, jaką byłby jako łańcuch zachęty
                     (zob. poniżej ZACHĘTA).
              A      Interpretacją jest łańcuch w postaci z jaką instrukcja przypisania  lub  polecenie  declare
                     przy interpretacji odtworzyła by parametr z jego atrybutami i wartością.
              K      Produces  a  possibly-quoted  version  of the value of parameter, except that it prints the
                     values of indexed and associative arrays as a  sequence  of  quoted  key-value  pairs  (see
                     Arrays above).
              a      Interpretacją  jest  łańcuch  składający  się  z  wartości  flag  reprezentujących atrybuty
                     parametru.
              k      Like the K transformation, but expands the keys  and  values  of  indexed  and  associative
                     arrays to separate words after word splitting.

              Jeżeli  parametrem  jest  @  lub  *,  to  operacja  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 jest przeprowadzana po kolei na każdym  elemencie  tablicy,
              zaś wynikiem interpretacji jest powstała lista.

              Na  wyniku interpretacji jest przeprowadzany podział na słowa oraz rozwinięcie nazw plików zgodnie
              z opisem poniżej.

   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  w  środowisku  podpowłoki  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 podlega takiej samej interpretacji, jak gdyby było ujęte w podwójne cudzysłowy,  ale  cudzysłów
       wewnątrz nawiasów w wyrażeniu nie jest traktowany specjalnie i jest usuwany. 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  pozwala na odnoszenie się do wejścia lub wyjścia procesu za pomocą nazwy
       pliku. Przybiera ono postać <(lista) lub >(lista).  Proces  lista  uruchamiany  asynchronicznie,  a  jego
       wejście  i  wyjście pojawia się jako nazwa pliku. 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. Podstawianie wyników procesów jest obsługiwane w systemach
       wspierających potoki nazwane (FIFO) lub metodę nazywania otwartych plików /dev/fd.

       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 i znaku nowego wiersza 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  i  przekazywane  do  poleceń  jako  łańcuchy  puste.
       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 i przekazywany do poleceń jako łańcuchy puste. Gdy cytowany pusty
       argument pojawi się jako część słowa, którego interpretacja jest niepusta, pusty  argument  jest  usuwany
       tj. słowo -d'' staje się -d po przeprowadzeniu podziału na słowa i usunięciu pustych argumentów.

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

   Rozwijanie nazw plików (Pathname Expansion)
       After  word  splitting,  unless the -f option has been set, bash scans each word for the characters *, ?,
       and [.  If one of these characters appears, and is not quoted, then the word is regarded  as  a  pattern,
       and  replaced  with an alphabetically sorted list of filenames matching the pattern (see Pattern Matching
       below).  If no matching filenames are found, and the shell option nullglob is not enabled,  the  word  is
       left  unchanged.   If  the nullglob option is set, and no matches are found, the word is removed.  If the
       failglob shell option is set, and no matches are found, an error message is printed and  the  command  is
       not  executed.   If  the shell option nocaseglob is enabled, the match is performed without regard to the
       case of alphabetic characters.  Note that when using range expressions like [a-z] (see below), letters of
       the other case may be included, depending on the setting of  LC_COLLATE.  When  a  pattern  is  used  for
       pathname  expansion,  the  character  “.” at the start of a name or immediately following a slash must be
       matched explicitly, unless the shell option dotglob is set.  In order to  match  the  filenames  “.”  and
       “..”,  the  pattern must begin with “.” (for example, “.?”), even if dotglob is set.  If the globskipdots
       shell option is enabled, the filenames “.” and “..” are never matched, even if the pattern begins with  a
       “.”.   When  not  matching  pathnames,  the  “.”   character  is  not treated specially.  When matching a
       pathname, the slash character must always be matched explicitly by a slash in the pattern, but  in  other
       matching  contexts  it  can  be  matched  by a special pattern character as described below under Pattern
       Matching.  See the description of shopt below under SHELL BUILTIN  COMMANDS  for  a  description  of  the
       nocaseglob, nullglob, globskipdots, failglob, and dotglob shell options.

       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ń. Jeśli ustawiona  jest  opcja  nocaseglob,  to  dopasowanie  do
       wzorców  w  GLOBIGNORE  jest dokonywane bez względu na wielkość znaków. 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  wzorców
       honoruje ustawienia opcji powłoki extglob.

       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  oraz  znaków  ujętych  w  zakresach  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 powłoka  rozpoznaje  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

       Theextglob  option  changes  the  behavior  of  the parser, since the parentheses are normally treated as
       operators with syntactic meaning.  To ensure that extended matching patterns are parsed  correctly,  make
       sure that extglob is enabled before parsing constructs containing the patterns, including shell functions
       and command substitutions.

       When  matching  filenames, the dotglob shell option determines the set of filenames that are tested: when
       dotglob is enabled, the set of filenames includes all files beginning with “.”, but “.” and “..” must  be
       matched by a pattern or sub-pattern that begins with a dot; when it is disabled, the set does not include
       any filenames beginning with “.” unless the pattern or sub-pattern begins with a “.”.  As above, “.” only
       has a special meaning when matching filenames.

       Complicated  extended pattern matching against long strings is slow, especially when the patterns contain
       alternations and the strings contain multiple matches.  Using separate matches against  shorter  strings,
       or using arrays of strings instead of a single long string, may be faster.

   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. Jeśli poda się {nazwę-zmiennej},  to  przekierowanie  będzie
       istniało  poza  zakresem  polecenia,  co pozwala na ręczne zarządzanie czasem istnienia deskryptora pliku
       przez programistę powłoki. Za to zachowanie odpowiada opcja powłoki varredir_close.

       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 wiele nazw plików, szczególnie wtedy, gdy są one używane przy przekierowaniach, zgodnie z
       opisem w poniższej tabeli. Jeśli system operacyjny na którym działa bash udostępnia te  pliki  specjalne,
       bash  skorzysta  z  nich,  jeśli  nie,  to  będą  wewnętrznie  emulowane  cechując  się  opisanym poniżej
       zachowaniem.

              /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 (lub deskryptor pliku n, jeśli podano n) polecenia.

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

              [n]<<[-]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 cytowana jest część słowa, 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:

              [n]<<<słowo

       Słowo  podlega  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 z dołączonym znakiem
       nowego wiersza na jego standardowe wejście (lub deskryptor pliku n, jeśli podano n).

   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, należy skorzystać z funkcji powłoki (zob. 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,  oraz  wszystkie  wiersze  tworzące polecenie złożone, przed wykonaniem
       jakichkolwiek poleceń tego wiersza lub polecenia złożonego. 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. 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  można zadeklarować poleceniem wbudowanym local (zmienne lokalne). W innym
       przypadku zmienne i ich wartości są dzielone pomiędzy  funkcją  i  ją  wywołującym.  Jeśli  zmienna  jest
       zadeklarowana  jako local, to zmienna ma zakres widzialności ograniczony do tej funkcji i jej potomków (w
       tym funkcji, które wywoła).

       In the following description, the current scope is a  currently-  executing  function.   Previous  scopes
       consist of that function's caller and so on, back to the "global" scope, where the shell is not executing
       any shell function.  Consequently, a local variable at the current scope is a variable declared using the
       local or declare builtins in the function that is currently executing.

       Local variables "shadow" variables with the same name declared at previous scopes.  For instance, a local
       variable  declared  in  a  function  hides a global variable of the same name: references and assignments
       refer to the local variable, leaving the global variable unmodified.   When  the  function  returns,  the
       global variable is once again visible.

       The  shell  uses  dynamic  scoping  to  control  a  variable's visibility within functions.  With dynamic
       scoping, visible variables and their values are a result of the sequence of function  calls  that  caused
       execution  to  reach  the  current function.  The value of a variable that a function sees depends on its
       value within its caller, if any, whether that caller is the "global" scope  or  another  shell  function.
       This  is  also the value that a local variable declaration "shadows", and the value that is restored when
       the function returns.

       For example, if a variable var is declared as local in function func1, and func1 calls  another  function
       func2,  references  to  var  made  from  within  func2 will resolve to the local variable var from func1,
       shadowing any global variable named var.

       The unset builtin also acts using the same dynamic scope: if a variable is local to  the  current  scope,
       unset  will  unset  it;  otherwise  the  unset  will  refer to the variable found in any calling scope as
       described above.  If a variable at the current local scope is unset, it  will  remain  so  (appearing  as
       unset)   until  it  is reset in that scope or until the function returns.  Once the function returns, any
       instance of the variable at a previous scope will become visible.  If the unset acts on a variable  at  a
       previous scope, any instance of a variable with that name that had been shadowed will become visible (see
       below how the localvar_unset shell option changes this behavior).

       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  procesy
       powłoki  potomnej  (utworzone przy wykonywaniu oddzielnego wywołania powłoki) będą miały je automatycznie
       zdefiniowane przy pomocy opcji -f wbudowanego polecenia export. Definicję funkcji można usunąć  opcją  -f
       lub wbudowanym unset.

       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
       polecenia let i declare, polecenie złożone ((  oraz  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
       - +    jednoargumentowy minus i plus
       ++id --id
              pre-inkrementacja i pre-dekrementacja zmiennej
       ! ~    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 liczbowe są zgodne z definicją języka C, bez przyrostków lub stałych znakowych. 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, a wymagany jest znak niebędący cyfrą,
       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. Zachowanie poleceń test i [  zależy
       od  liczby  podanych  im  argumentów;  zob,  opis  tych  poleceń,  aby dowiedzieć się o wszelkich akcjach
       zależnych od polecenia.

       Wyrażenia złożone są z poniższych jedno- i dwuargumentowych składowych. Bash traktuje wiele  nazw  plików
       jako  specjalne,  gdy  są używane w wyrażeniach. Jeśli system operacyjny na którym działa bash udostępnia
       je, to bash ich użyje, w przeciwnym razie będzie wewnętrznie  emulował  ich  działanie:  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. Przy  używaniu  z  poleceniem  [[,  arg1  i  arg2  są
              rozwijane jako wyrażenie arytmetyczne (zob.  OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH powyżej).

INTERPRETACJA POLECEŃ PROSTYCH

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

       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.

       If no command name results, the variable assignments affect the current shell environment.  In  the  case
       of  such  a  command  (one  that  consists  only  of  assignment statements and redirections), assignment
       statements are performed before redirections.  Otherwise, the variables are added to the  environment  of
       the executed command and do not affect the current shell environment.  If any of the assignments attempts
       to assign a value to a readonly variable, an error occurs, and the command exits with a non-zero status.

       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 w osobnym środowisku wykonania, z  pierwotnym  poleceniem  i  jego  argumentami
       użytymi  jako  jej argumenty, a kod wyjścia funkcji staje się kodem wyjścia tej podpowł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, a powłoka tworzy  swoje
       nowe  wystąpienie  w  celu  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.

       Podpowłoka jest kopią procesu 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.

STATUS 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, zwykle nieprawidłowych opcji lub brakujących argumentów.

       Status zakończenia ostatniego polecenia jest dostępny w specjalnym parametrze $?.

       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.

       When job control is not enabled, and bash is waiting for a foreground  command  to  complete,  the  shell
       receives  keyboard-generated  signals such as SIGINT (usually generated by ^C) that users commonly intend
       to send to that command.  This happens because the shell and the command are in the same process group as
       the terminal, and ^C sends SIGINT to all processes in that process group.

       When bash is running without job control enabled and receives  SIGINT  while  waiting  for  a  foreground
       command, it waits until that foreground command terminates and then decides what to do about the SIGINT:

       1.     If  the command terminates due to the SIGINT, bash concludes that the user meant to end the entire
              script, and acts on the SIGINT (e.g., by running a SIGINT trap or exiting itself);

       2.     If the command does not terminate due to SIGINT, the program handled the SIGINT itself and did not
              treat it as a fatal signal.  In that case, bash does not treat SIGINT as a fatal  signal,  either,
              instead  assuming  that the SIGINT was used as part of the program's normal operation (e.g., emacs
              uses it to abort editing commands) or deliberately discarded.  However, bash will run any trap set
              on SIGINT, as it does with any other trapped signal it  receives  while  it  is  waiting  for  the
              foreground command to complete, for compatibility.

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, którego nazwa zaczyna się od 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.

       When  the  shell is waiting for a job or process using the wait builtin, and job control is enabled, wait
       will return when the job changes state. The -f option causes wait  to  wait  until  the  job  or  process
       terminates before returning.

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  wyświetla  PS0 po odczytaniu polecenia, a przed jego wykonaniem. Bash
       wyświetla PS4 jak opisano powyżej, przed śledzeniem każdego polecenia, gdy włączona jest opcja  -x.  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
              \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     wartość  zmiennej  powłoki PWD ($PWD), z $HOME zapisanym w skrócie tyldą (używa wartości ze
                     zmiennej PROMPT_DIRTRIM)
              \W     główna część nazwy (basename) $PWD, 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). Może
       to  dać  nieoczekiwane  efekty  uboczne,  jeśli  cytowana część łańcucha pojawi się w podstawionym wyniku
       polecenia lub zawiera znaki, które są specjalne przy rozwijaniu słów.

READLINE

       Jest to biblioteka obsługująca odczytywanie wejścia podczas posługiwania się powłoką interaktywną,  chyba
       że  przy  wywołaniu  powłoki podano opcję --noediting.  Domyślnie, polecenia edycji wiersza są podobne do
       występujących w Emacsie.  Dostępny jest także interfejs edycji wiersza w stylu vi.  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.  Jeśli  plik  ten  nie  istnieje lub nie może być odczytany, ostatecznie będzie to plik
       /etc/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
              \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ść
       lub za pomocą wbudowanego polecenia bind (zobacz poniżej WBUDOWANE POLECENIA POWŁOKI).

       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:

       active-region-start-color
              A  string  variable  that  controls  the text color and background when displaying the text in the
              active region (see the description of enable-active-region below).  This string must not  take  up
              any  physical  character  positions  on  the display, so it should consist only of terminal escape
              sequences.  It is output to the terminal before displaying the text in the  active  region.   This
              variable  is  reset to the default value whenever the terminal type changes.  The default value is
              the string that puts the terminal in standout mode,  as  obtained  from  the  terminal's  terminfo
              description.  A sample value might be "\e[01;33m".
       active-region-end-color
              A  string  variable  that  "undoes" the effects of active-region-start-color and restores "normal"
              terminal display appearance after displaying text in the active region.  This string must not take
              up any physical character positions on the display, so it should consist only of  terminal  escape
              sequences.   It  is  output  to the terminal after displaying the text in the active region.  This
              variable is reset to the default value whenever the terminal type changes.  The default  value  is
              the string that restores the terminal from standout mode, as obtained from the terminal's terminfo
              description.  A sample value might be "\e[0m".
       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.
       blink-matching-paren (Off)
              Jeśli  ustawiona na On, readline spróbuje na krótko przesunąć kursor do nawiasu otwierającego przy
              wstawieniu nawiasu zamykającego.
       colored-completion-prefix (Off)
              Jeśli ustawiona na On, przy wypisywaniu dopasowań,  readline  wyświetli  wspólny  przedrostek  dla
              zestawu  możliwych dopasowań za pomocą różnych kolorów. Wzory kolorów są brane z wartości zmiennej
              środowiskowej  LS_COLORS.  Jeśli  w  $LS_COLORS   istnieje   definicja   koloru   dla   przyrostka
              "readline-colored-completion-prefix",  readline  użyje  tego  koloru  dla  wspólnego  przedrostka,
              zamiast swej wartości domyślnej.
       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-display-width (-1)
              Liczba kolumn ekranowych  używanych  do  wyświetlenia  możliwych  dopasowań  przy  przeprowadzaniu
              dopasowań.  Wartość  jest  ignorowana,  jeśli jest mniejsza niż 0 lub większa niż szerokość ekranu
              terminala. Wartość 0 spowoduje, że dopasowania będą wyświetlane  po  jednym  na  wiersz.  Domyślna
              wartość to -1.
       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-map-case (Off)
              Jeśli ustawiona na On i włączona jest completion-ignore-case readline traktuje znaki minusa  -)  i
              podkreślnika (_) jako równoważne przy dokonywaniu dopasowania i uzupełniania nazw plików gdy ma to
              czynić bez względu na wielkość znaków.
       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,
              readline zapyta użytkownika czy chce je oglądnąć; w przeciwnym razie są one po  prostu  pokazywane
              na  terminalu.  Wartość zero oznacza, że readline ma nigdy nie pytać, wartości ujemne są tratowane
              jako zero.
       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). Domyślnie ustawione na On, ale readline zmieni  ustawienie  na  Off
              jeśli  locale  zawierają  znaki ośmiobitowe. Zmienna ta zależy od kategorii locale LC_CTYPE i może
              się zmienić, jeśli zmieni się locale.
       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.
       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.
       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.
       emacs-mode-string (@)
              Jeśli zmienna show-mode-in-prompt jest włączona, ten łańcuch jest wyświetlany  zaraz  po  ostatnim
              wierszu  pierwszej  zachęty,  gdy aktywny jest tryb edycji emacsa. Wartość jest interpretowana jak
              przypisania klawiszy, tak więc dostępne są standardowe przedrostki meta- i control oraz  sekwencje
              ucieczki  korzystające z ukośnika. Sekwencje ucieczki \1 i \2 odpowiednio zaczynają i kończą znaki
              niedrukowalne, co można wykorzystać do osadzenia sekwencji kontrolnych terminala w tym łańcuchu.
       enable-active-region (On)
              The point is the current cursor position, and mark refers to a saved cursor  position.   The  text
              between  the  point  and  mark  is  referred  to  as the region.  When this variable is set to On,
              readline allows certain commands to designate the region as active.  When the  region  is  active,
              readline highlights the text in the region using the value of the active-region-start-color, which
              defaults  to  the  string  that enables the terminal's standout mode.  The active region shows the
              text inserted by bracketed-paste and any matching text found by  incremental  and  non-incremental
              history searches.
       enable-bracketed-paste (On)
              When set to On, readline configures the terminal to insert each paste into the editing buffer as a
              single  string  of  characters, instead of treating each character as if it had been read from the
              keyboard.  This prevents readline from executing any  editing  commands  bound  to  key  sequences
              appearing in the pasted text.
       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 (unset)
              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 ustawiana na wartość zmiennej powłoki HISTSIZE. Jeśli spróbuje się  ustawić  history-size  na
              wartość nienumeryczną, maksymalna liczba wpisów historii zostanie ustawiona na 500.
       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.  Ustawienie  to  jest
              automatycznie włączone dla terminali o wysokości równej 1.
       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. Domyślnie ustawiona na Off, ale readline zmieni  ustawienie
              na  On, jeśli locale zawierają znaki ośmiobitowe. Zmienna ta zależy od kategorii locale LC_CTYPE i
              może się zmienić, jeśli zmieni się locale.
       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.  Domyślnie  ustawione  na  Off,  ale  readline zmieni
              ustawienie na On jeśli locale zawiera znaki ośmiobitowe. Zmienna ta  zależy  od  kategorii  locale
              LC_CTYPE i może się zmienić, jeśli zmieni się locale.
       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 (+). Łańcuchy trybu są ustawialne przez
              użytkownika (np. emacs-mode-string).
       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.
       vi-cmd-mode-string ((cmd))
              Jeśli zmienna show-mode-in-prompt jest włączona, ten łańcuch jest wyświetlany  zaraz  po  ostatnim
              wierszu  pierwszej  zachęty,  gdy  aktywny  jest  tryb  edycji  vi  w trybie poleceń. Wartość jest
              interpretowana jak przypisania klawiszy, tak więc dostępne  są  standardowe  przedrostki  meta-  i
              control  oraz  sekwencje  ucieczki korzystające z ukośnika. Sekwencje ucieczki \1 i \2 odpowiednio
              zaczynają i kończą znaki niedrukowalne, co można wykorzystać do  osadzenia  sekwencji  kontrolnych
              terminala w tym łańcuchu.
       vi-ins-mode-string ((ins))
              Jeśli  zmienna  show-mode-in-prompt  jest włączona, ten łańcuch jest wyświetlany zaraz po ostatnim
              wierszu pierwszej zachęty, gdy aktywny jest tryb edycji  vi  w  trybie  wstawiania.  Wartość  jest
              interpretowana  jak  przypisania  klawiszy,  tak  więc dostępne są standardowe przedrostki meta- i
              control oraz sekwencje ucieczki korzystające z ukośnika. Sekwencje ucieczki \1  i  \2  odpowiednio
              zaczynają  i  kończą  znaki niedrukowalne, co można wykorzystać do osadzenia sekwencji kontrolnych
              terminala w tym łańcuchu.
       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.

              version
                     The  version  test  may  be used to perform comparisons against specific readline versions.
                     The version expands to the current readline  version.   The  set  of  comparison  operators
                     includes  =, (and ==), !=, <=, >=, <, and >.  The version number supplied on the right side
                     of the operator consists of a major version number,  an  optional  decimal  point,  and  an
                     optional minor version (e.g., 7.1). If the minor version is omitted, it is assumed to be 0.
                     The  operator may be separated from the string version and from the version number argument
                     by whitespace.

              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

              variable
                     The variable construct provides simple equality tests for readline  variables  and  values.
                     The  permitted comparison operators are =, ==, and !=.  The variable name must be separated
                     from the comparison operator by whitespace; the operator may be separated from the value on
                     the right hand side by whitespace.  Both  string  and  boolean  variables  may  be  tested.
                     Boolean variables must be tested against the values on and off.

       $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.
       previous-screen-line
              Attempt  to  move  point  to the same physical screen column on the previous physical screen line.
              This will not have the desired effect if the current readline line does not take up more than  one
              physical line or if point is not greater than the length of the prompt plus the screen width.
       next-screen-line
              Attempt  to  move  point to the same physical screen column on the next physical screen line. This
              will not have the desired effect if the current readline line does  not  take  up  more  than  one
              physical  line or if the length of the current readline line is not greater than the length of the
              prompt plus the screen width.
       clear-display (M-C-l)
              Clear the screen and, if possible, the terminal's scrollback buffer, then redraw the current line,
              leaving the current line at the top of the screen.
       clear-screen (C-l)
              Czyści ekran, a następnie przerysowuje  bieżący  wiersz,  pozostawiając  go  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.
       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. Argument numeryczny, jeśli się  go  poda,  określa  wpis  historii  do  użycia,  zamiast
              bieżącego wiersza.
       fetch-history
              Z  argumentem  numerycznym,  pobiera  wpis  z listy historii i wstawia go jako bieżący wiersz. Bez
              argumentu cofa się do pierwszego wpisu w liście historii.
       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.
       history-substring-search-backward
              Wyszukuje wstecz w historii łańcucha  znaków  pomiędzy  początkiem  bieżącego  wiersza  a  bieżącą
              pozycją  kursora  (punkt).  Wyszukiwany  łańcuch może znaleźć się gdziekolwiek w wierszu historii.
              Jest to wyszukiwanie nie-krokowe.
       history-substring-search-forward
              Wyszukuje w przód w historii łańcucha znaków pomiędzy  początkiem  bieżącego  wiersza  a  punktem.
              Wyszukiwany  łańcuch  może  znaleźć  się  gdziekolwiek  w  wierszu  historii. 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.
       edit-and-execute-command (C-x C-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
              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
              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-lowercase-version (M-A, M-B, M-x, ...)
              Jeżeli poprzedzony przedrostkiem meta znak x jest wielką literą, uruchamia polecenie,  które  jest
              przypisane do odpowiedniego meta znaku małej litery. Zachowanie jest niezdefiniowane, jeśli x jest
              już małą literą.
       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.  Argument  ujemny
              wyszukuje poprzednie wystąpienia.
       character-search-backward (M-C-])
              Odczytywany  jest  znak a punkt przesuwa się na poprzednie wystąpienie tego znaku. Argument 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ę.
       spell-correct-word (C-x s)
              Perform  spelling  correction  on the current word, treating it as a directory or filename, in the
              same way  as  the  cdspell  shell  option.   Word  boundaries  are  the  same  as  those  used  by
              shell-forward-word.
       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.

       First,  the command name is identified.  If the command word is the empty string (completion attempted at
       the beginning of an empty line), any compspec defined with the -E option  to  complete  is  used.   If  a
       compspec  has  been  defined  for  that  command,  the  compspec is used to generate the list of possible
       completions for the word.  If the command word is a full pathname, a compspec for the  full  pathname  is
       searched for first.  If no compspec is found for the full pathname, an attempt is made to find a compspec
       for  the  portion following the final slash.  If those searches do not result in a compspec, any compspec
       defined with the -D option to complete is used as the default.  If there is  no  default  compspec,  bash
       attempts  alias  expansion on the command word as a final resort, and attempts to find a compspec for the
       command word from any successful expansion.

       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. Jeśli włączona jest opcja powłoki nocasematch, to  dopasowanie  jest  wykonywane  bez
       uwzględniania wielkości liter.

       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 następnego
       wiersza 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ę i jest przeprowadzana na każdym wierszu  oddzielnie,  bez  uwzględniania
       cytowania  z  poprzednich  wierszy. 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 !.  Znak rozwijający
       historię cytować mogą wyłącznie odwrotny ukośnik (\)  i  pojedyncze  cudzysłowy,  lecz  znak  rozwijający
       historię  jest  traktowany  jako  cytowany  również  wówczas,  gdy występuje bezpośrednio przed kończącym
       cudzysłowem, przy cytowaniu za pomocą podwójnych cudzysłowów.

       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.
              Jeśli  nie  poda  się łańcucha, używany jest łańcuch z ostatniego wyszukiwania; brak takowego jest
              błędem.
       ^łańcuch1^łańcuch2^
              Szybkie podstawianie. Powtarza ostatnie polecenie, wymieniając łańcuch1 na łańcuch2.   Równoważnik
              ,,!!:s^łańcuch1^łańcuch2^ (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.
       %      Pierwsze  słowo dopasowane przez ostatnie wyszukanie `?łańcuch?', jeśli szukany łańcuch rozpoczyna
              się znakiem, będącym częścią słowa.
       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 brak x, przyjmowane jest domyślne
              0.

       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  „:”.  Modyfikują one lub edytują słowo (lub słowa), wybrane ze zdarzenia
       historii.

       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.
              Modyfikatory q i x wzajemnie się wykluczają; będzie zastosowany podany jako ostatni.
       s/stary/nowy/
              Substitute  new  for  the first occurrence of old in the event line.  Any character may be used as
              the delimiter in place of /.  The final delimiter is optional if it is the last character  of  the
              event  line.  The delimiter may be quoted in old and new with a single backslash.  If & appears in
              new, it is replaced by old.  A single backslash will quote the &.  If old is null, it  is  set  to
              the  last old substituted, or, if no previous history substitutions took place, the last string in
              a !?string[?] search.  If new is null, each matching old is deleted.
       &      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      Apply the following `s' or `&' modifier once to each word in the event line.

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,  return,  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 status to zero.

        .  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 zawierającego plik używane są pliki z PATH, a plik  nie  musi
              być  wykonywalny.  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.  Jeśli  włączona  jest  opcja  -T,  .
              dziedziczy  pułapki  z  DEBUG;  jeśli  nie,  występujący  łańcuch pułapki DEBUG jest zachowywany i
              przechowywany wokół wywołania do ., a . kasuje pułapkę DEBUG przy jej wykonaniu. Jeśli -T nie jest
              ustawione, a plik źródłowy zmieni pułapkę DEBUG, nowa wartość jest odzyskiwana po  zakończeniu  ..
              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 [-m mapa-klawiszy] sekw_klaw:polec_readline
       bind readline-command-line
              Display current readline key and function bindings, bind a key sequence to a readline function  or
              macro,  or set a readline variable.  Each non-option argument is a command as it would appear in a
              readline initialization file such as .inputrc, but each binding or command must  be  passed  as  a
              separate  argument;  e.g.,  '"\C-x\C-r":  re-read-init-file'.   Options,  if  supplied,  have  the
              following meanings:
              -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  (synonimem
                     jest też vi-move); 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
                     Cause  shell-command  to  be  executed  whenever  keyseq is entered.  When shell-command is
                     executed, the shell sets the READLINE_LINE variable to the contents of  the  readline  line
                     buffer  and  the  READLINE_POINT and READLINE_MARK variables to the current location of the
                     insertion point and the saved insertion point (the mark), respectively.  The shell  assigns
                     any  numeric argument the user supplied to the READLINE_ARGUMENT variable.  If there was no
                     argument, that variable is not set.  If the executed command changes the value  of  any  of
                     READLINE_LINE,  READLINE_POINT, or READLINE_MARK, those new values will be reflected in the
                     editing state.
              -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.  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. Jeśli zmiana katalogu będzie pomyślna, cd ustawia  wartość
              zmiennej  środowiskowej  PWD  na  nową nazwę katalogu oraz ustawia zmienną środowiskową na wartość
              bieżącego katalogu  roboczego  przed  zmianą.  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] [-DEI] [-A akcja] [-G wzglob] [-W listasłów]
              [-F funkcja] [-C polecenie] [-X wzfiltr] [-P przedrostek] [-C przyrostek] nazwa [nazwa ...]
       complete -pr [-DEI] [nazwa ...]
              Specify  how  arguments  to each name should be completed.  If the -p option is supplied, or if no
              options are supplied, existing completion specifications are printed in a way that allows them  to
              be  reused  as  input.   The -r option removes a completion specification for each name, or, if no
              names are supplied, all completion specifications.  The -D option indicates  that  other  supplied
              options  and  actions  should  apply  to  the  “default”  command  completion; that is, completion
              attempted on a command for which no  completion  has  previously  been  defined.   The  -E  option
              indicates that other supplied options and actions should apply to “empty” command completion; that
              is, completion attempted on a blank line.  The -I option indicates that other supplied options and
              actions  should  apply  to  completion  on the initial non-assignment word on the line, or after a
              command delimiter such as ; or |, which is usually command name completion.  If  multiple  options
              are supplied, the -D option takes precedence over -E, and both take precedence over -I.  If any of
              -D,  -E, or -I are supplied, any other name arguments are ignored; these completions only apply to
              the case specified by the option.

              Proces stosowania tych specyfikacji uzupełnień podczas prób uzupełniania słów omówiono above under
              Programmable Completion.

              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).
                      nosort  Przekazuje readline, aby nie sortowało alfabetycznie listy dostępnych uzupełnień.
                      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. Argumenty przekazuje się opcją -F.
              -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
                      The wordlist is split using the characters in the IFS special variable as delimiters,  and
                      each  resultant  word  is expanded.  Shell quoting is honored within wordlist, in order to
                      provide a mechanism for the words to contain shell metacharacters  or  characters  in  the
                      value  of IFS.  The possible completions are the members of the resultant list which match
                      the word being completed.
              -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] [-DEI] [+o opcja] [nazwa]
              Modify completion options for each name according to the options, or for  the  currently-executing
              completion  if no names are supplied.  If no options are given, display the completion options for
              each name or the current completion.  The possible values  of  option  are  those  valid  for  the
              complete  builtin  described  above.   The  -D option indicates that other supplied options should
              apply to the “default” command completion; that is, completion attempted on a command for which no
              completion has previously been defined.  The -E  option  indicates  that  other  supplied  options
              should apply to “empty” command completion; that is, completion attempted on a blank line.  The -I
              option  indicates  that  other  supplied  options  should  apply  to  completion  on  the  initial
              non-assignment word on the line, or after a command delimiter such as ; or  |,  which  is  usually
              command name completion.

              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 [-aAfFgiIlnrtux] [-p] [nazwa[=wartość] ...]
       typeset [-aAfFgiIlnrtux] [-p] [nazwa[=wartość] ...]
              Declare variables and/or give them attributes.  If no names are given then display the  values  of
              variables.   The  -p  option will display the attributes and values of each name.  When -p is used
              with name arguments, additional options, other than -f and -F, are ignored.  When -p  is  supplied
              without  name  arguments,  it  will  display the attributes and values of all variables having the
              attributes specified by the additional options.  If no other options are supplied with -p, declare
              will display the attributes and values of all shell variables.  The -f option  will  restrict  the
              display  to shell functions.  The -F option inhibits the display of function definitions; only the
              function name and attributes are printed.  If the extdebug shell option is  enabled  using  shopt,
              the  source  file  name  and line number where each name is defined are displayed as well.  The -F
              option implies -f.  The -g option forces variables to be created or modified at the global  scope,
              even  when  declare  is  executed  in a shell function.  It is ignored in all other cases.  The -I
              option causes local variables to inherit the attributes (except the nameref attribute)  and  value
              of  any  existing  variable  with  the  same name at a surrounding scope.  If there is no existing
              variable, the local variable is initially unset.  The following options can be  used  to  restrict
              output to variables with the specified attribute or to give variables attributes:
              -a     Każda z nazw jest indeksowaną zmienną tablicową (zobacz Tablice).  above).
              -A     Każda z nazw jest asocjacyjną zmienną tablicową (zobacz Tablice).  above).
              -f     Używa wyłącznie nazw funkcji.
              -i     Zmienna jest traktowana jak całkowita; wykonywana jest interpretacja wyrażeń arytmetycznych
                     (zobacz OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH) above) gdy zmiennej jest przypisywana wartość.
              -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  i  modyfikacje  atrybutów  nazwy,  z  wyjątkiem  tych
                     używających lub zmieniających sam atrybut -n są wykonywane na zmiennej do której odnosi się
                     wartość nazwy. Atrybutu nazwa referencyjna 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 i +A nie może być używane do
              niszczenia zmiennych tablicowych. 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  above),  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. Bieżący katalog jest zawsze pierwszy na
              stosie.
              -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 ... | pid ... ]
              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
              \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''.  The -f option means to load the new builtin command
              name from shared object filename, on systems that support dynamic  loading.   Bash  will  use  the
              value  of  the  BASH_LOADABLES_PATH  variable as a colon-separated list of directories in which to
              search for filename.  The default is system-dependent.   The  -d  option  will  delete  a  builtin
              previously  loaded  with  -f.   If no name arguments are given, or if the -p option is supplied, a
              list of shell builtins is printed.  With no other option  arguments,  the  list  consists  of  all
              enabled  shell  builtins.   If  -n  is  supplied,  only  disabled  builtins are printed.  If -a is
              supplied, the list printed includes all builtins, with an indication of whether  or  not  each  is
              enabled.   If  -s  is  supplied,  the  output  is restricted to the POSIX special builtins.  If no
              options are supplied and a name is not a shell builtin, enable will attempt to load  name  from  a
              shared  object  named  name, as if the command were ``enable -f name name .  The return value is 0
              unless a name is not a shell builtin or there is an error loading a  new  builtin  from  a  shared
              object.

       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śli  exec zawiedzie, podpowłoka bezwzględnie wyjdzie. 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]
              The first form selects a range of commands from first to last from the history list  and  displays
              or  edits  and  re-executes them.  First and last may be specified as a string (to locate the last
              command beginning with that string) or as a number (an  index  into  the  history  list,  where  a
              negative  number  is used as an offset from the current command number).  When listing, a first or
              last of 0 is equivalent to -1 and -0  is  equivalent  to  the  current  command  (usually  the  fc
              command);  otherwise 0 is equivalent to -1 and -0 is invalid.  If last is not specified, it is set
              to the current command for listing (so that ``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 [argument ...]
              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  normally  parses  the  positional  parameters,  but if more arguments are supplied as arg
              values, getopts parses those instead.

              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 -d początek-koniec
       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
                     Delete the history entry at position offset.  If offset is negative, it is  interpreted  as
                     relative to one greater than the last history position, so negative indices count back from
                     the end of the history, and an index of -1 refers to the current history -d command.
              -d początek-koniec
                     Delete  the  range of history entries between positions start and end, inclusive.  Positive
                     and negative values for start and end are interpreted as described above.
              -a     Dodaje "nowe" wiersze do pliku historii. Są to wiersze  historii  wprowadzone  od  początku
                     bieżącej sesji bash, lecz nie dodane jeszcze 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 kolejnego wpisu. Wartością zwracaną
              jest 0, chyba że napotkano nieprawidłową opcję lub  podczas  odczytu  czy  zapisu  pliku  historii
              pojawił  się  błąd,  opcji  -d podano niepoprawny argument offset lub zakres, 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|-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ł. Opcja
              -L jest równoważna -l.  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 above).  Jeżeli ostatni z nich interpretowany jest jako zero, to let zwraca
              1; w przeciwnym wypadku zwracane jest 0.

       local [opcja] [nazwa[=wartość] ... | - ]
              For each argument, a local variable named name is created, and assigned value.  The option can  be
              any  of  the  options  accepted  by  declare.  When local is used within a function, it causes the
              variable name to have a visible scope restricted to that function and its children.  If name is -,
              the set of shell options is made local to the function in which local is  invoked:  shell  options
              changed  using  the set builtin inside the function are restored to their original values when the
              function returns.  The restore is effected as if a series of set commands were executed to restore
              the values that were in place before the function.  With no operands, local writes a list of local
              variables to the standard output.  It is an error to use local when not within  a  function.   The
              return  status  is 0 unless local is used outside a function, an invalid name is supplied, or name
              is a readonly variable.

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

       mapfile [-d sep] [-n liczba] [-O indeks] [-s liczba] [-t] [-u fd] [-C wywoł-zwr] [-c wielkość] [tablica]
       readarray [-d sep] [-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:
              -d     The first character of delim is used to terminate each input line, rather than newline.  If
                     delim is the empty string, mapfile will terminate a line when it reads a NUL character.
              -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ńcowy sep (domyślnie znak 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]
              Removes entries from the directory stack.  The elements are numbered from 0 starting at the  first
              directory  listed  by dirs.  With no arguments, popd removes the top directory from the stack, and
              changes to the new top directory.  Arguments, if supplied, have the following meanings:
              -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, ze
                     stosu. 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.

              If  the  top  element of the directory stack is modified, and the -n option was not supplied, popd
              uses the cd builtin to change to the directory at the top of the stack.  If  the  cd  fails,  popd
              returns a non-zero value.

              Otherwise,  popd  returns false if an invalid option is encountered, the directory stack is empty,
              or a non-existent directory stack entry is specified.

              If the popd command is successful, bash runs dirs to show the  final  contents  of  the  directory
              stack, and the return status is 0.

       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 ucieczki z ukośnikiem w danym argumencie  w  ten
                     sam sposób co echo -e.
              %q     powoduje,  że  printf  wysyła  odpowiedni  argument  w  formacie,  jaki  może  być ponownie
                     wykorzystany jako wejście powłoki.
              %Q     like %q, but applies any supplied precision to the argument before quoting it.
              %(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.

              The %b, %q, and %T directives all use the field width and  precision  arguments  from  the  format
              specification and write that many bytes from (or use that wide a field for) the expanded argument,
              which usually contains more characters than the original.

              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]
              Adds  a  directory  to the top of the directory stack, or rotates the stack, making the new top of
              the stack the current working directory.  With no arguments, pushd exchanges the top two  elements
              of the directory stack.  Arguments, if supplied, have the following meanings:
              -n     Nie  wykonuje  zwykłej  zmiany katalogu podczas obracania lub 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
                     Adds dir to the directory stack at the top

              After the stack has been modified, if the -n option was not supplied, pushd uses the cd builtin to
              change to the directory at the top of the stack.  If the cd fails, pushd returns a non-zero value.

              Otherwise, if no arguments are supplied, pushd returns 0 unless  the  directory  stack  is  empty.
              When  rotating  the  directory  stack,  pushd  returns  0 unless the directory stack is empty or a
              non-existent directory stack element is specified.

              If the pushd command is successful, bash runs dirs to show the final  contents  of  the  directory
              stack.

       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 ...]
              One line is read from the standard input, or from the file descriptor fd supplied as  an  argument
              to  the -u option, split into words as described above under Word Splitting, and the first word is
              assigned to the first name, the second word to the second name, and so  on.   If  there  are  more
              words  than  names,  the remaining words and their intervening delimiters are assigned to the last
              name.  If there are fewer words read from the input stream than names,  the  remaining  names  are
              assigned empty values.  The characters in IFS are used to split the line into words using the same
              rules  the  shell  uses  for  expansion  (described  above  under  Word Splitting).  The backslash
              character (\) may be used to remove any special meaning for the next character read and  for  line
              continuation.  Options, if supplied, have the following meanings:
              -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 The  first character of delim is used to terminate the input line, rather than newline.  If
                     delim is the empty string, read will terminate a line when it reads a NUL character.
              -e     If the standard input is coming from a terminal, readline (see READLINE above) is  used  to
                     obtain the line.  Readline uses the current (or default, if line editing was not previously
                     active) editing settings, but uses readline's default filename completion.
              -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.  Wynik  nie  jest  dzielony  na  znaki  w  IFS;
                     założenie  jest  takie,  że  zmienna  jest  przypisywana  dokładnie  odczytanym  znakom  (z
                     wyłączeniem ukośnika; zob. opcja -r poniżej).
              -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ć następnie wykorzystana
                     jako kontynuacja wiersza.
              -s     Tryb cichy. Jeżeli wejście pochodzi z terminala, to znaki nie są powtarzane (bez echa).
              -t timeout
                     Powoduje, że read zwraca niepowodzenie,  jeśli  w  ciągu  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 odczyt
                     zwraca  koniec pliku (EOF); albo 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.

              If no names are supplied, the line read, without the ending delimiter but otherwise unmodified, is
              assigned to the variable REPLY.  The exit status is zero, unless end-of-file is encountered,  read
              times  out  (in  which  case the status is greater than 128), a variable assignment error (such as
              assigning to a readonly variable) occurs, or  an  invalid  file  descriptor  is  supplied  as  the
              argument to -u.

       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śli  return  jest  wykonywane  przez  obsługę  pułapki, ostatnie polecenie służące do określenia
              statusu jest ostatnim poleceniem wykonywanym przed obsługą pułapki. Jeśli return  jest  wykonywane
              podczas  pułapki  DEBUG,  ostatnie  polecenie użyte do określenia statusu jest ostatnim poleceniem
              wykonanym przez obsługę pułapki przed tym, zanim wywołano return.  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 ...]
              Without  options, display the name and value of each shell variable in a format that can be reused
              as input for setting or resetting the currently-set  variables.   Read-only  variables  cannot  be
              reset.   In  posix  mode,  only shell variables are listed.  The output is sorted according to the
              current locale.  When options are specified, they set or unset shell  attributes.   Any  arguments
              remaining  after  option  processing  are  treated as values for the positional parameters and are
              assigned, in order, to $1, $2, ... $n.  Options, if specified, have the following meanings:
              -a      Każdej utworzonej lub zmodyfikowanej zmiennej lub funkcji nadawany jest  atrybut  eksportu
                      oraz oznaczane są one jako 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      Exit immediately if a pipeline (which may consist of a single simple command), a list,  or
                      a  compound  command  (see  SHELL GRAMMAR above), exits with a non-zero status.  The shell
                      does not exit if the command that fails is part of the command list immediately  following
                      a  while  or until keyword, part of the test following the if or elif reserved words, part
                      of any command executed in a && or || list except the command following the  final  &&  or
                      ||,  any  command  in  a  pipeline but the last, or if the command's return value is being
                      inverted with !.  If a compound command other than a subshell returns  a  non-zero  status
                      because  a  command failed while -e was being ignored, the shell does not exit.  A trap on
                      ERR, if set, is executed before the  shell  exits.   This  option  applies  to  the  shell
                      environment  and  each  subshell environment separately (see COMMAND EXECUTION ENVIRONMENT
                      above), and may cause subshells to exit before executing all the commands in the subshell.

                      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).
                      above).   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 above 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
                              Zmienne powłoki).  above).
                      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   Change  the  behavior  of  bash where the default operation differs from the POSIX
                              standard to match the standard (posix mode).  See SEE ALSO below for  a  reference
                              to a document that details how posix mode affects bash's behavior.
                      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.
              -r      Enable restricted shell mode.  This option cannot be unset once it has been set.
              -t      Kończy pracę po przeczytaniu i wykonaniu jednego polecenia.
              -u      Treat unset variables and parameters other than the special parameters  "@"  and  "*",  or
                      array  variables  subscripted  with  "@"  or  "*",  as  an error when performing parameter
                      expansion.  If expansion is attempted on an unset variable or parameter, the shell  prints
                      an error message, and, if not interactive, exits with a non-zero status.
              -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      The shell performs brace expansion (see Brace Expansion above).  This is on by default.
              -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 ...]
              Toggle  the  values  of  settings controlling optional shell behavior.  The settings can be either
              those listed below, or, if the -o option is used, those available with the -o option  to  the  set
              builtin  command.   With  no  options,  or  with  the -p option, a list of all settable options is
              displayed, with an indication of whether or not each is set; if optnames are supplied, the  output
              is restricted to those options.  The -p option causes output to be displayed in a form that may be
              reused as input.  Other options have the following meanings:
              -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:

              assoc_expand_once
                      If set, the shell suppresses multiple evaluation of associative  array  subscripts  during
                      arithmetic  expression  evaluation,  while  executing  builtins  that can perform variable
                      assignments, and while executing builtins that perform array dereferencing.
              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
                      If set, bash lists  the  status  of  any  stopped  and  running  jobs  before  exiting  an
                      interactive  shell.   If any jobs are running, this causes the exit to be deferred until a
                      second exit is attempted without an intervening command  (see  JOB  CONTROL  above).   The
                      shell always postpones exiting if any jobs are stopped.
              checkwinsize
                      If  set,  bash  checks  the  window size after each external (non-builtin) command and, if
                      necessary, updates the values of LINES and COLUMNS.  This option is enabled by default.
              cmdhist If set, bash attempts to save all lines of a multiple-line command  in  the  same  history
                      entry.   This  allows  easy  re-editing of multi-line commands.  This option is enabled by
                      default, but only has an effect if command history is enabled, as  described  above  under
                      HISTORY.
              compat31
              compat32
              compat40
              compat41
              compat42
              compat43
              compat44
              compat50
                      These  control  aspects  of  the  shell's compatibility mode (see SHELL COMPATIBILITY MODE
                      below).

              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 domyślnie 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 If set, bash includes filenames beginning with a `.' in the results of pathname expansion.
                      The filenames “.” and “..” must always be matched explicitly, even if dotglob is set.

              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
                      If  set, aliases are expanded as described above under ALIASES.  This option is enabled by
                      default for interactive shells.

              extdebug
                      If set at shell invocation, or in a shell startup file, arrange to  execute  the  debugger
                      profile  before  the  shell  starts,  identical  to  the  --debugger option.  If set after
                      invocation, behavior intended for use by debuggers is enabled:

                      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 and BASH_ARGV are updated as described in their descriptions above).

                      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 If  set,  the  extended pattern matching features described above under Pathname Expansion
                      are enabled.

              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
                      If  set,  the  suffixes  specified by the FIGNORE shell variable cause words to be ignored
                      when performing  word  completion  even  if  the  ignored  words  are  the  only  possible
                      completions.   See  SHELL  VARIABLES  above  for a description of FIGNORE.  This option is
                      enabled by default.

              globasciiranges
                      If set, range expressions used  in  pattern  matching  bracket  expressions  (see  Pattern
                      Matching  above)  behave  as  if  in the traditional C locale when performing comparisons.
                      That is, the current locale's collating sequence is not taken into account, so b will  not
                      collate  between  A  and  B,  and  upper-case and lower-case ASCII characters will collate
                      together.

              globskipdots
                      If set, pathname expansion will never match the  filenames  “.”  and  “..”,  even  if  the
                      pattern begins with a “.”.  This option is enabled by default.

              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
                      If set, and readline is being used, bash will attempt to perform hostname completion  when
                      a  word  containing a @ is being completed (see Completing under READLINE above).  This is
                      enabled by default.

              huponexit
                      Jeżeli jest ustawione, to bash wyśle SIGHUP do wszystkich zadań  podczas  kończenia  pracy
                      interaktywnej powłoki zgłoszeniowej.

              inherit_errexit
                      Jeśli  jest  ustawione,  uzupełnianie  poleceń  dziedziczy  wartość opcji errexit, zamiast
                      kasować ją w środowisku podpowłoki. Opcja ta jest włączana jeśli włączony jest tryb posix.

              interactive_comments
                      If set, allow a word beginning with # to cause that word and all remaining  characters  on
                      that  line  to  be  ignored  in an interactive shell (see COMMENTS above).  This option is
                      enabled by default.

              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.

              localvar_inherit
                      If set, local variables inherit the value and attributes of a variable of  the  same  name
                      that  exists  at a previous scope before any new value is assigned.  The nameref attribute
                      is not inherited.

              localvar_unset
                      If set, calling unset on local  variables  in  previous  function  scopes  marks  them  so
                      subsequent  lookups  find them unset until that function returns. This is identical to the
                      behavior of unsetting local variables at the current function scope.

              login_shell
                      The shell sets this option if it is started as a login shell (see INVOCATION above).   The
                      value may not be changed.

              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
                      If  set,  bash  matches  filenames  in a case-insensitive fashion when performing pathname
                      expansion (see Pathname Expansion above).

              nocasematch
                      Gdy jest ustawiona, bash dopasowuje wzorce ignorując wielkość liter,  podczas  wykonywania
                      dopasowania,  w  czasie  wykonywania  poleceń  warunkowych  case  lub [[, przy wykonywaniu
                      interpretacji zastępowania słów wzorców lub podczas filtrowania możliwych  dopełnień  jako
                      części programowalnych dopełnień.

              noexpand_translation
                      If set, bash encloses the translated results of $"..." quoting in single quotes instead of
                      double quotes.  If the string is not translated, this has no effect.

              nullglob
                      If set, bash allows patterns which match no files (see Pathname Expansion above) to expand
                      to a null string, rather than themselves.

              patsub_replacement
                      If set, bash expands occurrences of & in the replacement string of pattern substitution to
                      the  text  matched  by  the  pattern,  as described under Parameter Expansion above.  This
                      option is enabled by default.

              progcomp
                      If set, the programmable completion facilities (see  Programmable  Completion  above)  are
                      enabled.  This option is enabled by default.

              progcomp_alias
                      If  set,  and  programmable completion is enabled, bash treats a command name that doesn't
                      have any completions as a possible alias and attempts alias expansion. If it has an alias,
                      bash attempts programmable completion using the command word resulting from  the  expanded
                      alias.

              promptvars
                      If  set,  prompt  strings  undergo  parameter  expansion, command substitution, arithmetic
                      expansion, and quote removal after being expanded as described in PROMPTING  above.   This
                      option is enabled by default.

              restricted_shell
                      The  shell  sets  this  option  if  it is started in restricted mode (see RESTRICTED SHELL
                      below).  The value may not be changed.  This is not  reset  when  the  startup  files  are
                      executed, allowing the startup files to discover whether or not a shell is restricted.

              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
                      If set, the . (source) builtin uses the value of PATH to find the directory containing the
                      file supplied as an argument.  This option is enabled by default.

              varredir_close
                      If set, the shell automatically closes  file  descriptors  assigned  using  the  {varname}
                      redirection  syntax  (see REDIRECTION above) instead of leaving them open when the command
                      completes.

              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]
              Suspend the execution of this shell until it receives a SIGCONT signal.  A login shell, or a shell
              without  job  control enabled, cannot be suspended; the -f option can be used to override this and
              force the suspension.  The return status is 0 unless the shell is a login shell or job control  is
              not enabled and -f is not supplied.

       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  above  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  above 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 above 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
                     The following conditions are applied in the order listed.  If the first argument is !,  the
                     result  is  the  negation  of  the  three-argument  expression  composed  of  the remaining
                     arguments.  the two-argument test using the second  and  third  arguments.   If  the  first
                     argument  is exactly ( and the fourth argument is exactly ), the result is the two-argument
                     test of the second and third arguments.  Otherwise, the expression is parsed and  evaluated
                     according to precedence using the rules listed above.
              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.

              If  a  sigspec  is  EXIT  (0) the command arg is executed on exit from the shell.  If a sigspec is
              DEBUG, the command arg is executed before every simple command, for command, case command,  select
              command,  every  arithmetic for command, and before the first command executes in a shell function
              (see SHELL GRAMMAR above).  Refer to the description of the extdebug option to the  shopt  builtin
              for  details of its effect on the DEBUG trap.  If a sigspec is RETURN, the command arg is executed
              each time a shell function or a script executed with the . or source builtins finishes executing.

              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 [-HS] -a
       ulimit [-HS] [-bcdefiklmnpqrstuvxPRT [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, jeśli to potrzebne.  Inne opcje interpretowane są następująco:
              -a     Podawane są wszystkie bieżące ograniczenia; nie są ustawiane limity
              -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
              -k     Maksymalna liczba kqueue które można przypisać
              -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
              -P     Maksymalna liczba pseudoterminali
              -R     The maximum time a real-time process can run before blocking, in microseconds
              -T     Maksymalna liczba wątków

              If  limit  is  given,  and  the  -a  option  is  not used, limit is the new value of the specified
              resource.  If no option is given, then -f is assumed.  Values are in 1024-byte increments,  except
              for  -t,  which  is  in  seconds;  -R, which is in microseconds; -p, which is in units of 512-byte
              blocks; -P, -T, -b, -k, -n, and -u, which are unscaled values; and, when in posix mode, -c and -f,
              which are in 512-byte increments.  The return status is 0 unless an invalid option or argument  is
              supplied, or an error occurs while setting a new limit.

       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 ...]
              For each name, remove the corresponding variable or function.  If the -v  option  is  given,  each
              name  refers  to  a  shell variable, and that variable is removed.  Read-only variables may not be
              unset.  If -f is specified, each name refers to a shell function, and the function  definition  is
              removed.   If  the  -n option is supplied, and name is a variable with the nameref attribute, name
              will be unset rather than the variable it references.  -n has  no  effect  if  the  -f  option  is
              supplied.   If no options are supplied, each name refers to a variable; if there is no variable by
              that name, a function with that name, if any, is  unset.   Each  unset  variable  or  function  is
              removed  from  the environment passed to subsequent commands.  If any of BASH_ALIASES, BASH_ARGV0,
              BASH_CMDS,  BASH_COMMAND,  BASH_SUBSHELL,  BASHPID,  COMP_WORDBREAKS,   DIRSTACK,   EPOCHREALTIME,
              EPOCHSECONDS,  FUNCNAME, GROUPS, HISTCMD, LINENO, RANDOM, SECONDS, or SRANDOM are unset, they lose
              their special properties, even if they are subsequently reset.  The exit status is true  unless  a
              name is readonly or may not be unset.

       wait [-fn] [-p varname] [id ...]
              Wait for each specified child process and return its termination status.  Each id may be a process
              ID or a job specification; if a job spec is given, all processes in that job's pipeline are waited
              for.  If id is not given, wait waits for all running background jobs and the last-executed process
              substitution,  if  its  process  id  is  the same as $!, and the return status is zero.  If the -n
              option is supplied, wait waits for a single job from the list of ids or, if no ids  are  supplied,
              any job, to complete and returns its exit status.  If none of the supplied arguments is a child of
              the  shell,  or  if no arguments are supplied and the shell has no unwaited-for children, the exit
              status is 127.  If the -p option is supplied, the process or job identifier of the job  for  which
              the exit status is returned is assigned to the variable varname named by the option argument.  The
              variable  will  be unset initially, before any assignment.  This is useful only when the -n option
              is supplied.  Supplying the -f option, when job control is enabled, forces wait to wait for id  to
              terminate  before  returning  its  status,  instead  of  returning  when it changes status.  If id
              specifies a non-existent process or job, the return status is 127.  If wait is  interrupted  by  a
              signal,  the return status will be greater than 128, as described under SIGNALS above.  Otherwise,
              the return status is the exit status of the last process or job waited for.

TRYB KOMPATYBILNOŚCI POWŁOKI

       Bash-4.0 wprowadził pojęcie poziomu kompatybilności powłoki, określonego jako zbiór opcji do  wbudowanego
       polecenia  powłoki  shopt  (compat31,  compat32,  compat40, compat41 itd.). Istnieje tylko jeden aktualny
       poziom kompatybilności —  opcje  te  się  wewnętrznie  wykluczają.  Poziom  kompatybilności  ma  pozwolić
       użytkownikom  na  wybór  zachowania  z  poprzednich wersji powłoki, które jest niekompatybilne z nowszymi
       wersjami, na czas migracji skryptów do postaci korzystającej z aktualnych cech i  zachowania  powłoki.  Z
       założenia ma to być zatem rozwiązanie tymczasowe.

       Niniejszy  rozdział  nie  wspomina  o  zachowaniu, które jest standardem dla danej wersji (np. ustawienie
       compat32 oznacza, że cytowanie dokonywane po prawej strony operatora  dopasowania  wyrażenia  regularnego
       cytuje specjalne znaki wyrażenia regularnego w słowie, co jest domyślnym zachowaniem w powłoce bash-3.2 i
       kolejnych wersjach).

       Jeśli  użytkownik  włączy  np.  compat32,  może  to  wpłynąć  na  zachowanie wszystkich wyższych poziomów
       kompatybilności do bieżącego poziomu  kompatybilności  włącznie.  Wynika  to  z  tego,  że  każdy  poziom
       kompatybilności kontroluje zachowanie, które uległo zmianie w danej wersji powłoki bash, lecz które mogło
       być obecne w wersjach wcześniejszych. Na przykład, zmiana polegająca na korzystaniu z porównań, w oparciu
       o używane ustawienia językowe, przy poleceniu [[, pojawiła się w powłoce bash-4.1, natomiast wcześniejsze
       wersje  korzystały  z  porównań  ASCII, dlatego włączenie compat32 włączy również porównania działające w
       oparciu o ASCII. Ta szczegółowość może nie być wystarczająca  we  wszystkich  zastosowaniach,  dlatego  z
       poziomów  kompatybilności  należy  korzystać ostrożnie. Proszę zapoznać się z dokumentacją danej funkcji,
       aby poznać bieżące zachowanie.

       Bash-4.3 wprowadził  nową  zmienną  powłoki:  BASH_COMPAT.  Wartość  przypisana  tej  zmiennej  (jest  to
       dziesiętny  numer  wersji, taki jak 4.2; albo liczba całkowita odpowiadająca opcji compatNN, taka jak 42)
       określa poziom kompatybilności.

       Od  wersji  bash-4.4,  rozpoczęto  wycofywanie  starszych  poziomów  kompatybilności  w   powłoce   Bash.
       Ostatecznie, opcje te zostaną usunięte na korzyść stosowania BASH_COMPAT.

       Bash-5.0  jest  ostatnią  wersją,  w  której  będą istniały oddzielne opcje shopt dla poprzedniej wersji.
       Użytkownicy powinni korzystać z BASH_COMPAT w powłoce bash-5.0 i kolejnych wersjach.

       Poniższa tabela opisuje zmiany zachowania kontrolowane przez każde  ustawienie  poziomu  kompatybilności.
       Znacznik  compatNN jest używany jako skrótowe ukazanie ustawienia poziomu kompatybilności na NN za pomocą
       jednego z następujący mechanizmów. W wersjach wcześniejszych niż bash-5.0, poziom  kompatybilności  można
       ustawić  za pomocą odpowiedniej opcji shopt compatNN. W powłoce bash-4.3 i późniejszych, preferowane jest
       korzystanie ze zmiennej BASH_COMPAT, natomiast w powłoce bash-5.1 i późniejszych jest ono wymagane.

       compat31
              •      quoting the rhs of the [[ command's regexp matching operator (=~)  has no special effect

       compat32
              •      przerwanie listy poleceń takiej jak "a ; b ; c" powoduje wykonanie  kolejnego  polecenia  z
                     listy  (w powłoce bash-4.0 i późniejszych, powłoka działa w ten sposób, jak gdyby otrzymała
                     przerwanie, zatem przerwanie jednego polecenia listy przerywa wykonanie całej listy)

       compat40
              •      the < and > operators to the [[ command do not consider the current locale  when  comparing
                     strings;  they use ASCII ordering.  Bash versions prior to bash-4.1 use ASCII collation and
                     strcmp(3); bash-4.1 and later use the current locale's collation sequence and strcoll(3).

       compat41
              •      w trybie posix, po time mogą występować opcje i będzie to  wciąż  rozpoznawane  jako  słowo
                     zastrzeżone (jest to interpretacja POSIX nr 267)
              •      in  posix  mode, the parser requires that an even number of single quotes occur in the word
                     portion of  a  double-quoted  parameter  expansion  and  treats  them  specially,  so  that
                     characters  within  the  single  quotes are considered quoted (this is POSIX interpretation
                     221)

       compat42
              •      the replacement string  in  double-quoted  pattern  substitution  does  not  undergo  quote
                     removal, as it does in versions after bash-4.2
              •      in  posix  mode,  single quotes are considered special when expanding the word portion of a
                     double-quoted parameter expansion and can be used to quote a closing brace or other special
                     character (this is part of POSIX interpretation 221); in later versions, single quotes  are
                     not special within double-quoted word expansions

       compat43
              •      the  shell  does not print a warning message if an attempt is made to use a quoted compound
                     assignment as an argument to declare (e.g., declare -a foo='(1 2)').  Later  versions  warn
                     that this usage is deprecated
              •      word  expansion  errors  are  considered non-fatal errors that cause the current command to
                     fail, even in posix mode (the default behavior is to make them fatal errors that cause  the
                     shell to exit)
              •      when  executing a shell function, the loop state (while/until/etc.)  is not reset, so break
                     or continue in that function will break or continue loops in the calling context.  Bash-4.4
                     and later reset the loop state to prevent this

       compat44
              •      the  shell  sets  up  the  values used by BASH_ARGV and BASH_ARGC so they can expand to the
                     shell's positional parameters even if extended debugging mode is not enabled
              •      a subshell inherits loops from its parent context, so break  or  continue  will  cause  the
                     subshell to exit.  Bash-5.0 and later reset the loop state to prevent the exit
              •      variable  assignments  preceding  builtins  like  export  and  readonly that set attributes
                     continue to affect variables with the same name in the  calling  environment  even  if  the
                     shell is not in posix mode

       compat50
              •      Bash-5.1 changed the way $RANDOM is generated to introduce slightly more randomness. If the
                     shell compatibility level is set to 50 or lower, it reverts to the method from bash-5.0 and
                     previous  versions,  so  seeding the random number generator by assigning a value to RANDOM
                     will produce the same sequence as in bash-5.0
              •      If  the  command  hash  table  is  empty,  bash  versions  prior  to  bash-5.1  printed  an
                     informational  message  to  that  effect,  even when producing output that can be reused as
                     input. Bash-5.1 suppresses that message when the -l option is supplied.

       compat51
              •      The unset builtin treats attempts to unset array subscripts @ and *  differently  depending
                     on whether the array is indexed or associative, and differently than in previous versions.

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, HISTFILE, 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 wbudowanego polecenia history.

       •      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 shopt -u restricted_shell.

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

       When a command that is found to be a shell script  is  executed  (see  COMMAND  EXECUTION  above),  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
       ~/.bash_history
              Domyślna wartość HISTFILE — pliku, w którym bash przechowuje historię poleceń
       ~/.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/ i http://git.savannah.gnu.org/cgit/bash.git/snapshot/bash-master.tar.gz.

       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.

USTERKI

       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 koproces w danym czasie.

TŁUMACZENIE

       Tłumaczenie  niniejszej  strony  podręcznika:  Wojtek  Kotwica   <wkotwica@post.pl>   i   Michał   Kułach
       <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

GNU Bash 5.22                                   19 września 2022                                         BASH(1)