.\" -*- coding: UTF-8 -*-
.de  zZ
..
.\"
.\" MAN PAGE COMMENTS to
.\"
.\"	Chet Ramey
.\"	Case Western Reserve University
.\"	chet.ramey@case.edu
.\"
.\"	Last Change: Mon Sep 19 11:13:21 EDT 2022
.\"
.\" bash_builtins, strip all but Built-Ins section
.de  zY
..
.de  FN
\fI\|\\$1\|\fP
..
.\"
.\" File Name macro.  This used to be `.PN', for Path Name,
.\" but Sun doesn't seem to like that very much.
.\"
.if  !rzZ .nr zZ 0 \" avoid a warning about an undefined register
.\" Number register zZ is defined in bash-builtins(7)
.\" Number register zY is defined in rbash(1)
.\" This man-page is included in them
.if  !rzY .nr zY 0 \" avoid a warning about an undefined register
.if  \n(zZ=1 .ig zZ
.if  \n(zY=1 .ig zY
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH BASH 1 "19 września 2022" "GNU Bash 5.22" 
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
.\" It has to do with `@' appearing in the }1 macro.
.\" This is a problem on 4.3 BSD and Ultrix, but Sun
.\" appears to have fixed it.
.\" If you're seeing the characters
.\" `@u-3p' appearing before the lines reading
.\" `possible-hostname-completions
.\" and `complete-hostname' down in READLINE,
.\" then uncomment this redefinition.
.\"
.\" .de }1
.\" .ds ]X \&\*(]B\
.\" .nr )E 0
.\" .if !"\$1"" .nr )I \$1n
.\" .}f
.\" .ll \n(LLu
.\" .in \n()Ru+\n(INu+\n()Iu
.\" .ti \n(INu
.\" .ie !\n()Iu+\n()Ru-\w\*(]Xu-3p \{\*(]X
.\" .br\}
.\" .el \*(]X\h|\n()Iu+\n()Ru\c
.\" .}f
.\" ..
.SH NAZWA
bash \- GNU Bourne\-Again SHell
.SH SKŁADNIA
\fBbash\fP [\fIopcje\fP] [\fIłańcuch_polecenia\fP | \fIplik\fP]
.SH PRAWA AUTORSKIE
.if  n Bash is Copyright (C) 1989-2022 by the Free Software Foundation, Inc.
.if  t Bash is Copyright \(co 1989-2022 by the Free Software Foundation, Inc.
.SH OPIS
\fBBash\fP jest zgodnym z \fBsh\fP 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 \fIKorna\fP i powłoki \fIC\fP (\fBksh\fP i
\fBcsh\fP).
.PP
\fBBash\fP w zamierzeniu jest implementacją zgodną z POSIX\-ową specyfikacją
powłok i narzędzi \-\- IEEE POSIX Shell and Utilities specification (IEEE
Standard 1003.1). \fBBash\fP może być skonfigurowany w ten sposób, aby był
domyślnie zgodny z normą POSIX.
.SH OPCJE
Oprócz jednoznakowych opcji powłoki udokumentowanych w opisie wbudowanego
polecenia \fBset\fP, w tym \fB\-o\fP, polecenia wbudowane mogą być użyte jako opcje
przy wywołaniu powłoki. Dodatkowo, \fBbash\fP przy wywołaniu interpretuje
poniższe opcje:
.PP
.PD 0
.TP  10
\fB\-c\fP
Jeśli występuje opcja \fB\-c\fP, to polecenia odczytywane są z pierwszego
argumentu, niebędącego opcją \fIłańcucha_polecenia\fP. Jeżeli po
\fIłańcuchu_polecenia\fP istnieją argumenty, to pierwszy jest przypisywany do
\fB$0\fP a pozostałe są przypisywane do argumentów pozycyjnych. Przypisanie do
\fB$0\fP ustawia nazwę powłoki, co jest wykorzystywane przy ostrzeżeniach i
komunikatach z błędami.
.TP 
\fB\-i\fP
Jeżeli występuje opcja \fB\-i\fP, to powłoka jest \fIinteraktywna\fP.
.TP 
\fB\-l\fP
Program \fBbash\fP będzie działał jakby został wywołany jako powłoka
zgłoszeniowa (patrz niżej
.SM
\fBWYWOŁANIE\fP).
.TP 
\fB\-r\fP
Jeżeli występuje opcja \fB\-r\fP, to powłoka staje się powłoką \fIokrojoną\fP
(restricted). Patrz poniżej \fBPOWŁOKA OKROJONA\fP.
.TP 
\fB\-s\fP
Jeśli występuje opcja \fB\-s\fP 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.
.TP 
\fB\-v\fP
Wypisuje wiersze wejściowe powłoki przy ich odczytywaniu.
.TP 
\fB\-x\fP
Wypisuje polecenia i ich argumenty w trakcie ich wykonywania.
.TP 
\fB\-D\fP
Na standardowym wyjściu wypisywana jest lista łańcuchów cytowanych
cudzysłowem poprzedzonych znakiem \fB$\fP.  Są to łańcuchy będące przedmiotem
tłumaczenia języka, gdy bieżącym ustawieniem regionalnym (locale) nie jest
\fBC\fP ani \fBPOSIX\fP.  Implikuje to opcję \fB\-n\fP; nie zostaną wykonane żadne
polecenia.
.TP 
\fB[\-+]O [\fP\fIopcja_shopt\fP\fB]\fP
\fIopcja_shopt\fP jest jedną z opcji powłoki akceptowanych przez polecenie
wbudowane \fBshopt\fP (zobacz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej).
Jeśli występuje \fIopcja_shopt\fP, to \fB\-O\fP nadaje wartość tej opcji, zaś \fB+O\fP
unieważnia ją.  Jeżeli nie podano \fIopcji_shopt\fP, to na standardowym wyjściu
wypisywane są nazwy i wartości opcji powłoki akceptowanych przez \fBshopt\fP.
Jeśli opcją wywołania jest \fB+O\fP, tworzone wyjście jest formatowane w taki
sposób, by można było wykorzystać je jako wejście.
.TP 
\fB\-\-\fP
Zapis \fB\-\-\fP sygnalizuje koniec opcji i wyłącza dalsze ich przetwarzanie.
Argumenty występujące po \fB\-\-\fP traktowane są jako nazwy plików i
argumenty. Argument \fB\-\fP jest równoważnikiem \fB\-\-\fP.
.PD
.PP
\fBBash\fP interpretuje także wiele opcji wieloznakowych.  Jeśli mają zostać
rozpoznane, opcje te muszą pojawić się w wierszu poleceń przed opcjami
jednoznakowymi,
.PP
.PD 0
.TP 
\fB\-\-debugger\fP
Ustawia profil debuggera do wykonania, przed uruchomieniem powłoki. Włącza
rozszerzony tryb debugowania (patrz opis opcji \fBextdebug\fP do wbudowanego
polecenia \fBshopt\fP poniżej).
.TP 
\fB\-\-dump\-po\-strings\fP
Równoważne \fB\-D\fP, ale wyjście jest w formacie pliku GNU \fIgettext\fP \fBpo\fP
(portable object).
.TP 
\fB\-\-dump\-strings\fP
Równoważnik \fB\-D\fP.
.TP 
\fB\-\-help\fP
Wyświetla na standardowym wyjściu komunikat o użytkowaniu i pomyślnie kończy
pracę.
.TP 
\fB\-\-init\-file\fP \fIplik\fP
.PD 0
.TP 
\fB\-\-rcfile\fP \fIplik\fP
.PD
Wykonuje polecenia z podanego \fIpliku\fP zamiast ze standardowego systemowego
pliku inicjującego \fB/etc/bash.bashrc\fP i osobistego pliku inicjującego
\fI~/.bashrc\fP, jeśli powłoka jest interaktywna.  Zobacz
.SM
\fBWYWOŁANIE\fP
poniżej.
.TP 
\fB\-\-login\fP
Równoważne \fB\-l\fP.
.TP 
\fB\-\-noediting\fP
Nie używa biblioteki GNU \fBreadline\fP do odczytu wierszy poleceń w trybie
interaktywnym.
.TP 
\fB\-\-noprofile\fP
Nie odczytuje ani ogólnosystemowego pliku startowego
.FN /etc/profile
ani żadnego z osobistych plików inicjujących \fI~/.bash_profile\fP,
\fI~/.bash_login\fP czy \fI~/.profile\fP.  Domyślnie, \fBbash\fP czyta te pliki gdy
jest wywołany jako powłoka zgłoszeniowa (zobacz
.SM
\fBWYWOŁANIE\fP
poniżej).
.TP 
\fB\-\-norc\fP
Nie odczytuje i nie wykonuje systemowego pliku inicjującego
\fI/etc/bash.bashrc\fP oraz osobistego pliku inicjującego \fI~/.bashrc\fP jeśli
powłoka jest interaktywna. Opcja ta jest domyślnie włączona, jeżeli powłokę
wywołano jako \fBsh\fP.
.TP 
\fB\-\-posix\fP
Zmienia zachowanie \fBbash\fP tam, gdzie domyślne działanie różni się od
standardu POSIX, tak by spełniać standard (\fItryb posix\fP). Więcej informacji
o tym, jak tryb posix wpływa na zachowanie powłoki można znaleźć w
dokumencie do którego odsyła
.SM
\fBZOBACZ TAKŻE\fP.
.TP 
\fB\-\-restricted\fP
Powłoka staje się okrojona (zobacz
.SM
\fBPOWŁOKA OKROJONA\fP poniżej).
.TP 
\fB\-\-verbose\fP
Równoważnik opcji \fB\-v\fP.
.TP 
\fB\-\-version\fP
Pokazuje na standardowym wyjściu informację o wersji tego egzemplarza
\fBbash\fP i pomyślnie kończy pracę.
.PD
.SH ARGUMENTY
Jeśli po przetworzeniu opcji pozostają jakieś argumenty, a nie podano ani
opcji \fB\-c\fP ani \fB\-s\fP, to zakłada się, że pierwszy argument jest nazwą pliku
zawierającego polecenia powłoki. Jeżeli \fBbash\fP został wywołany w taki
sposób, to \fB$0\fP przypisywana jest nazwa pliku z poleceniami, a parametrom
pozycyjnym pozostałe argumenty. \fBBash\fP odczytuje i wykonuje polecenia z
tego pliku, a następnie kończy pracę. Kod zakończenia \fBbash\fPa 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
.SM
\fBPATH\fP szukając
skryptu.
.SH WYWOŁANIE
\fIPowłoka zgłoszeniowa\fP (login shell) to taka, w której pierwszym znakiem
zerowego argumentu jest \fB\-\fP, lub taka, którą uruchomiono z opcją
\fB\-\-login\fP.
.PP
Powłoka \fIinteraktywna\fP to taka, którą uruchomiono bez argumentów innych niż
opcje (chyba, że podano \fB\-s\fP) i bez opcji \fB\-c\fP; zarówno jej standardowe
wejście jak i wyjście powiązane jest z terminalami (tak jak określiła to
funkcja \fIisatty\fP(3)), albo taka, którą uruchomiono z opcją \fB\-i\fP.
.SM
Jeśli \fBbash\fP jest interaktywny, to ustawiane jest \fBPS1\fP zaś \fB$\-\fP zawiera
\fBi\fP; pozwala to skryptowi powłoki lub plikowi startowemu na sprawdzanie
tego stanu.
.PP
Poniższe akapity opisują, jak \fBbash\fP wykonuje swoje pliki startowe.  Jeśli
któryś z tych plików istnieje, ale nie może być odczytany, to \fBbash\fP
zgłasza błąd. Tyldy (~) w nazwach plików interpretowane są według reguł
opisanych poniżej w części \fBInterpretacja tyld\fP sekcji
.SM
\fBINTERPRETACJA\fP.
.PP
Gdy \fBbash\fP wywoływany jest jako powłoka zgłoszeniowa lub jako powłoka
nie\-interaktywna z opcją \fB\-\-login\fP, w pierwszej kolejności czyta i wykonuje
polecenia z pliku \fI/etc/profile\fP, jeśli takowy istnieje.  Po odczytaniu
tego pliku, szuka \fI~/.bash_profile\fP, \fI~/.bash_login\fP i \fI~/.profile\fP, 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ą
\fB\-\-noprofile\fP podczas uruchamiania powłoki, by zakazać takiego zachowania.
.PP
Podczas kończenia interaktywnej powłoki zgłoszeniowej lub gdy
nieinteraktywna powłoka zgłoszeniowa wykonuje wbudowane polecenie \fBexit\fP,
\fBbash\fP czyta i wykonuje polecenia z pliku \fI~/.bash_logout\fP, jeśli taki
istnieje.
.PP
Jeżeli uruchamiana jest powłoka interaktywna nie będąca powłoką
zgłoszeniową, \fBbash\fP czyta i wykonuje polecenia z \fI/etc/bash.bashrc\fP i
\fI~/.bashrc\fP, jeśli takie pliki istnieją.  Może to być zakazane za pomocą
opcji \fB\-\-norc\fP.  Opcja \fB\-\-rcfile\fP \fIplik\fP wymusi odczyt i wykonanie
poleceń z \fIpliku\fP zamiast z \fI/etc/bash.bashrc\fP i \fI~/.bashrc\fP.
.PP
Jeśli \fBbash\fP startuje w trybie nie\-interaktywnym, na przykład w celu
uruchomienia skryptu powłoki, to szuka w środowisku zmiennej
.SM
\fBBASH_ENV\fP, interpretuje jej wartość, jeśli ją znalazł, i używa otrzymanej
wartości jako nazwy pliku do odczytania i wykonania.  \fBBash\fP zachowuje się
tak, jakby były wykonane następujące polecenia:
.sp .5
.RS
.if  t \f(CWif [ \-n "$BASH_ENV" ]; then . "$BASH_ENV"; fi\fP
.if  n if [ \-n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
.RE
.sp .5
ale do szukania nazwy pliku nie jest używana wartość zmiennej
.SM
\fBPATH\fP.
.PP
Jeżeli \fBbash\fP wywołano pod nazwą \fBsh\fP, to próbuje on naśladować zachowanie
startowe historycznych wersji \fBsh\fP 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ą \fB\-\-login\fP, usiłuje na początku
odczytać i wykonać polecenia z \fI/etc/profile\fP i \fI~/.profile\fP, w tej
kolejności.  W celu zakazania tego zachowania można użyć opcji
\fB\-\-noprofile\fP.  Wywołany jako powłoka interaktywna pod nazwą \fBsh\fP, \fBbash\fP
poszukuje zmiennej
.SM
\fBENV\fP, 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 \fBsh\fP nie usiłuje
czytać ani wykonywać poleceń z jakichkolwiek innych plików startowych, opcja
\fB\-\-rcfile\fP nie ma żadnych skutków.  Powłoka nie\-interaktywna wywołana pod
nazwą \fBsh\fP nie próbuje czytać żadnych plików startowych.  Wywołany jako
\fBsh\fP, \fBbash\fP wchodzi w tryb \fIposix\fP po odczycie plików startowych.
.PP
Gdy \fBbash\fP uruchomiony jest w trybie \fIposix\fP, jak z opcją \fB\-\-posix\fP
wiersza poleceń, kieruje się standardem POSIX dla plików startowych.  W
trybie tym, powłoka interaktywna interpretuje zmienną
.SM
\fBENV\fP a
polecenia odczytywane i wykonywane są z pliku, którego nazwą jest
zinterpretowana wartość.  Nie są czytane inne pliki startowe.
.PP
\fBBash\fP 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 \fIrshd\fP, or the secure shell daemon \fIsshd\fP.  If
\fBbash\fP determines it is being run non\-interactively in this fashion, it
reads and executes commands from \fI/etc/bash.bashrc\fP and \fI~/.bashrc\fP, if
these files exist and are readable.  It will not do this if invoked as
\fBsh\fP.  The \fB\-\-norc\fP option may be used to inhibit this behavior, and the
\fB\-\-rcfile\fP option may be used to force another file to be read, but neither
\fIrshd\fP nor \fIsshd\fP generally invoke the shell with those options or allow
them to be specified.
.PP
Jeśli powłoka została uruchomiona z efektywnym id użytkownika (grupy) różnym
od id rzeczywistego, a nie podano opcji \fB\-p\fP, to nie są odczytywane żadne
pliki startowe, funkcje powłoki nie są dziedziczone ze środowiska, zmienne
.SM
\fBSHELLOPTSP\fP,
.SM
\fBBASHOPTS\fP,
.SM
\fBCDPATH\fP, i
.SM
\fBGLOBIGNORE\fP, 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ę \fB\-p\fP, to zachowanie
startowe jest takie samo, ale nie jest resetowany efektywny id użytkownika.
.SH DEFINICJE
W pozostałej części tego dokumentu używane są poniższe definicje.
.PD 0
.TP 
\fBodstęp\fP
Spacja lub znak tabulacji.
.TP 
\fBsłowo\fP
Sekwencja znaków uważana przez powłokę za pojedynczą jednostkę. Znana też
jako \fBtoken\fP.
.TP 
\fBnazwa\fP
Jest to \fIsłowo\fP 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 \fBidentyfikator\fP.
.TP 
\fBmetaznak\fP
Znak, który, gdy nie jest cytowany, oddziela słowa. Jeden z poniższych:
.br
.RS
.PP
.if  t \fB|  &  ;  (  )  <  >  space  tab  newline\fP
.if  n \fB|  & ; ( ) < > space tab newline\fP
.RE
.TP 
\fBoperator sterujący\fP
\fItoken\fP pełniący funkcję sterującą. Jest to jeden z poniższych symboli:
.RS
.PP
.if  t \fB||  &  &&  ;  ;;  ;&  ;;&  (  )  |  |&    <newline>\fP
.if  n \fB|| & && ; ;; ;& ;;& ( ) | |& <newline>\fP
.RE
.PD
.SH "SŁOWA ZASTRZEŻONE"
\fISłowa zastrzeżone\fP (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
.SM
\fBGRAMATYKA POWŁOKI\fP poniżej), trzecie słowo poleceń \fBcase\fP lub
\fBselect\fP (prawidłowe jest tylko \fBin\fP albo trzecie słowo polecenia \fBfor\fP
(prawidłowe są tylko \fBin\fP i \fBdo\fP):
.if  t .RS
.PP
.B
.if  n ! case  coproc  do done elif else esac fi for function if in select then until while { } time [[ ]]
.if  t !    case    coproc    do    done    elif    else    esac    fi    for    function    if    in    select    then    until    while    {    }    time    [[    ]]
.if  t .RE
.SH "GRAMATYKA POWŁOKI"
Niniejszy rozdział opisuje składnię różnych postaci poleceń powłoki.
.SS "Polecenia proste"
\fIPolecenie proste\fP jest sekwencją opcjonalnych przypisań zmiennych, po
której następują rozdzielane przez \fBodstęp\fP słowa i przekierowania, a
zakończoną \fIoperatorem sterującym\fP. 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.
.PP
Wartością zwracaną \fIpolecenia prostego\fP jest jego kod zakończenia lub
128+\fIn\^\fP jeżeli polecenie przerwane jest sygnałem \fIn\fP.
.SS Potoki
\fIPotok\fP jest sekwencją jednego lub więcej poleceń rozdzielonych jednym z
operatorów kontrolnych \fB|\fP lub \fB|&\fP. Formatem potoku jest:
.RS
.PP
[\fBtime\fP [\fB\-p\fP]] [ ! ] \fIpolecenie1\fP [ [\fB|\fP\(bv\fB|&\fP] \fIpolecenie2\fP ... ]
.RE
.PP
Standardowe wyjście z \fIpolecenia1\fP połączone jest za pośrednictwem potoku
ze standardowym wejściem \fIpolecenia2\fP.  Połączenie to wykonywane jest przed
możliwymi przekierowaniami podanymi dla \fIpolecenia1\fP (zobacz poniżej
.SM
\fBPRZEKIEROWANIE\fP. Jeśli użyte jest \fB|&\fP, to standardowe wyjście błędów
\fIpolecenia1\fP razem z jego standardowym wyjściem jest połączone ze
standardowym wejściem \fIpolecenia2\fP za pomocą potoku; jest to skrócona forma
\fB2>&1 |\fP. To bezpośrednie przekierowanie standardowego wyjścia błędów
jest przeprowadzane po wszystkich przekierowaniach określonych przez
\fIpolecenie1\fP.
.PP
Zwracanym kodem zakończenia potoku jest kod zakończenia ostatniego
polecenia, chyba że włączono opcję \fBpipefail\fP. 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 \fB!\fP,
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.
.PP
Jeżeli potok jest poprzedzony słowem zastrzeżonym \fBtime\fP, to po jego
zakończeniu podawany jest czas wykonywania, jak również czas użytkownika i
czas systemu zużyty na wykonanie.  Opcja \fB\-p\fP zmienia format tworzonych
wyników na określony przez POSIX. Jeśli powłoka znajduje się w \fItrybie posix\fP, to nie rozpoznaje \fBtime\fP 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ą
.SM
\fBTIMEFORMAT\fP; zobacz opis
.SM
\fBTIMEFORMAT\fP w \fBZmienne powłoki\fP
poniżej.
.PP
Jeśli powłoka znajduje się w \fItrybie posix\fP, to po \fBtime\fP 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ą
.SM
\fBTIMEFORMAT\fP można określić format informacji o czasie.
.PP
Each command in a multi\-command pipeline, where pipes are created, is
executed in a \fIsubshell\fP, which is a separate process.  See
.SM
\fBCOMMAND EXECUTION ENVIRONMENT\fP for a description of subshells and a
subshell environment.  If the \fBlastpipe\fP option is enabled using the
\fBshopt\fP builtin (see the description of \fBshopt\fP below), the last element
of a pipeline may be run by the shell process when job control is not
active.
.SS Listy
\fILista\fP jest potokiem lub sekwencją kilku potoków rozdzielonych jednym z
operatorów \fB;\fP, \fB&\fP, \fB&&\fP lub \fB\(bv\(bv\fP, i opcjonalnie zakończoną
jednym ze znaków \fB;\fP, \fB&\fP lub \fB<nowy\-wiersz>\fP.
.PP
Spośród tych operatorów listowych, \fB&&\fP i \fB\(bv\(bv\fP mają ten sam
priorytet, następujące po nich \fB;\fP i \fB&,\fP również mają równy między sobą
priorytet.
.PP
W zastępstwie średnika, w \fIliście\fP może pojawić się sekwencja jednego lub
więcej znaków nowego wiersza.
.PP
Jeśli polecenie zakończone jest operatorem sterującym \fB&\fP, to powłoka
wykonuje je w \fItle\fP (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 \fIasynchroniczne\fP. Polecenia oddzielane znakiem
średnika \fB;\fP 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.
.PP
Listy AND i OR są sekwencjami jednego lub więcej potoków oddzielonych
odpowiednio operatorami sterującymi \fB&&\fP i \fB||\fP. Listy AND i OR są
wykonywane z pozostawioną łącznością. Lista AND ma postać
.RS
.PP
\fIpolecenie1\fP \fB&&\fP \fIpolecenie2\fP
.RE
.PP
\fIpolecenie2\fP wykonywane jest wtedy, i tylko wtedy, gdy \fIpolecenie1\fP zwraca
zerowy kod zakończenia (sukces).
.PP
Lista OR ma postać
.RS
.PP
\fIpolecenie1\fP \fB\(bv\(bv\fP \fIpolecenie2\fP
.RE
.PP
\fIpolecenie2\fP jest wykonywane wtedy, i tylko wtedy, gdy \fIpolecenie1\fP zwraca
niezerowy kod zakończenia. Kod zwracany przez listy AND i OR jest kodem
zakończenia ostatniego wykonanego polecenia listy.
.SS "Polecenia złożone"
\fIPolecenie złożone\fP jest jednym z poniższych. W większości przypadków
\fIlista\fP 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.
.TP 
(\fIlista\fP)
\fILista\fP wykonywana jest w podpowłoce (opis środowiska podpowłoki znajduje
się w rozdziale
.SM
\fBŚRODOWISKO WYKONYWANIA POLECEŃ\fP
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 \fIlisty\fP.
.TP 
{ \fIlista\fP; }
\fILista\fP jest po prostu wykonywana w bieżącym środowisku powłoki.  \fILista\fP
musi być zakończona znakiem nowej linii lub średnika. Nazywane jest to
\fIpoleceniem grupowania\fP. Zwracanym kodem jest kod zakończenia \fIlisty\fP.
Należy pamiętać, że w przeciwieństwie do metaznaków \fB(\fP i \fB)\fP, \fB{\fP i \fB}\fP
są \fIsłowami zastrzeżonymi\fP 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 \fIlisty\fP za pomocą białego znaku
lub innego metaznaku powłoki.
.TP 
((\fIwyrażenie\fP))
\fIWyrażenie\fP interpretowane jest zgodnie z zasadami opisanymi poniżej w
sekcji
.SM
\fBOBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH\fP.  Jeśli wartość wyrażenia
jest niezerowa, to zwracanym statusem jest 0; w przeciwnym razie zwracanym
statusem jest 1. \fIWyrażenie\fP jest rozwijane tak samo, jak gdyby było ujęte
w podwójne cudzysłowy, jednak znaki podwójnego cudzysłowu w \fIwyrażeniu\fP nie
są traktowane specjalnie i są usuwane.
.TP 
\fB[[\fP \fIwyrażenie\fP \fB]]\fP
Zwraca kod 0 lub 1 w zależności od interpretacji wyrażenia warunkowego
\fIwyrażenie\fP. Wyrażenia złożone są ze składowych (primaries) opisanych
poniżej w opcji
.SM
\fBWYRAŻENIA WARUNKOWE\fP. Na słowach pomiędzy \fB[[\fP a
\fB]]\fP 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 \fB\-f\fP, nie mogą być cytowane,
jeśli mają zostać rozpoznane jako składowe.
.if  t .sp 0.5
.if  n .sp 1
Operatory \fB<\fP i \fB>\fP, gdy są używane z \fB[[\fP, sortują zgodnie z
porządkiem leksykograficznym, używając bieżącego ustawienia locale.
.PP
Proszę zapoznać się z wbudowanym poleceniem \fItest\fP (rozdział WBUDOWANE
POLECENIA POWŁOKI poniżej), aby dowiedzieć się jak obsługiwane są parametry
(np. sytuacja gdy ich nie podano).
.if  t .sp 0.5
.if  n .sp 1
Jeśli używane są operatory \fB==\fP i \fB!=\fP, to łańcuch po prawej stronie
operatora jest wzorcem i jest dopasowany zgodnie z opisanymi poniżej
regułami \fBDopasowania wzorca\fP, jakby włączono opcję powłoki
\fBextglob\fP. Operator \fB=\fP jest równoważny \fB==\fP. Jeśli włączono opcję
powłoki \fBnocasematch\fP, to przy dopasowaniu ignorowana jest wielkość
liter. Zwracaną wartością jest 0 gdy łańcuch pasuje (\fB==\fP) lub nie pasuje
(\fB!=\fP) i 1 w przeciwnym wypadku. Każda część wzorca może być cytowana, aby
wymusić jej dopasowanie jako łańcuch.
.if  t .sp 0.5
.if  n .sp 1
An additional binary operator, \fB=~\fP, is available, with the same precedence
as \fB==\fP and \fB!=\fP.  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 \fIregcomp\fP and \fIregexec\fP interfaces usually
described in \fIregex\fP(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
\fBnocasematch\fP 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.
.if  t .sp 0.5
.if  n .sp 1
The pattern will match if it matches any part of the string.  Anchor the
pattern using the \fB^\fP and \fB$\fP regular expression operators to force it to
match the entire string.  The array variable
.SM
\fBBASH_REMATCH\fP records
which parts of the string matched the pattern.  The element of
.SM
\fBBASH_REMATCH\fP 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
.SM
\fBBASH_REMATCH\fP indices. The element of
.SM
\fBBASH_REMATCH\fP with
index \fIn\fP is the portion of the string matching the \fIn\fPth parenthesized
subexpression.  Bash sets
.SM
\fBBASH_REMATCH\fP in the global scope;
declaring it as a local variable will lead to unexpected results.
.if  t .sp 0.5
.if  n .sp 1
Wyrażenia można łączyć przy pomocy następujących operatorów, wymienionych w
kolejności malejącego priorytetu:
.if  t .sp 0.5
.if  n .sp 1
.RS
.PD 0
.TP 
\fB( \fP\fIwyrażenie\fP\fB )\fP
Zwraca wartość \fIwyrażenia\fP. Może służyć do unieważnienia zwykłej kolejności
operatorów.
.TP 
\fB! \fP\fIwyrażenie\fP
Prawda jeżeli \fIwyrażenie\fP jest fałszywe.
.TP 
\fIwyrażenie1\fP \fB&&\fP \fIwyrażenie2\fP
Prawda jeśli zarówno \fIwyrażenie1\fP jak i \fIwyrażenie2\fP są prawdziwe.
.TP 
\fIwyrażenie1\fP \fB||\fP \fIwyrażenie2\fP
Prawda jeśli choć jedno spośród \fIwyrażenie1\fP lub \fIwyrażenie2\fP jest
prawdziwe.
.PD
.LP
Operatory \fB&&\fP i \fB||\fP nie wykonują \fIwyrażenia2\fP jeżeli wartość
\fIwyrażenia1\fP wystarcza do określenia wartości, jaka zostanie zwrócona przez
całe wyrażenie warunkowe.
.RE
.TP 
\fBfor\fP \fInazwa\fP [ [ \fBin\fP [ \fIsłowo ...\fP ] ] ; ] \fBdo\fP \fIlista\fP ; \fBdone\fP
Interpretowane są słowa następujące po \fBin\fP, tworząc listę elementów.
Zmiennej \fInazwa\fP nadawana jest kolejno wartość każdego elementu tej listy i
każdorazowo wykonywana jest \fIlista\fP poleceń.  Jeżeli pominięto \fBin\fP
\fIsłowo\fP, to polecenie \fBfor\fP wykonuje \fIlistę\fP po jednym razie dla każdego
ustawionego parametru pozycyjnego (zobacz
.SM
\fBPARAMETRY\fP poniżej).
Zwracanym kodem jest kod zakończenia ostatniego wykonanego polecenia.  Jeśli
interpretacja elementów następujących po \fBin\fP daje w wyniku pustą listę, to
nie są wykonywane żadne polecenia i zwracany jest kod 0.
.TP 
\fBfor\fP (( \fIwyr1\fP ; \fIwyr2\fP ; \fIwyr3\fP )) ; \fBdo\fP \fIlista\fP ; \fBdone\fP
Na początku obliczane jest wyrażenie arytmetyczne \fIwyr1\fP, zgodnie z
zasadami opisanymi poniżej w
.SM
\fBOBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH\fP.
Następnie wielokrotnie obliczane jest \fIwyr2\fP, aż do osiągnięcia przez nie
wartości zero.  Każdorazowo gdy obliczone \fIwyr2\fP jest niezerowe, wykonywana
jest \fIlista\fP i obliczane jest wyrażenie arytmetyczne \fIwyr3\fP.  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 \fIlisty\fP, lub fałsz jeśli któreś z wyrażeń jest niepoprawne.
.TP 
\fBselect\fP \fInazwa\fP [ \fBin\fP \fIsłowo\fP ] ; \fBdo\fP \fIlista\fP ; \fBdone\fP
Interpretowana jest lista słów następujących po \fBin\fP, 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 \fBin\fP \fIsłowo\fP,
to wypisywane są parametry pozycyjne (zobacz
.SM
\fBPARAMETRY\fP poniżej).
\fBselect\fP następnie wyświetla znak zachęty
.SM
\fBPS3\fP 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 \fInazwa\fP 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 \fBselect\fP kończy pracę
zwracając 1. Każda inna wartość powoduje, że \fInazwie\fP zostanie przypisany
łańcuch pusty. Odczytany wiersz zachowywany jest w zmiennej
.SM
\fBREPLY\fP.  \fIlista\fP wykonywana jest po każdym wyborze, dopóki nie zostanie
wykonane polecenie \fBbreak\fP.  Kodem zakończenia \fBselect\fP jest kod
zakończenia ostatniego wykonanego polecenia \fIlisty\fP lub zero jeśli nie
wykonano żadnych poleceń.
.TP 
\fBcase\fP \fIsłowo\fP \fBin\fP [ [(] \fIwzorzec\fP [ \fB|\fP \fIwzorzec\fP ] ... ) \fIlista\fP ;; ] ... \fBesac\fP
A \fBcase\fP command first expands \fIword\fP, and tries to match it against each
\fIpattern\fP in turn, using the matching rules described under \fBPattern Matching\fP below.  The \fIword\fP is expanded using tilde expansion, parameter
and variable expansion, arithmetic expansion, command substitution, process
substitution and quote removal.  Each \fIpattern\fP examined is expanded using
tilde expansion, parameter and variable expansion, arithmetic expansion,
command substitution, process substitution, and quote removal.  If the
\fBnocasematch\fP shell option is enabled, the match is performed without
regard to the case of alphabetic characters.  When a match is found, the
corresponding \fIlist\fP is executed.  If the \fB;;\fP operator is used, no
subsequent matches are attempted after the first pattern match.  Using \fB;&\fP
in place of \fB;;\fP causes execution to continue with the \fIlist\fP associated
with the next set of patterns.  Using \fB;;&\fP in place of \fB;;\fP causes the
shell to test the next pattern list in the statement, if any, and execute
any associated \fIlist\fP 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 \fIlist\fP.
.TP 
\fBif\fP \fIlista\fP; \fBthen\fP \fIlista\fP; [ \fBelif\fP \fIlista\fP; \fBthen\fP \fIlista\fP; ] ... [ \fBelse\fP \fIlista\fP; ] \fBfi\fP
Wykonywana jest \fIlista\fP występująca po \fBif\fP.  Jeżeli jej kod zakończenia
jest zerowy, to wykonywana jest \fIlista\fP klauzuli \fBthen\fP. W przeciwnym
wypadku, wykonywana jest \fIlista\fP każdego \fBelif\fP po kolei; jeśli kod
zakończenia którejś wynosi 0, to wykonywana jest \fIlista\fP \fBthen\fP i
polecenie jest kończone. Jeżeli nie wystąpił żaden z powyższych przypadków,
to wykonywana jest \fIlista\fP występująca po klauzuli \fBelse\fP, 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.
.TP 
\fBwhile\fP \fIlista\-1\fP; \fBdo\fP \fIlista\-2\fP; \fBdone\fP
.PD 0
.TP 
\fBuntil\fP \fIlista\-1\fP; \fBdo\fP \fIlista\-2\fP; \fBdone\fP
.PD
Polecenie \fBwhile\fP wykonuje listę \fIlista\-2\fP w sposób ciągły dopóty, dopóki
ostatnie polecenie listy \fIlista\-1\fP nie zwróci kodu zakończenia równego
zero. Polecenie \fBuntil\fP działa podobnie do polecenia \fBwhile\fP, a jedyną
różnicą jest to, że test jest zanegowany: \fIlista\-2\fP jest wykonywana tak
długo, aż ostatnie polecenie \fIlisty\-1\fP nie zwróci kodu zakończenia różnego
od zera. Kod wyjścia poleceń \fBwhile\fP i \fBuntil\fP jest kodem zakończenia
ostatniego polecenia wykonanego z \fIlisty\-2\fP lub zerem, jeśli żadne z nich
nie zostało wykonane.
.SS "Procesy współbieżne"
\fIProces współbieżny\fP jest poleceniem powłoki poprzedzonym słowem
zastrzeżonym \fBcoproc\fP. Jest on wykonywany w podpowłoce w sposób
asynchroniczny, jeśli polecenie zostało zakończone operatorem kontrolnym
\fB&\fP, z ustawionym dwustronnym potokiem pomiędzy wykonującą go powłoką a
procesem współbieżnym.
.PP
Składnia procesu współbieżnego jest następująca:
.RS
.PP
\fBcoproc\fP [\fINAZWA\fP] \fIpolecenie\fP [\fIprzekierowania\fP]
.RE
.PP
Tworzy proces współbieżny o nazwie \fINAZWA\fP. \fIPolecenie\fP może być albo
poleceniem prostym, albo poleceniem złożonym (zob. wyżej). \fINAZWA\fP jest
nazwą zmiennej powłoki. Jeśli nie poda się \fINAZWY\fP, domyślną jest
\fBCOPROC\fP.
.PP
Zalecanym formatem korzystania z procesu współbieżnego jest
.RS
.PP
\fBcoproc\fP \fINAZWA\fP { \fIpolecenie\fP [\fIprzekierowania\fP]; }
.RE
.PP
Forma ta jest zalecana, ponieważ proste polecenia powodują, że proces
współbieżny będzie zawsze nazwany \fBCOPROC\fP, jest także prostsza w użyciu i
bardziej kompletna, niż inne polecenia złożone.
.PP
Jeśli \fIpolecenie\fP jest poleceniem złożonym, \fINAZWA\fP jest opcjonalna. Słowo
występujące po \fBcoproc\fP określa, czy jest ono interpretowane jako nazwa
zmiennej: jest interpretowane jako \fINAZWA\fP, jeśli nie jest zastrzeżonym
słowem wprowadzającym polecenie złożone. Jeśli \fIpolecenie\fP jest prostym
poleceniem, \fINAZWA\fP jest niedozwolona; wynika to z konieczności
zapobiegania pomyłki pomiędzy \fINAZWĄ\fP, a pierwszym słowem polecenia
prostego.
.PP
Gdy proces współbieżny jest wykonywany, powłoka tworzy zmienną tablicową
(patrz \fBTablice\fP poniżej) o nazwie \fINAZWA\fP w kontekście wykonywanej
powłoki. Standardowe wyjście \fIpolecenia\fP jest połączone potokiem z
deskryptorem pliku wykonywanej powłoki, a ten jest przypisany do
\fINAZWA\fP[0]. Standardowe wejście \fIpolecenia\fP jest połączone potokiem z
deskryptorem pliku wykonywanej powłoki, a ten jest przypisany do
\fINAZWA\fP[1]. Ten potok jest ustawiany przed wszystkimi przekierowaniami
podanymi z poleceniem (patrz
.SM
\fBPRZEKIEROWANIE\fP 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.
.PP
Identyfikator procesu powłoki utworzonej do wykonania procesu współbieżnego
jest dostępny jako wartość zmiennej \fINAZWA\fP_PID. Do czekania na zakończenie
procesu współbieżnego można użyć wbudowanego polecenia \fBwait\fP.
.PP
Ponieważ proces współbieżny jest tworzony jako polecenie asynchroniczne,
polecenie \fBcoproc\fP zawsze zwróci powodzenie. Zwracanym statusem procesu
współbieżnego jest kod zakończenia \fIpolecenia\fP.
.SS "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:
.TP 
\fInazwa\-f\fP () \fIpolecenie\-złożone\fP [\fIprzekierowanie\fP]
.PD 0
.TP 
\fBfunction\fP \fInazwa\-f\fP [()] \fIpolecenie\-złożone\fP [\fIprzekierowanie\fP]
.PD
This defines a function named \fIfname\fP.  The reserved word \fBfunction\fP is
optional.  If the \fBfunction\fP reserved word is supplied, the parentheses are
optional.  The \fIbody\fP of the function is the compound command
\fIcompound\-command\fP (see \fBCompound Commands\fP above).  That command is
usually a \fIlist\fP of commands between { and }, but may be any command listed
under \fBCompound Commands\fP above.  If the \fBfunction\fP reserved word is used,
but the parentheses are not supplied, the braces are recommended.
\fIcompound\-command\fP is executed whenever \fIfname\fP is specified as the name
of a simple command.  When in \fIposix mode\fP, \fIfname\fP must be a valid shell
\fIname\fP and may not be the name of one of the POSIX \fIspecial builtins\fP.  In
default mode, a function name can be any unquoted shell word that does not
contain \fB$\fP.  Any redirections (see
.SM
\fBREDIRECTION\fP 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
.SM
\fBFUNCTIONS\fP below.)
.SH KOMENTARZE
W powłoce nie\-interaktywnej lub w powłoce interaktywnej, w której włączono
opcję \fBinteractive_comments\fP do opcji wbudowanych \fBshopt\fP (zobacz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej) słowo rozpoczynające się od znaku
\fB#\fP powoduje, że słowo to i wszystkie pozostałe znaki w tym wierszu będą
ignorowane. Powłoka interaktywna bez włączonej opcji \fBinteractive_comments\fP
nie pozwala na komentarze. Opcja \fBinteractive_comments\fP jest domyślnie
włączona w powłokach interaktywnych.
.SH CYTOWANIE
\fICytowanie\fP 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.
.PP
Każdy z \fImetaznaków\fP podanych powyżej w
.SM
\fBDEFINICJACH\fP posiada dla
powłoki specjalne znaczenie i musi być cytowany, jeśli ma oznaczać samego
siebie.
.PP
Gdy używane są funkcje interpretacji historii poleceń (patrz
.SM
\fBINTERPRETACJA HISTORII\fP), znak \fIinterpretacji historii\fP, zwykle \fB!\fP,
musi być cytowany, jeśli chce się uniknąć interpretacji historii.
.PP
Istnieją trzy mechanizmy cytowania: \fIznak specjalny\fP (escape character),
apostrofy (pojedyncze cudzysłowy) i cudzysłowy zwykłe (podwójne).
.PP
Niecytowany odwrotny ukośnik (\fB\e\fP) jest \fIznakiem specjalnym\fP.  Chroni on
przed interpretacją dosłowną wartość następującego po nim znaku, z wyjątkiem
<nowejlinii>. Jeśli pojawi się para \fB\e\fP<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).
.PP
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.
.PP
Ujęcie znaków w cudzysłowy chroni dosłowne wartości każdego z nich, za
wyjątkiem \fB$\fP, \fB`\fP i \fB\e\fP oraz, gdy włączone jest dopełnianie z historii,
\fB!\fP. Gdy powłoka działa w \fItrybie posix\fP, \fB!\fP nie ma specjalnego
znaczenia wewnątrz podwójnych cudzysłowów, nawet gdy włączone jest
dopełnianie z historii. Znaki \fB$\fP i \fB`\fP 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: \fB$\fP, \fB`\fP, \^\fB"\fP\^, \fB\e\fP
lub \fB<nowy wiersz>\fP. 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 \fB!\fP jest ujęty w
cudzysłowy lub cytowany odwrotnym ukośnikiem. Odwrotny ukośnik poprzedzający
\fB!\fP nie jest usuwany.
.PP
Parametry specjalne \fB*\fP i \fB@\fP posiadają specjalne znaczenie wewnątrz
cudzysłowów (zobacz
.SM
\fBPARAMETRY\fP poniżej).
.PP
Sekwencje znaków w postaci \fB$\fP\(aq\fIłańcuch\fP\(aq traktowane jako specjalny
wariant pojedynczych cudzysłowów. Sekwencja jest rozwijana na \fIłańcuch\fP, w
którym znaki w \fIłańcuchu\fP 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:
.RS
.PD 0
.TP 
\fB\ea\fP
alarm (dzwonek)
.TP 
\fB\eb\fP
backspace
.TP 
\fB\ee\fP
.TP 
\fB\eE\fP
znak escape
.TP 
\fB\ef\fP
znak wysuwu strony (form feed)
.TP 
\fB\en\fP
znak nowego wiersza (new line)
.TP 
\fB\er\fP
powrót karetki
.TP 
\fB\et\fP
tabulacja pozioma (horizontal tab)
.TP 
\fB\ev\fP
tabulacja pionowa (vertical tab)
.TP 
\fB\e\e\fP
odwrotny ukośnik (backslash)
.TP 
\fB\e\(aq\fP
apostrof
.TP 
\fB\e"\fP
cudzysłów
.TP 
\fB\e?\fP
znak zapytania
.TP 
\fB\e\fP\fInnn\fP
ośmiobitowy znak, którego wartością jest ósemkowa liczba \fInnn\fP (jedna do
trzech cyfr ósemkowych)
.TP 
\fB\ex\fP\fIHH\fP
ośmiobitowy znak, którego wartością jest szesnastkowa liczba \fInnn\fP (jedna
lub dwie cyfry szesnastkowe)
.TP 
\fB\eu\fP\fIHHHH\fP
znak Unicode (ISO/IEC 10646) o wartości szesnastkowej \fIHHHH\fP (jedna do
czterech cyfr szesnastkowych)
.TP 
\fB\eU\fP\fIHHHHHHHH\fP
znak Unicode (ISO/IEC 10646) o wartości szesnastkowej \fIHHHHHHHH\fP (jedna do
ośmiu cyfr szesnastkowych)
.TP 
\fB\ec\fP\fIx\fP
znak kontrolny \fIx\fP
.PD
.RE
.LP
Przetłumaczony wynik jest pojedynczo cytowany, tak jakby nie było znaku
dolara.
.PP
A double\-quoted string preceded by a dollar sign (\fB$\fP"\fIstring\fP")  will
cause the string to be translated according to the current locale.  The
\fIgettext\fP infrastructure performs the lookup and translation, using the
\fBLC_MESSAGES\fP, \fBTEXTDOMAINDIR\fP, and \fBTEXTDOMAIN\fP shell variables.  If the
current locale is \fBC\fP or \fBPOSIX\fP, 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
\fBnoexpand_translation\fP option is enabled using the \fBshopt\fP builtin,
translated strings are single\-quoted instead of double\-quoted.  See the
description of \fBshopt\fP below under
.SM
\fBSHELL\fPBUILTIN\fBCOMMANDS\fP.
.SH PARAMETRY
\fIParametr\fP jest elementem przechowującym wartości. Może on być \fInazwą\fP,
liczbą lub jednym ze znaków specjalnych podanych poniżej w sekcji
\fBParametry specjalne\fP.  Dla celów powłoki \fIzmienna\fP jest parametrem
oznaczanym przez \fInazwę\fP.  Zmienna posiada \fIwartość\fP i zero lub więcej
\fIatrybutów\fP.  Wartość atrybutom przypisuje się za pomocą polecenia
wbudowanego \fBdeclare\fP (zobacz opis tego polecenia poniżej, w sekcji
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP).
.PP
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 \fBunset\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP ).
.PP
Do \fIzmiennej\fP można wykonać przypisanie przy pomocy instrukcji postaci
.RS
.PP
\fInazwa\fP=[\fIwartość\fP]
.RE
.PP
Jeżeli nie podano \fIwartości\fP, to zmiennej przypisywany jest łańcuch
pusty. Wszystkie \fIwartości\fP przechodzą przez interpretację tyld,
podstawianie parametrów, interpretację zmiennych, podstawianie wyników
poleceń, interpretację wyrażeń arytmetycznych i usuwanie cytowań (zobacz
poniżej
.SM
\fBINTERPRETACJA\fP). Jeżeli zmienna ma ustawiony atrybut
\fBinteger\fP (całkowita), to \fIwartość\fP podlega interpretacjom wyrażeń
arytmetycznych, nawet jeśli nie użyto interpretacji $((...)). Zobacz poniżej
\fBInterpretacja wyrażeń arytmetycznych\fP. Nie jest wykonywane dzielenie na
słowa, ani rozwijanie nazw plików.  Instrukcje przypisania mogą się też
pojawiać jako argumenty poleceń wbudowanych \fBalias\fP, \fBdeclare\fP,
\fBtypeset\fP, \fBexport\fP, \fBreadonly\fP i \fBlocal\fP (poleceń \fIdeklarujących\fP). W
\fItrybie posix\fP te słowa wbudowane mogą wystąpić w poleceniu po jednym lub
większej liczby wystąpień polecenia wbudowanego \fBcommand\fP i zachowują
właściwości instrukcji przypisania.
.PP
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 \fBdeclare\fP, które akceptują instrukcje
przypisania (poleceń \fIdeklarujących\fP). Gdy += jest stosowane do zmiennej z
ustawionym atrybutem \fBinteger\fP, 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 \fBTablice\fP 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 \fIwartość\fP jest interpretowana i dołączana do
wartości zmiennej.
.PP
Zmiennej można przypisać atrybut \fInazwa referencyjna\fP (ang. nameref) za
pomocą opcji \fB\-n\fP przekazanej poleceniom wbudowanym \fBdeclare\fP lub \fBlocal\fP
(zob. opisy \fBdeclare\fP i \fBlocal\fP niżej) aby utworzyć \fInazwę referencyjną\fP
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
\fInazwy referencyjnej\fP), 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
.sp .5
.RS
.if  t \f(CWdeclare -n ref=$1\fP
.if  n declare -n ref=$1
.RE
.sp .5
wewnątrz funkcji tworzącej zmienną nazwy referencyjnej \fBref\fP, której
wartością jest nazwa zmiennej przekazana jako pierwszy argument. Odniesienie
lub przypisanie \fBref\fP oraz zmiana jej atrybutów są traktowane jako
odniesienie lub przypisania do zmiennej oraz zmiana atrybutów zmiennej
której nazwę przekazano jako \fB$1\fP. Jeśli zmienna kontrolujące pętle \fBfor\fP
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 \fBnameref\fP,
jednak do zmiennych nazw referencyjnych mogą odnosić się zmienne tablicowe i
wskaźniki zmiennych tablicowych. Nazwy referencyjne można usunąć stosując
opcję \fB\-n\fP do polecenia wbudowanego \fBunset\fP. W przeciwnym razie, gdy
\fBunset\fP jest wykonywane z nazwą referencyjną jako argument, zmienna do
której odnosi się nazwa referencyjna zostanie usunięta.
.SS "Parametry pozycyjne"
\fIParametr pozycyjny\fP 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 \fBset\fP.  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
.SM
\fBFUNKCJE\fP).
.PP
Jeżeli interpretowany jest parametr pozycyjny określany więcej niż jedną
cyfrą, to musi być ujęty w nawiasy (zobacz poniżej
.SM
\fBINTERPRETACJA\fP).
.SS "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.
.PD 0
.TP 
\fB*\fP
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
.SM
\fBIFS\fP.  To
znaczy, "\fB$*\fP" jest równoważne "\fB$1\fP\fIc\fP\fB$2\fP\fIc\fP\fB...\fP", gdzie \fIc\fP jest
pierwszym znakiem wartości zmiennej
.SM
\fBIFS\fP.  Jeżeli
.SM
\fBIFS\fP nie
jest ustawione, to parametry oddzielane są spacjami.  Jeśli
.SM
\fBIFS\fP
jest łańcuchem pustym, to parametry są ze sobą połączone bez rozdzielających
je separatorów.
.TP 
\fB@\fP
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, "\fB$@\fP" jest równoważne
"\fB$1\fP" "\fB$2\fP" ... 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,
"\fB$@\fP" i \fB$@\fP interpretowane są jako nic (tj. są usuwane).
.TP 
\fB#\fP
Interpretowane jako liczba parametrów pozycyjnych, podana dziesiętnie.
.TP 
\fB?\fP
Interpretowane jako kod zakończenia ostatnio wykonanego potoku
pierwszoplanowego.
.TP 
\fB\-\fP
Interpretowane jako bieżące flagi opcji, takie jakie zostały podane podczas
wywołania, ustawione przy pomocy wbudowanego polecenia \fBset\fP lub ustawione
przez samą powłokę (tak jak opcja \fB\-i\fP).
.TP 
\fB$\fP
Interpretowany jest jako identyfikator procesu powłoki. W podpowłoce,
interpretowany jest jako ID procesu bieżącej powłoki, nie zaś podpowłoki.
.TP 
\fB!\fP
Interpretowany jako ID procesu ostatnio wykonywanego polecenia tła, gdy jest
wykonywane jako polecenie asynchroniczne lub używając słowa wbudowanego
\fBbg\fP (zob. niżej
.SM
\fBKONTROLA ZADAŃ\fP).
.TP 
\fB0\fP
Interpretowany jako nazwa powłoki lub skryptu powłoki. Ustawiane jest to na
etapie inicjowania powłoki. Jeżeli \fBbash\fP wywoływany został z plikiem
poleceń, to \fB$0\fP ustawiane jest na nazwę tego pliku. Jeśli \fBbash\fP został
uruchomiony z opcją \fB\-c\fP, to \fB$0\fP 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 \fBbash\fP, jaką
podaje argument zerowy.
.PD
.SS "Zmienne powłoki"
Powłoka ustawia następujące zmienne:
.PP
.PD 0
.TP 
\fB_\fP
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.
.TP 
\fBBASH\fP
Interpretowane jako pełna nazwa pliku użyta do wywołania tego przebiegu
\fBbash\fP.
.TP 
\fBBASHOPTS\fP
Oddzielana dwukropkiem lista włączonych opcji powłoki. Każde słowo na liście
jest poprawnym argumentem do opcji \fB\-s\fP wbudowanego polecenia \fBshopt\fP
(patrz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej). Opcje pojawiające się
w
.SM
\fBBASHOPTS\fP są tymi, które są raportowane jako \fIwłączone\fP (on)
przez \fBshopt\fP. Jeśli ta zmienna występuje w środowisku podczas uruchamiania
\fBbash\fP, to każda opcja powłoki z listy będzie włączona przed odczytaniem
plików startowych. Ta zmienna jest tylko do odczytu.
.TP 
\fBBASHPID\fP
Zmienna przechowuje identyfikator bieżącego procesu \fBbash\fP. W określonych
przypadkach, takich jak sytuacja, gdy podpowłoki nie wymagają ponownej
inicjalizacji \fBbash\fP, różni się od \fB$$\fP. Przypisania do
.SM
\fBBASHPID\fP
nie odnoszą skutku. Jeżeli \fBBASHPID\fP jest unieważniona, to traci swe
specjalne właściwości, nawet jeżeli jest następnie ponownie ustawiona.
.TP 
\fBBASH_ALIASES\fP
Zmienna tablicy asocjacyjnej, której wpisy odpowiadają wewnętrznej liście
aliasów zarządzanych przez wbudowane polecenie \fBalias\fP. 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
\fBBASH_ALIASES\fP zostanie skasowana, traci swoje specjalne właściwości, nawet
jeśli zostanie później zresetowana.
.TP 
\fBBASH_ARGC\fP
Zmienna tablicowa, której wartościami są liczby parametrów każdej ramki w
bieżącym stosie wywołania \fBbash\fP. Liczba parametrów bieżącego podprogramu
(funkcji powłoki lub skryptu wykonywanego przez \fB.\fP lub \fBsource\fP) znajduje
się na górze stosu. Gdy podprogram jest wykonywany, liczba przekazanych
parametrów jest przypisywana do
.SM
\fBBASH_ARGC\fP. Powłoka ustawia
.SM
\fBBASH_ARGC\fP wyłącznie w rozszerzonym trybie debugowania (patrz opis opcji
\fBextdebug\fP wbudowanego polecenie \fBshopt\fP poniżej). Ustawienie \fBextdebug\fP
po tym, jak powłoka uruchomiła się w celu wykonania skryptu lub odniesienie
się do tej zmiennej gdy \fBextdebug\fP nie jest ustawione, może dać niespójne
wartości.
.TP 
\fBBASH_ARGV\fP
Zmienna tablicowa zawierająca wszystkie parametry bieżącego stosu wywołania
\fBbash\fP. 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
.SM
\fBBASH_ARGV\fP. Powłoka ustawia
.SM
\fBBASH_ARGV\fP
wyłącznie w rozszerzonym trybie debugowania (patrz opis opcji \fBextdebug\fP
wbudowanego polecenie \fBshopt\fP poniżej). Ustawienie \fBextdebug\fP po tym, jak
powłoka uruchomiła się w celu wykonania skryptu lub odniesienie się do tej
zmiennej gdy \fBextdebug\fP nie jest ustawione, może dać niespójne wartości.
.TP 
\fBBASH_ARGV0\fP
Po odwołaniu się do niej, zmienna ta jest rozwijana na nazwę powłoki lub
skryptu powłoki (identyczne do \fB$0\fP; zob. opis parametru specjalnego 0
powyżej). Przypisania do \fBBASH_ARGV0\fP powodują, że wartość zostanie
przypisana również do \fB$0\fP. Jeżeli \fBBASH_ARGV0\fP jest unieważniona, to
traci swe specjalne właściwości, nawet jeżeli jest następnie ponownie
ustawiona.
.TP 
\fBBASH_CMDS\fP
Zmienna tablicy asocjacyjnej, której wpisy odpowiadają wewnętrznej liście
skrótów poleceń, zarządzanej przez wbudowane polecenie \fBhash\fP. 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 \fBBASH_CMDS\fP zostanie skasowana, traci swoje specjalne
właściwości, nawet jeśli zostanie później zresetowana.
.TP 
\fBBASH_COMMAND\fP
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 \fBBASH_COMMAND\fP jest unieważniona, to traci swe specjalne
właściwości, nawet jeżeli jest następnie ponownie ustawiona.
.TP 
\fBBASH_EXECUTION_STRING\fP
Argument polecenia do opcji wywołania \fB\-c\fP.
.TP 
\fBBASH_LINENO\fP
Zmienna tablicowa, której wartościami są numery wierszy plików źródłowych, w
których przywołano każdy odpowiednik ze zmiennej
.SM
\fBFUNCNAME\fP. \fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP jest numerem wiersza w pliku
źródłowym (\fB${BASH_SOURCE[\fP\fI$i+1\fP\fB]}\fP), gdzie przywołano
\fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP (lub \fB${BASH_LINENO[\fP\fI$i\-1\fP\fB]}\fP, jeśli odnosi
się do innej funkcji powłoki). Proszę użyć
.SM
\fBLINENO\fP, aby pobrać
bieżący numer wiersza.
.TP 
\fBBASH_LOADABLES_PATH\fP
Lista rozdzielonych dwukropkami katalogów, w których powłoka szuka
dynamicznie ładowalnych poleceń wbudowanych podanych przez polecenie
\fBenable\fP.
.TP 
\fBBASH_REMATCH\fP
Zmienna tablicowa, której wartości są przypisywane operatorem
dwuargumentowym \fB=~\fP do polecenia warunkowego \fB[[\fP. Element o indeksie 0
jest częścią łańcucha pasującego do całego wyrażenia regularnego. Element o
indeksie \fIn\fP jest częścią łańcucha pasującego do \fIn\fP\-tego podwyrażenia
ujętego w nawiasy.
.TP 
\fBBASH_SOURCE\fP
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
.SM
\fBFUNCNAME\fP. Funkcja powłoki \fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP jest
zdefiniowana w pliku \fB${BASH_SOURCE[\fP\fI$i\fP\fB]}\fP i wywoływana z
\fB${BASH_SOURCE[\fP\fI$i+1\fP\fB]}.\fP.
.TP 
\fBBASH_SUBSHELL\fP
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 \fBBASH_SUBSHELL\fP jest unieważniona, to traci swe specjalne
właściwości, nawet jeżeli jest następnie ponownie ustawiona.
.TP 
\fBBASH_VERSINFO\fP
Zmienna tablicowa tylko do odczytu, której elementy zawierają informacje o
wersji uruchomionego \fBbash\fP.  Wartości przypisane elementom tablicy są
następujące:
.sp .5
.RS
.TP  24
\fBBASH_VERSINFO[\fP0\fB]\fP
Główny numer wersji, wydanie (\fIrelease\fP).
.TP 
\fBBASH_VERSINFO[\fP1\fB]\fP
Poboczny numer wersji (\fIversion\fP).
.TP 
\fBBASH_VERSINFO[\fP2\fB]\fP
Poziom łat (patch level).
.TP 
\fBBASH_VERSINFO[\fP3\fB]\fP
Wersja kompilatu (build version).
.TP 
\fBBASH_VERSINFO[\fP4\fB]\fP
Status wydania (np. \fIbeta1\fP).
.TP 
\fBBASH_VERSINFO[\fP5\fB]\fP
Wartość
.SM
\fBMACHTYPE\fP.
.RE
.TP 
\fBBASH_VERSION\fP
Interpretowane jako łańcuch opisujący wersję uruchomionego \fBbash\fP.
.TP 
\fBCOMP_CWORD\fP
Indeks w \fB${COMP_WORDS}\fP 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 \fBProgramowalne uzupełnianie\fP).
.TP 
\fBCOMP_KEY\fP
Klawisz (lub ostatni klawisz w sekwencji klawiszy) użyty do wywołania
bieżącej funkcji uzupełniania.
.TP 
\fBCOMP_LINE\fP
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 \fBProgramowalne uzupełnianie\fP).
.TP 
\fBCOMP_POINT\fP
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 \fB${#COMP_LINE}\fP.  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 \fBProgramowalne uzupełnianie\fP).
.TP 
\fBCOMP_TYPE\fP
Ustawiana na wartość całkowitą odpowiadającą typowi uzupełnienia, którego
próbę przeprowadzono, które spowodowało wywołanie funkcji uzupełnienia:
\fITAB\fP, do normalnego uzupełnienia, \fI?\fP, do wypisywania uzupełnień po
udanej tabulacji, \fI!\fP, do wypisywania alternatyw częściowego uzupełnienia
słowa, \fI@\fP, do wypisania uzupełnień, jeśli słowo nie zostało zmodyfikowane
lub \fI%\fP, 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 \fBProgramowalne uzupełnienie\fP).
.TP 
\fBCOMP_WORDBREAKS\fP
Zestaw znaków traktowanych przez bibliotekę \fBreadline\fP jako separatory
słów, podczas przeprowadzania uzupełnień słów. Jeśli unieważniono
.SM
\fBCOMP_WORDBREAKS\fP, to traci swe specjalne właściwości, nawet jeżeli jest
następnie ponownie ustawiona.
.TP 
\fBCOMP_WORDS\fP
Zmienna tablicowa (patrz \fBTablice\fP 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 \fBreadline\fP, używając
.SM
\fBCOMP_WORDBREAKS\fP, 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
\fBProgramowalne uzupełnianie\fP).
.TP 
\fBCOPROC\fP
Zmienna tablicowa (patrz poniżej \fBTablice\fP) tworzona do zatrzymania
deskryptorów plików z wyjścia lub wejścia nienazwanych koprocesów (zobacz
\fBKoprocesy (współprocesy)\fP powyżej).
.TP 
\fBDIRSTACK\fP
Zmienna tablicowa (zobacz \fBTablice\fP 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 \fBdirs\fP.  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 \fBpushd\fP i
\fBpopd\fP.  Przypisanie wartości tej zmiennej nie zmieni bieżącego katalogu.
Jeśli
.SM
\fBDIRSTACK\fP jest unieważnione, to traci swe specjalne
właściwości, nawet jeżeli jest następnie ponownie ustawione.
.TP 
\fBEPOCHREALTIME\fP
Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch (see \fItime\fP(3)) as a floating point value with
micro\-second granularity.  Assignments to
.SM
\fBEPOCHREALTIME\fP are
ignored.  If
.SM
\fBEPOCHREALTIME\fP is unset, it loses its special
properties, even if it is subsequently reset.
.TP 
\fBEPOCHSECONDS\fP
Each time this parameter is referenced, it expands to the number of seconds
since the Unix Epoch (see \fItime\fP(3)).  Assignments to
.SM
\fBEPOCHSECONDS\fP are ignored.  If
.SM
\fBEPOCHSECONDS\fP is unset, it loses
its special properties, even if it is subsequently reset.
.TP 
\fBEUID\fP
Interpretowane jako efektywny identyfikator bieżącego użytkownika,
inicjowane przy uruchamianiu powłoki. Zmienna ta jest tylko do odczytu.
.TP 
\fBFUNCNAME\fP
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
.if  t \f(CW"main"\fP.
.if  n "main".
Zmienna istnieje tylko gdy wykonywana jest funkcja powłoki. Przypisania do
.SM
\fBFUNCNAME\fP nie odnoszą skutku. Jeśli
.SM
\fBFUNCNAME\fP jest
unieważniona, to traci swe specjalne właściwości, nawet jeśli jest następnie
ponownie ustawiona.
.if  t .sp 0.5
.if  n .sp 1
Zmienna ta może zostać użyta razem z \fBBASH_LINENO\fP i \fBBASH_SOURCE\fP. Każdy
element \fBFUNCNAME\fP ma swój odpowiednik w \fBBASH_LINENO\fP i \fBBASH_SOURCE\fP
opisujący stos wywołania. Na przykład, \fB${FUNCNAME[\fP\fI$i\fP\fB]}\fP została
wywołana z pliku \fB${BASH_SOURCE[\fP\fI$i+1\fP\fB]}\fP w wierszu o numerze
\fB${BASH_LINENO[\fP\fI$i\fP\fB]}\fP. Wbudowane polecenie \fBcaller\fP wyświetla bieżący
stos wywołania używając tej informacji.
.TP 
\fBGROUPS\fP
Zmienna tablicowa zawierająca listę grup, których członkiem jest bieżący
użytkownik. Próby przypisywania wartości do
.SM
\fBGROUPS\fP nie odnoszą
efektu. Jeżeli
.SM
\fBGROUPS\fP jest unieważnione, to traci swe specjalne
właściwości, nawet jeżeli jest następnie ponownie ustawione.
.TP 
\fBHISTCMD\fP
Licznik historii (indeks na liście historii poleceń) bieżącego polecenia.
Przypisania do
.SM
\fBHISTCMD\fP są ignorowane. Jeżeli
.SM
\fBHISTCMD\fP
jest unieważnione, to traci swe specjalne właściwości, nawet jeżeli jest
następnie ponownie ustawione.
.TP 
\fBHOSTNAME\fP
Automatycznie ustawiane na nazwę aktualnego hosta.
.TP 
\fBHOSTTYPE\fP
Automatycznie ustawiane na łańcuch unikalnie opisujący typ maszyny, na
której jest wykonywany \fBbash\fP.  Wartość domyślna zależy od systemu.
.TP 
\fBLINENO\fP
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
.SM
\fBLINENO\fP jest unieważnione, to
traci swe specjalne właściwości, nawet jeżeli jest następnie ponownie
ustawione.
.TP 
\fBMACHTYPE\fP
Automatycznie ustawiane na łańcuch w pełni opisujący typ systemu, na którym
jest wykonywany \fBbash\fP, w standardowym formacie GNU \fIcpu\-firma\-system\fP.
Wartość domyślna zależy od systemu.
.TP 
\fBMAPFILE\fP
Zmienna tablicowa (patrz \fBTablice\fP poniżej) tworzona do zatrzymania tekstu
odczytywanego przez wbudowane polecenie \fBmapfile\fP, gdy nie podano nazwy
zmiennej.
.TP 
\fBOLDPWD\fP
Poprzedni katalog roboczy ustawiony poleceniem \fBcd\fP.
.TP 
\fBOPTARG\fP
Wartość ostatniego, będącego opcją, argumentu przetworzonego przez wbudowane
polecenie \fBgetopts\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP).
.TP 
\fBOPTIND\fP
Numer (indeks) następnego argumentu, jaki ma zostać przetworzony przez
wbudowane polecenie \fBgetopts\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP).
.TP 
\fBOSTYPE\fP
Automatycznie ustawiane na łańcuch opisujący system operacyjny, w którym
jest wykonywany \fBbash\fP.  Wartość domyślna zależy od systemu.
.TP 
\fBPIPESTATUS\fP
Zmienna tablicowa (zobacz \fBTablice\fP poniżej) zwierająca listę kodów
zakończenia z procesów w ostatnio wykonywanym potoku pierwszoplanowym (który
może zawierać pojedyncze polecenie).
.TP 
\fBPPID\fP
Identyfikator procesu macierzystego powłoki. Zmienna ta jest tylko do
odczytu.
.TP 
\fBPWD\fP
Bieżący katalog roboczy, ustawiony poleceniem \fBcd\fP.
.TP 
\fBRANDOM\fP
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
.SM
\fBRANDOM\fP inicjuje (przekazuje ziarno) sekwencję liczb
losowych. Jeżeli
.SM
\fBRANDOM\fP jest unieważniona, to traci swe specjalne
właściwości, nawet jeżeli jest następnie ponownie ustawiona.
.TP 
\fBREADLINE_ARGUMENT\fP
Każdy numeryczny argument przekazany do polecenia readline, zdefiniowany za
pomocą
.if  t \f(CWbind -x\fP
.if  n "bind -x"
(patrz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej), gdy zostało ono
wywołane.
.TP 
\fBREADLINE_LINE\fP
Zawartość bufora wiersza \fBreadline\fP, do użycia z
.if  t \f(CWbind -x\fP
.if  n "bind -x"
(patrz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej).
.TP 
\fBREADLINE_MARK\fP
Pozycja zaznaczenia (zapisanego punktu wprowadzania) w buforze wiersza
\fBreadline\fP, do użycia z
.if  t \f(CWbind -x\fP
.if  n "bind -x"
(patrz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej). Znaki pomiędzy
punktem wprowadzania i zaznaczeniem są często określane jako \fIregion\fP.
.TP 
\fBREADLINE_POINT\fP
Pozycja punktu wprowadzania w buforze wiersza \fBreadline\fP, do użycia z
.if  t \f(CWbind -x\fP
.if  n "bind -x"
(patrz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej).
.TP 
\fBREPLY\fP
Ustawiona na wiersz wejścia odczytany wbudowanym poleceniem \fBread\fP jeśli
nie podano żadnych jego argumentów.
.TP 
\fBSECONDS\fP
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
.SM
\fBSECONDS\fP 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
.SM
\fBSECONDS\fP jest unieważnione, to traci swe specjalne właściwości, nawet
jeżeli jest następnie ponownie ustawione.
.TP 
\fBSHELLOPTS\fP
Lista, rozdzielonych dwukropkami, włączonych opcji powłoki. Każde słowo
listy jest poprawnym argumentem opcji \fB\-o\fP wbudowanego polecenia \fBset\fP
(zobacz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej). Opcje pojawiające
się w
.SM
\fBSHELLOPTS\fP to te, które są zgłaszane jako włączone (\fIon\fP)
przez \fBset \-o\fP.  Jeśli zmienna ta istnieje w środowisku podczas
uruchamiania \fBbash,\fP 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.
.TP 
\fBSHLVL\fP
Inkrementowana każdorazowo, gdy uruchamiane jest kolejne wystąpienie
\fBbash\fP.
.TP 
\fBSRANDOM\fP
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 \f(CW/dev/urandom\fP or \fIarc4random\fP, 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
.SM
\fBSRANDOM\fP is unset, it loses its special properties, even if it is
subsequently reset.
.TP 
\fBUID\fP
Interpretowane jako identyfikator bieżącego użytkownika, inicjowane przy
uruchamianiu powłoki. Zmienna ta jest tylko do odczytu.
.PD
.PP
Poniższe zmienne są używane przez powłokę. W niektórych przypadkach \fBbash\fP
przypisuje im domyślne wartości; przypadki te są odnotowane niżej.
.PP
.PD 0
.TP 
\fBBASH_COMPAT\fP
The value is used to set the shell's compatibility level.  See
.SM
\fBSHELL COMPATIBILITY MODE\fP 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 \fBBASH_COMPAT\fP is unset or set to the empty string,
the compatibility level is set to the default for the current version.  If
\fBBASH_COMPAT\fP 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
.SM
\fBSHELL COMPATIBILITY MODE\fP.  For example, 4.2 and 42 are valid values that correspond to the
\fBcompat42\fP \fBshopt\fP option and set the compatibility level to 42.  The
current version is also a valid value.
.TP 
\fBBASH_ENV\fP
Jeżeli parametr ten jest ustawiony podczas wykonywania przez \fBbash\fP
skryptu, to jego wartość interpretowana jest jako nazwa pliku zawierającego
polecenia do zainicjowania powłoki, jak w \fI~/.bashrc\fP.  Wartość
.SM
\fBBASH_ENV\fP podlega interpretacji parametrów, podstawianiu wyników poleceń i
interpretacjom wyrażeń arytmetycznych przed interpretacją jej jako nazwy
pliku.  Zmienna
.SM
\fBPATH\fP nie jest używana do znalezienia pliku o
powstałej w ten sposób nazwie.
.TP 
\fBBASH_XTRACEFD\fP
Jeśli ustawiono liczbę całkowitą odpowiadającą poprawnemu deskryptorowi
pliku, to \fBbash\fP zapisze wyjście stosu wygenerowane gdy
.if  t \f(CWset -x\fP
.if  n \fIset -x\fP
jest włączone do tego deskryptora pliku. Deskryptor pliku jest zamykany gdy
.SM
\fBBASH_XTRACEFD\fP jest usuwana lub przy przypisaniu nowej
wartości. Usunięcie
.SM
\fBBASH_XTRACEFD\fP lub przypisanie jej łańcucha
pustego powoduje wysłanie stosu na standardowe wyjście błędów. Proszę
zauważyć, że ustawienie
.SM
\fBBASH_XTRACEFD\fP na 2 (deskryptor pliku
wyjścia błędów), a następnie usunięcie jej spowoduje zamknięcie
standardowego wyjścia błędów.
.TP 
\fBCDPATH\fP
Ścieżka wyszukiwania dla polecenia \fBcd\fP.  Jest to lista rozdzielonych
dwukropkami katalogów, w których powłoka szuka katalogów docelowych podanych
przez polecenie \fBcd\fP.  Przykładową wartością jest
.if  t \f(CW".:~:/usr"\fP.
.if  n ".:~:/usr".
.TP 
\fBCHILD_MAX\fP
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.
.TP 
\fBCOLUMNS\fP
Używana przez polecenie wbudowane \fBselect\fP do wyznaczenia szerokości
terminala przy wypisywaniu list wyboru. Ustawiana automatycznie, gdy
włączono opcję \fBcheckwinsize\fP oraz w powłoce interaktywnej po otrzymaniu
.SM
\fBSIGWINCH\fP.
.TP 
\fBCOMPREPLY\fP
Zmienna tablicowa, z której \fBbash\fP czyta możliwe uzupełnienia tworzone
przez funkcję powłoki wywołaną przez usługę programowalnego uzupełniania
(zobacz poniżej \fBProgramowalne uzupełnianie\fP). Każdy element tablicy
zawiera jedno możliwe uzupełnienie.
.TP 
\fBEMACS\fP
Gdy \fBbash\fP znajdzie opisywaną zmienną w środowisku podczas uruchamiania
powłoki, z wartością ustawioną na
.if  t \f(CWt\fP,
.if  n "t",
to przyjmuje, że powłoka działa w buforze powłoki Emacsa i wyłącza edycję
wiersza.
.TP 
\fBENV\fP
Rozwijane i wykonywane podobnie do
.SM
\fBBASH_ENV\fP (zob. \fBINVOCATION\fP
powyżej), gdy powłoka interaktywna jest wywołana w \fItrybie posix\fP.
.TP 
\fBEXECIGNORE\fP
Lista oddzielonych dwukropkami wzorców powłoki (zob. \fBDopasowanie wzorca\fP)
definiujących listę nazw plików ignorowanych przy szukaniu poleceń za
pomocą \fBPATH\fP. 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 \fBPATH\fP. Nie wpływa to na zachowanie poleceń \fB[\fP, \fBtest\fP
oraz \fB[[\fP. Pełne ścieżki w liście skrótów poleceń nie są przedmiotem
\fBEXECIGNORE\fP. 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
\fBextglob\fP.
.TP 
\fBFCEDIT\fP
Domyślny edytor dla wbudowanego polecenia \fBfc\fP.
.TP 
\fBFIGNORE\fP
Lista rozdzielonych dwukropkami przyrostków, jakie mają być ignorowane
podczas uzupełniania nazw plików (zobacz
.SM
\fBREADLINE\fP poniżej).  Nazwa
pliku o przyrostku pasującym do jednej z pozycji
.SM
\fBFIGNORE\fP wyłączana
jest z listy dopasowanych nazw plików.  Przykładową wartością jest
.if  t \f(CW".o:~"\fP.
.if  n ".o:~"
(cytowanie jest niezbędne przy przypisywaniu do tej zmiennej wartości
zawierającej tyldy).
.TP 
\fBFUNCNEST\fP
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.
.TP 
\fBGLOBIGNORE\fP
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
.SM
\fBGLOBIGNORE\fP, to jest on usuwany z listy dopasowanych.
.TP 
\fBHISTCONTROL\fP
Lista rozdzielonych dwukropkami wartości, określającymi sposób zapisywania w
liście historii. Jeżeli posiada wartość \fIignorespace\fP, to wiersze
rozpoczynające się od znaku \fBspacji\fP nie są wprowadzane do listy
historii. Jeśli posiada wartość \fIignoredups\fP, to wiersze pasujące do
ostatniego wiersza historii nie są wprowadzane. Wartość \fIignoreboth\fP łączy
obie te możliwości. Wartość \fIerasedups\fP 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 \fBHISTIGNORE\fP. Drugi i kolejne
wiersze złożonego polecenia wielowierszowego nie są sprawdzane i są dodawane
do historii bez względu na wartość
.SM
\fBHISTCONTROL\fP.
.TP 
\fBHISTFILE\fP
Nazwa pliku, w którym zachowywana jest historia poleceń (zobacz
.SM
\fBHISTORIA\fP poniżej).  Wartością domyślną jest \fI~/.bash_history\fP. Jeśli
ustawienie tej zmiennej zostanie skasowane, to historia poleceń nie będzie
zachowana po zakończeniu pracy powłoki.
.TP 
\fBHISTFILESIZE\fP
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
\fBHISTSIZE\fP po odczytaniu plików początkowych powłoki.
.TP 
\fBHISTIGNORE\fP
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 `\fB*\fP'). Każdy z wzorców sprawdzany jest z
bieżącym wierszem po wykonaniu kontroli określonych przez
.SM
\fBHISTCONTROL\fP.  Oprócz zwykłych znaków dopasowywania wzorców używanych
przez powłokę, `\fB&\fP' dopasowuje poprzedni wiersz historii. Literał `\fB&\fP'
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ść \fBHISTIGNORE\fP. Dopasowanie wzorców honoruje ustawienia opcji powłoki
\fBextglob\fP.
.TP 
\fBHISTSIZE\fP
Liczba poleceń do zapamiętania w historii poleceń (zob.
.SM
\fBHISTORIA\fP
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.
.TP 
\fBHISTTIMEFORMAT\fP
Gdy ta zmienna jest ustawiona i nie jest pusta, jej wartość jest użyta jak
format łańcucha do \fIstrftime\fP(3), w celu wyświetlenia pieczątki czasowej
związanej z każdym wpisem historii, wyświetlanym przez wbudowane polecenie
\fBhistory\fP. 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.
.TP 
\fBHOME\fP
Katalog domowy bieżącego użytkownika; domyślny argument wbudowanego
polecenia \fBcd\fP. Wartość tej zmiennej wykorzystywana jest też przy
wykonywaniu interpretacji tyld.
.TP 
\fBHOSTFILE\fP
Zawiera nazwę pliku o tym samym formacie co
.FN /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 \fBbash\fP dodaje
zawartość nowego pliku do już istniejącej listy.  Jeżeli
.SM
\fBHOSTFILE\fP
jest ustawione, ale nie posiada wartości, \fBbash\fP usiłuje uzyskać listę
możliwych uzupełnień nazw hostów czytając
.FN /etc/hosts
Gdy
.SM
\fBHOSTFILE\fP jest unieważniane, lista hostów jest czyszczona.
.TP 
\fBIFS\fP
Wewnętrzny Separator Pól (\fIInternal Field Separator\fP) używany do podziału
na słowa po interpretacjach i dzieleniu wierszy na słowa we wbudowanym
poleceniu \fBread\fP.  Jego domyślną wartością jest
,,<spacja><tabulacja><nowalinia>\*(rq.
.TP 
\fBIGNOREEOF\fP
Steruje działaniem powłoki interaktywnej przy otrzymaniu przez nią znaku
.SM
\fBEOF\fP jako jedynego znaku wejścia. Jeżeli jest ustawiona, to jej
wartość jest liczbą kolejnych znaków
.SM
\fBEOF\fP jakie muszą być wpisane
jako pierwsze znaki wiersza wprowadzania przed zakończeniem pracy przez
\fBbash\fP.  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
.SM
\fBEOF\fP wskazuje powłoce koniec wprowadzanych danych.
.TP 
\fBINPUTRC\fP
Nazwa pliku startowego dla \fBreadline\fP, unieważniająca domyślny plik
.FN ~/.inputrc
(zobacz
.SM
\fBREADLINE\fP poniżej).
.TP 
\fBINSIDE_EMACS\fP
Jeśli zmienna ta pojawi się w środowisko przy uruchomieniu powłoki, \fBbash\fP
przyjmuje że działa wewnątrz bufora powłoki Emacs i może wyłączyć edycję
wiersza, w zależności od wartości \fBTERM\fP.
.TP 
\fBLANG\fP
Służy do wyznaczania kategorii locale dla wszystkich kategorii nie
wyszczególnionych przez zmienne rozpoczynające się od znaków \fBLC_\fP.
.TP 
\fBLC_ALL\fP
Zmienna ta unieważnia wartość
.SM
\fBLANG\fP i wszelkich innych zmiennych
\fBLC_\fP określających kategorie locale.
.TP 
\fBLC_COLLATE\fP
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.
.TP 
\fBLC_CTYPE\fP
Ta zmienna decyduje o interpretacji znaków i zachowaniu się klas znaków
wewnątrz rozwijania nazw plików i dopasowywania wzorców.
.TP 
\fBLC_MESSAGES\fP
Ta zmienna decyduje o ustawieniu locale używanym do tłumaczenia ujętych w
cudzysłowy łańcuchów poprzedzonych znakiem \fB$\fP.
.TP 
\fBLC_NUMERIC\fP
Ta zmienna określa kategorię locale używaną do formatowania liczb.
.TP 
\fBLC_TIME\fP
Ta zmienna określa kategorię locale używaną do formatowania daty i czasu.
.TP 
\fBLINES\fP
Używana przez polecenie wbudowane \fBselect\fP do wyznaczenia długości kolumn
przy wypisywaniu list wyboru.  Ustawiana automatycznie gdy włączono opcję
\fBcheckwinsize\fP oraz w powłoce interaktywnej po otrzymaniu po otrzymaniu
.SM
\fBSIGWINCH\fP.
.TP 
\fBMAIL\fP
Jeżeli parametrowi temu jest przypisana nazwa pliku, a nie jest ustawiona
zmienna
.SM
\fBMAILPATH\fP, to \fBbash\fP informuje użytkownika o nadejściu
poczty do podanego pliku lub katalogu w formacie Maildir.
.TP 
\fBMAILCHECK\fP
Określa jak często (w sekundach) \fBbash\fP 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.
.TP 
\fBMAILPATH\fP
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, \fB$_\fP interpretowane
jest jako nazwa bieżącego pliku pocztowego.  Przykład:
.RS
.PP
\fBMAILPATH\fP=\(aq/var/mail/bfox?"You have mail":~/shell\-mail?"$_ has
mail!"\(aq
.PP
\fBBash\fP 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/\fB$USER\fP).
.RE
.TP 
\fBOPTERR\fP
Jeżeli ustawiono na wartość 1, \fBbash\fP wyświetla komunikaty o błędach
generowanych przez wbudowane polecenie \fBgetopts\fP (zobacz
.SM
\fBWBUDOWANE\fP \fBPOLECENIA\fP \fBPOWŁOKI\fP poniżej).
.SM
\fBOPTERR\fP inicjowane
jest na 1 każdorazowo, gdy wywoływana jest powłoka lub wykonywany jest
skrypt powłoki.
.TP 
\fBPATH\fP
Ścieżka wyszukiwania poleceń. Jest to lista rozdzielanych dwukropkami
katalogów, w których powłoka szuka poleceń (zobacz
.SM
\fBWYKONYWANIE\fP
\fBPOLECEŃ\fP 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 \fBbash\fP.  Powszechną
wartością jest
.na
.if  t \f(CW/usr/local/bin:\:/usr/local/sbin:\:/usr/bin:\:/usr/sbin:\:/bin:\:/sbin\fP.
.if  n ``/usr/local/bin:\:/usr/local/sbin:\:/usr/bin:\:/usr/sbin:\:/bin:\:/sbin''.
.ad
.TP 
\fBPOSIXLY_CORRECT\fP
Jeśli podczas uruchamiania \fBbash\fP w środowisku istnieje ta zmienna, to
powłoka przed odczytem plików startowych wchodzi w \fItryb posix\fP, tak jakby
przy jej wywołaniu podano opcję \fB\-\-posix\fP.  Jeśli zmienna ta zostanie
ustawiona podczas pracy powłoki, to \fBbash\fP włącza \fItryb posix\fP, tak jakby
zostało wykonane polecenie
.if  t \f(CWset -o posix\fP
.if  n \fIset -o posix\fP
Gdy powłoka wchodzi w \fItryb posix\fP, ustawia tę zmienną, jeśli nie była ona
jeszcze ustawiona.
.TP 
\fBPROMPT_COMMAND\fP
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.
.TP 
\fBPROMPT_DIRTRIM\fP
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 \fB\ew\fP i \fB\eW\fP
(patrz poniżej
.SM
\fBZACHĘTA POWŁOKI\fP). Usuwane znaki są zastępowane
wielokropkiem.
.TP 
\fBPS0\fP
Wartość tego parametru jest interpretowana (zobacz poniżej
.SM
\fBZACHĘTA\fP) i wyświetlana przez powłokę interaktywną po odczytaniu
polecenia, a przed jego wykonaniem.
.TP 
\fBPS1\fP
Wartość tego parametru jest interpretowana (zobacz poniżej
.SM
\fBZACHĘTA\fP)  i używana jako główny łańcuch zachęty. Jego wartością domyślną
jest "\fB\es\-\ev\e$ \fP".
.TP 
\fBPS2\fP
Wartość tego parametru jest interpretowana jak
.SM
\fBPS1\fP i używana jako
wtórny (secondary) łańcuch zachęty. Domyślnie jest to "\fB> \fP".
.TP 
\fBPS3\fP
Wartość tego parametru służy jako zachęta w poleceniu \fBselect\fP (zobacz
powyżej
.SM
\fBGRAMATYKA POWŁOKI\fP).
.TP 
\fBPS4\fP
Wartość tego parametru interpretowana jest jak
.SM
\fBPS1\fP i wypisywana
przed każdym poleceniem wyświetlanym przez \fBbash\fP podczas śledzenia
wykonywania. Pierwszy znak rozwiniętej wartości
.SM
\fBPS4\fP, w razie
potrzeby, powtarzany jest wielokrotnie, by wskazać wiele poziomów
zagnieżdżenia.  Domyślnie jest to "\fB+ \fP".
.TP 
\fBSHELL\fP
Zmienna ta jest rozwijana na pełną ścieżkę powłoki. Jeśli nie jest ustawiona
podczas uruchamiania powłoki, \fBbash\fP przypisuje jej wartość pełnej ścieżki
powłoki zgłoszeniowej bieżącego użytkownika.
.TP 
\fBTIMEFORMAT\fP
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 \fBtime\fP. Znak \fB%\fP 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.
.sp .5
.RS
.PD 0
.TP  10
\fB%%\fP
Dosłowny znak \fB%\fP.
.TP 
\fB%[\fP\fIp\fP\fB][l]R\fP
Czas, jaki upłynął, w sekundach.
.TP 
\fB%[\fP\fIp\fP\fB][l]U\fP
Liczba sekund, jakie CPU zużył w trybie użytkownika.
.TP 
\fB%[\fP\fIp\fP\fB][l]S\fP
Liczba sekund, jakie CPU zużył w trybie systemowym.
.TP 
\fB%P\fP
Procent wykorzystania CPU, liczony jako (%U + %S) / %R.
.PD
.RE
.IP
Opcjonalne \fIp\fP jest cyfrą określającą \fIdokładność\fP (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 \fIp\fP większe od 3
zmieniane są na 3.  Jeżeli nie podano \fIp\fP, to używana jest wartość 3.
.IP
Opcjonalne \fBl\fP określa dłuższy (longer) format wyników, zawierający minuty,
w postaci \fIMM\fPm\fISS\fP.\fIFF\fPs.  O tym, czy występuje ułamkowa część sekund
decyduje wartość \fIp\fP.
.IP
Jeżeli zmienna ta nie jest ustawiona, to \fBbash\fP działa tak, jakby miała ona
wartość \fB$\(aq\enreal\et%3lR\enuser\et%3lU\ensys\et%3lS\(aq\fP. 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.
.PD 0
.TP 
\fBTMOUT\fP
Jeśli ustawione na wartość większą od zera, to
.SM
\fBTMOUT\fP jest
interpretowane jako domyślny czas oczekiwania wbudowanego \fBread\fP. Polecenie
\fBselect\fP kończy się, jeśli dane nie zostaną wprowadzone po liczbie
.SM
\fBTMOUT\fP 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. \fBBash\fP kończy pracę po odczekaniu tego czasu
jeśli pełen wiersz danych nie pojawił się.
.TP 
\fBTMPDIR\fP
Jeśli jest ustawiona, \fBbash\fP używa jej wartości jako nazwy katalogu w
którym tworzy pliki tymczasowe do użytku powłoki.
.TP 
\fBauto_resume\fP
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.  \fINazwa\fP zatrzymanego zadania, w
tym kontekście, jest wierszem poleceń użytym do jego uruchomienia.  Jeśli
posiada wartość \fIexact\fP, to podany łańcuch musi pasować dokładnie do nazwy
zatrzymanego zadania; Jeśli jest ustawione na \fIsubstring\fP, to podany
łańcuch powinien pasować do podłańcucha nazwy zatrzymanego zadania.  Wartość
\fIsubstring\fP zapewnia funkcjonalność analogiczną do identyfikatora zadania
\fB%?\fP (zobacz
.SM
\fBSTEROWANIE ZADANIAMI\fP poniżej).  Jeśli ustawiono inną
wartość, to podany łańcuch musi być przedrostkiem nazwy zatrzymanego
zadania; zapewnia to funkcjonalność analogiczną do identyfikatora zadania
\fB%\fP.
.TP 
\fBhistchars\fP
Dwa lub trzy znaki sterujące interpretacją historii i podziałem na leksemy
(zobacz poniżej
.SM
\fBINTERPRETACJA HISTORII\fP).  Pierwszy znak jest
znakiem \fIinterpretacji historii\fP, sygnalizującym początek interpretacji
historii, zwykle `\fB!\fP'.  Drugi znak jest znakiem \fIszybkiego podstawiania\fP,
("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 `\fB^\fP'.  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 `\fB#\fP'. 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.
.PD
.SS Tablice
\fBBash\fP udostępnia indeksowane i asocjacyjne zmienne tablicowe
jednowymiarowe. Jako tablica może zostać użyta dowolna zmienna; wbudowane
\fBdeclare\fP 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.
.PP
Tablica indeksowana tworzona jest automatycznie jeśli wykonywane jest
przypisanie do jakiejś zmiennej przy pomocy składni
\fInazwa\fP[\fIwskaźnik\fP]=\fIwartość\fP.  \fIWskaźnik\fP tablicy traktowany jest jako
wyrażenie arytmetyczne, które musi po interpretacji dać liczbę. Chcąc jawnie
zadeklarować tablicę indeksowaną, użyj \fBdeclare \-a \fP\fInazwa\fP (zobacz
.SM
\fBWBUDOWANE\fP \fBPOLECENIA\fP \fBPOWŁOKI\fP poniżej).  \fBdeclare \-a \fP\fInazwa\fP\fB[\fP\fIwskaźnik\fP\fB]\fP jest również akceptowane; \fIwskaźnik\fP jest
wówczas ignorowany.
.PP
Tablice asocjacyjne są tworzone za pomocą konstrukcji \fBdeclare \-A \fP\fInazwa\fP.
.PP
Atrybuty mogą być podane do zmiennej tablicy przy użyciu \fBdeclare\fP i
\fBreadonly\fP. Każdy z atrybutów stosowany jest do wszystkich elementów
tablicy.
.PP
Arrays are assigned to using compound assignments of the form
\fIname\fP=\fB(\fPvalue\fI1\fP ... value\fIn\fP\fB)\fP, where each \fIvalue\fP may be of the
form [\fIsubscript\fP]=\fIstring\fP.  Indexed array assignments do not require
anything but \fIstring\fP.  Each \fIvalue\fP in the list is expanded using all the
shell expansions described below under
.SM
\fBEXPANSION\fP.  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.
.PP
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: \fIname\fP=\fB( \fP\fIkey1 value1 key2 value2\fP ...\fB)\fP.  These are treated
identically to \fIname\fP=\fB(\fP [\fIkey1\fP]=\fIvalue1\fP [\fIkey2\fP]=\fIvalue2\fP
\&...\fB)\fP.  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.
.PP
Składnia ta jest akceptowana także przy poleceniu wbudowanym
\fBdeclare\fP. Pojedyncze elementy tablicy można przypisać za pomocą składni
\fInazwa\fP[\fIwskaźnik\fP]=\fIwartość\fP wprowadzonej powyżej. Jeśli \fIwskaźnik\fP 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).
.PP
The += operator will append to an array variable when assigning using the
compound assignment syntax; see
.SM
\fBPARAMETERS\fP above.
.PP
Do elementu tablicy można odwoływać się używając
${\fInazwa\fP[\fIwskaźnik\fP]}. Nawiasy są wymagane, by uniknąć konfliktów z
rozwijaniem nazw plików. Jeśli \fIwskaźnikiem\fP jest \fB@\fP lub \fB*\fP, to
powyższe słowo interpretowane jest jako wszystkie elementy \fInazwy\fP.
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 ${\fInazwa\fP[*]} interpretowane jest jako
pojedyncze słowo o wartości wszystkich elementów tablicy rozdzielonych
pierwszym znakiem zmiennej specjalnej
.SM
\fBIFS\fP, zaś ${\fInazwa\fP[@]}
interpretuje każdy z elementów \fInazwa\fP jako odrębne słowo. Jeśli brak jest
elementów tablicy, to ${\fInazwa\fP[@]} 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 \fB*\fP i \fB@\fP (zobacz powyżej \fBParametry specjalne\fP).
${#\fInazwa\fP[\fIwskaźnik\fP]} interpretowane jest jako długość
${\fInazwa\fP[\fIwskaźnik\fP]}. Jeśli \fIwskaźnikiem\fP jest \fB*\fP lub \fB@\fP, to
interpretacją jest liczba elementów w tablicy. Jeśli \fIwskaźnik\fP 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).
.PP
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; \fBbash\fP utworzy tablicę jeśli będzie
to konieczne.
.PP
Zmienna tablicowa jest ustawiona, jeśli do wskaźnika przypisano
wartość. Łańcuch pusty jest poprawną wartością.
.PP
Można pozyskać zarówno Klucze (wskaźniki) tablicy jak i
wartości. ${\fB!\fP\fInazwa\fP[\fI@\fP]} i ${\fB!\fP\fInazwa\fP[\fI*\fP]} są interpretowane
jako wskaźniki przypisane do zmiennej \fInazwa\fP tablicy. expand to the
indices assigned in array variable \fIname\fP. Gdy zastosowany jest cudzysłów,
powłoka zachowuje się podobnie jak w przypadku interpretacji specjalnych
parametrów \fI@\fP i \fI*\fP w cudzysłowach.
.PP
The \fBunset\fP builtin is used to destroy arrays.  \fBunset\fP
\fIname\fP[\fIsubscript\fP] destroys the array element at index \fIsubscript\fP, 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.  \fBunset\fP \fIname\fP, where \fIname\fP is an
array, removes the entire array.  \fBunset\fP \fIname\fP[\fIsubscript\fP], where
\fIsubscript\fP is \fB*\fP or \fB@\fP, behaves differently depending on whether
\fIname\fP is an indexed or associative array.  If \fIname\fP is an associative
array, this unsets the element with subscript \fB*\fP or \fB@\fP.  If \fIname\fP is
an indexed array, unset removes all of the elements but does not remove the
array itself.
.PP
When using a variable name with a subscript as an argument to a command,
such as with \fBunset\fP, 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.
.PP
Każde z wbudowanych \fBdeclare\fP, \fBlocal\fP i \fBreadonly\fP akceptuje opcję \fB\-a\fP
do określania tablic indeksowanych i opcję \fB\-A\fP do określania tablic
asocjacyjnych. Jeśli podano obie opcje, to pierwszeństwo ma \fB\-A\fP. Polecenie
\fBread\fP akceptuje opcję \fB\-a\fP do przypisywania tablicy listy słów
przeczytanych ze standardowego wejścia.  \fBset\fP i \fBdeclare\fP wyświetlają
wartości tablicowe w sposób umożliwiający ponowne ich użycie w
przypisaniach.
.SH INTERPRETACJA
Interpretacja wykonywana jest na wierszu poleceń po jego podziale na słowa.
Istnieje siedem rodzajów wykonywanych interpretacji: \fIinterpretacja nawiasów\fP (brace expansion), \fIinterpretacja tyld\fP (tilde expansion),
\fIpodstawianie parametrów i interpretacja zmiennych\fP (parameter and variable
expansion), \fIpodstawienie wyników poleceń\fP (command substitution),
\fIinterpretacja wyrażeń arytmetycznych\fP (arithmetic expansion), \fIpodział na słowa\fP (word splitting)  i \fIrozwinięcie nazw plików\fP (pathname expansion).
.PP
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.
.PP
Na systemach potrafiących to obsłużyć, istnieje dodatkowa dostępna
interpretacja: \fIpodstawienie wyników procesów\fP (process substitution). Jest
to przeprowadzane w tym samym czasie, jak interpretacja tyld, parametrów,
zmiennych i wyrażeń arytmetycznych oraz poleceń.
.PP
Po przeprowadzeniu tych interpretacji znaki cytowania obecne w pierwotnym
słowie są usuwane, chyba że same zostały zacytowane (\fIusunięcie cytowań\fP).
.PP
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 "\fB$@\fP"
and "\fB${\fP\fIname\fP\fB[@]}\fP", and, in most cases, \fB$*\fP and \fB${\fP\fIname\fP\fB[*]}\fP
as explained above (see
.SM
\fBPARAMETERS\fP).
.SS "Interpretacja nawiasów"
\fIInterpretacja nawiasów\fP jest mechanizmem, przez który mogą być generowane
dowolne łańcuchy.  Mechanizm ten przypomina \fIrozwinięcia nazw plików\fP, ale
generowane nazwy plików nie muszą określać plików istniejących. Wzorce,
mające podlegać interpretacji nawiasów mają postać opcjonalnej \fIpreambuły\fP,
po której występują serie separowanych przecinkami łańcuchów pomiędzy parą
nawiasów klamrowych, po których następuje opcjonalny \fIdopisek\fP
(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.
.PP
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\fB{\fPd,c,b\fB}\fPe interpretowane jest jako "ade
ace abe".
.PP
Sekwencja wyrażeń przyjmuje postać \fB{\fP\fIx\fP\fB..\fP\fIy\fP\fB[..\fP\fIkrok\fP\fB]}\fP,
gdzie \fIx\fP i \fIy\fP są albo liczbami całkowitymi, albo pojedynczymi literami,
a opcjonalny \fIkrok\fP jest liczbą całkowitą. Gdy podane są liczby całkowite,
to wyrażenie jest rozwijane do wszystkich liczb pomiędzy \fIx\fP i \fIy\fP
(włącznie). Podane liczby mogą być poprzedzone \fI0\fP, które wymusza
identyczną szerokość każdej z wynikowych liczb. Gdy \fIx\fP lub \fIy\fP 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 \fIx\fP a \fIy\fP
(włącznie). Proszę odnotować, że \fIx\fP i \fIy\fP 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.
.PP
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. \fBBash\fP nie stosuje żadnej interpretacji
składniowej do kontekstu interpretacji czy tekstu pomiędzy nawiasami.
.PP
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.  \fB{\fP lub \fB,\fP 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 \fB${\fP nie jest
traktowany jako podlegający interpretacji nawiasów oraz wyłącza
interpretację nawiasów do zamknięcia znakiem \fB}\fP.
.PP
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.:
.RS
.PP
mkdir /usr/local/src/bash/{old,new,dist,bugs}
.RE
lub
.RS
chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}
.RE
.PP
Interpretacja nawiasów wprowadza niewielką niezgodność z historycznymi
wersjami \fBsh\fP.  \fBsh\fP 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 \fBbash\fP konsekwencją interpretacji nawiasów jest usuwanie
nawiasów ze słów.  Na przykład, słowo wprowadzone do \fBsh\fP jako \fIplik{1,2}\fP
pojawi się w identycznej postaci na wyjściu. To samo słowo po interpretacji
przez \fBbash\fP daje \fIplik1 plik2\fP.  Jeżeli pożądana jest ścisła zgodność z
\fBsh\fP, uruchom \fBbash\fP z opcją \fB+B\fP lub wyłącz interpretację nawiasów przy
pomocy opcji \fB+B\fP polecenia \fBset\fP (zobacz
.SM
\fBWBUDOWANE\fP \fBPOLECENIA\fP
\fBPOWŁOKI\fP poniżej).
.SS "Interpretacja tyldy"
Jeżeli słowo rozpoczyna się niecytowanym znakiem tyldy (`\fB~\fP'), to
wszystkie znaki poprzedzające pierwszy niecytowany ukośnik (lub wszystkie
znaki, gdy nie ma ukośnika) uważane są za \fIprzedrostek tyldy\fP
(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 \fInazwa logowania\fP (login name).  Jeśli ta nazwa logowania jest
łańcuchem pustym, to tylda zastępowana jest wartością parametru powłoki
.SM
\fBHOME\fP.  Jeżeli
.SM
\fBHOME\fP 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.
.PP
Jeśli przedrostkiem tyldy jest `~+', to jest on zastępowany wartością
zmiennej
.SM
\fBPWD\fPpowłoki.  Jeśli przedrostkiem tyldy jest `~\-', to jest
on zastępowany wartością zmiennej powłoki
.SM
\fBOLDPWD\fP, jeśli jest ona
ustawiona.  Jeżeli występujące w przedrostku po tyldzie znaki składają się z
liczby \fIN\fP, opcjonalnie poprzedzonej przez `+' lub `\-', to przedrostek
tyldy zastępowany jest odpowiednim elementem stosu katalogów, jaki zostałby
wyświetlony przez wbudowane \fBdirs\fP, 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 `+'.
.PP
Jeśli nazwa logowania jest nieprawidłowa lub interpretacja tyldy nie
powiodła się, to słowo z tyldą pozostaje niezmienione.
.PP
Każde z przypisań do zmiennej sprawdzane jest na obecność niecytowanych
przedrostków tyldy występujących bezpośrednio po \fB:\fP lub \fB=\fP.  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
.SM
\fBPATH\fP,
.SM
\fBMAILPATH\fP i
.SM
\fBCDPATH\fP, a powłoka przypisze
zinterpretowaną wartość.
.PP
Bash also performs tilde expansion on words satisfying the conditions of
variable assignments (as described above under
.SM
\fBPARAMETERS\fP)  when
they appear as arguments to simple commands.  Bash does not do this, except
for the \fIdeclaration\fP commands listed above, when in \fIposix mode\fP.
.SS "Podstawianie parametrów"
Znak `\fB$\fP' 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.
.PP
Gdy używane są nawiasy, pasującym nawiasem kończącym jest pierwszy `\fB}\fP',
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.
.PP
.PD 0
.TP 
${\fIparametr\fP}
Podstawiana jest wartość \fIparametru\fP. Nawiasy wymagane są gdy \fIparametr\fP
jest parametrem pozycyjnym o więcej niż jednej cyfrze, lub gdy po
\fIparametrze\fP występuje znak, który nie powinien być interpretowany jako
część jego nazwy. \fIParametr\fP jest parametrem powłoki opisanych powyżej
\fBPARAMETRY\fP lub odniesieniem do tablicy (\fBTablice\fP).
.PD
.PP
If the first character of \fIparameter\fP is an exclamation point (\fB!\fP), and
\fIparameter\fP is not a \fInameref\fP, it introduces a level of indirection.
\fBBash\fP uses the value formed by expanding the rest of \fIparameter\fP as the
new \fIparameter\fP; this is then expanded and that value is used in the rest
of the expansion, rather than the expansion of the original \fIparameter\fP.
This is known as \fIindirect expansion\fP.  The value is subject to tilde
expansion, parameter expansion, command substitution, and arithmetic
expansion.  If \fIparameter\fP is a nameref, this expands to the name of the
parameter referenced by \fIparameter\fP instead of performing the complete
indirect expansion.  The exceptions to this are the expansions of
${\fB!\fP\fIprefix\fP\fB*\fP} and ${\fB!\fP\fIname\fP[\fI@\fP]} described below.  The
exclamation point must immediately follow the left brace in order to
introduce indirection.
.PP
W każdym z poniższych przypadków, \fIsłowo\fP podlega interpretacji tyldy,
podstawianiu parametrów, podstawianiu wyników poleceń i interpretacji
wyrażeń arytmetycznych.
.PP
Gdy nie przeprowadza interpretacji podłańcuchów, za pomocą opisanych poniżej
formuł (np. \fB:\-\fP) \fBbash\fP sprawdza czy parametr nie jest pusty lub
nieustawiony. Pominięcie dwukropka skutkuje sprawdzeniem jedynie tego, czy
parametr nie jest nieustawiony.
.PP
.PD 0
.TP 
${\fIparametr\fP\fB:\-\fP\fIsłowo\fP}
\fBUżywa wartości domyślnych\fP. Jeżeli \fIparametr\fP jest nieustawiony lub
pusty, to podstawiane jest zinterpretowane \fIsłowo\fP.  W przeciwnym razie,
podstawiana jest wartość \fIparametru\fP.
.TP 
${\fIparametr\fP\fB:=\fP\fIsłowo\fP}
\fBPrzypisuje wartości domyślne\fP.  Jeżeli \fIparametr\fP jest nieustawiony lub
pusty, to jest mu przypisywane zinterpretowane \fIsłowo\fP.  Następnie
podstawiana jest wartość \fIparametru\fP.  Nie można w ten sposób przypisywać
wartości parametrom pozycyjnym ani parametrom specjalnym.
.TP 
${\fIparametr\fP\fB:?\fP\fIsłowo\fP}
\fBWyświetla błąd jeśli pusty lub nieustawiony\fP.  Jeżeli \fIparametr\fP jest
nieustawiony lub pusty, to na standardowe wyjście błędów zapisywane jest
zinterpretowane \fIsłowo\fP (lub komunikat o takim wyniku, jeśli brak
\fIsłowa\fP).  Jeśli powłoka nie jest interaktywna, to kończy pracę.  W
przeciwnym wypadku, podstawiana jest wartość \fIparametru\fP.
.TP 
${\fIparametr\fP\fB:+\fP\fIsłowo\fP}
\fBUżywa wartości alternatywnej\fP.  Jeżeli \fIparametr\fP jest nieustawiony lub
pusty, to nic nie jest podstawiane, w przeciwnym razie podstawiane jest
zinterpretowane \fIsłowo\fP.
.TP 
${\fIparametr\fP\fB:\fP\fIprzesunięcie\fP}
.PD 0
.TP 
${\fIparametr\fP\fB:\fP\fIprzesunięcie\fP\fB:\fP\fIdługość\fP}
.PD
\fBInterpretacja podłańcuchów\fP. Interpretuje do \fIdługości\fP znaków wartości
\fIparametru\fP, poczynając od znaku określonego \fIprzesunięciem\fP. Jeśli
\fIparametrem\fP jest \fB@\fP lub \fB*\fP, tablica indeksowana ze wskaźnikiem \fB@\fP
lub \fB*\fP lub nazwa tablicy asocjacyjnej, wynik różni się, zgodnie z
poniższym opisem. Jeśli nie poda się \fIdługości\fP, to interpretuje podłańcuch
wartości \fIparametru\fP poczynając od znaku określonego \fIprzesunięciem\fP i
kończąc z końcem wartości. \fIDługość\fP i \fIprzesunięcie\fP są wyrażeniami
arytmetycznymi (zob.
.SM
\fBOBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH\fP poniżej).
.sp 1
Jeśli \fIprzesunięcie\fP wyniesie mniej niż zero, wartość jest używana jako
przesunięcie w znakach od końca wartości \fIparametru\fP. Jeśli \fIdługość\fP
wyniesie mniej niż zero, jest interpretowana jako przesunięcie w znakach od
końca wartości \fIparametru\fP, a nie jako liczba znaków, a interpretacja
będzie dotyczyć znaków pomiędzy \fIprzesunięciem\fP i tym wynikiem. Proszę
zauważyć, że ujemne przesunięcie musi być oddzielone od dwukropka
przynajmniej jedną spacją aby zapobiec pomyleniu z wyrażeniem \fB:\-\fP.
.sp 1
Jeśli \fIparametrem\fP jest \fB@\fP lub \fB*\fP, to wynikiem jest \fIdługość\fP
parametrów pozycyjnych poczynając od \fIprzesunięcia\fP. Ujemne \fIprzesunięcie\fP
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 \fIdługość\fP będzie mniejsza od zera wystąpi błąd
interpretacji.
.sp 1
Jeśli \fIparametr\fP jest nazwą tablicy indeksowanej z wskaźnikiem @ lub *, to
wynikiem jest \fIdługość\fP elementów tablicy poczynając od
${\fIparametr\fP[\fIprzesunięcie\fP]}. Jeśli \fIwskaźnik\fP da po interpretacji
liczbę mniejszą od zera, to jest używany jako przesunięcie od maksymalnego
indeksu tablicy plus jeden. Jeśli \fIdługość\fP będzie mniejsza od zera wystąpi
błąd interpretacji.
.sp 1
Interpretacja podłańcucha zastosowana do tablicy asocjacyjnej da w wyniku
niezdefiniowany rezultat.
.sp 1
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 \fIprzesunięcie\fP
wyniesie 0 i użyje się parametrów pozycyjnych, do listy włącza się na
początku \fB$0\fP.
.TP 
${\fB!\fP\fIprzedrostek\fP\fB*\fP}
.PD 0
.TP 
${\fB!\fP\fIprzedrostek\fP\fB@\fP}
.PD
\fBNazywa pasujący przedrostek\fP. Rozwija się w listę nazw tych zmiennych,
których nazwy rozpoczynają się od \fIprzedrostka\fP, rozdzielonych od siebie
pierwszym znakiem zmiennej specjalnej
.SM
\fBIFS\fP. Jeśli używane jest
\fI@\fP, a interpretacja jest ujęta w cudzysłowy, to każda nazwa zmiennej jest
interpretowana jako oddzielne słowo.
.TP 
${\fB!\fP\fInazwa\fP[\fI@\fP]}
.PD 0
.TP 
${\fB!\fP\fInazwa\fP[\fI*\fP]}
.PD
\fBLista kluczy z tablicy\fP. Jeśli \fInazwa\fP jest zmienną tablicową, jest
rozwijana do listy wskaźników (kluczy) tablicowych przypisanych do
\fInazwy\fP. Jeśli \fInazwa\fP nie jest tablicą, interpretowana jest do 0, jeśli
\fInazwa\fP jest ustawiona lub pozostaje pusta w przeciwnym wypadku. Gdy
używane jest \fI!\fP, a interpretacja jest ujęta w cudzysłowy, każdy klucz jest
rozwijany do oddzielnego słowa.
.TP 
${\fB#\fP\fIparametr\fP}
\fBDługość parametru\fP. Podstawiana jest długość, w znakach, wartości
\fIparametru\fP.  Jeżeli \fIparametrem\fP jest \fB*\fP lub \fB@\fP, wartość podstawiana
jest liczbą parametrów pozycyjnych.  Jeżeli \fIparametr\fP jest nazwą tablicy o
indeksowanej przez \fB*\fP lub \fB@\fP, wartość podstawiana jest liczbą elementów
tablicy.
.TP 
${\fIparametr\fP\fB#\fP\fIsłowo\fP}
.PD 0
.TP 
${\fIparametr\fP\fB##\fP\fIsłowo\fP}
.PD
\fBRemove matching prefix pattern\fP.  The \fIword\fP is expanded to produce a
pattern just as in pathname expansion, and matched against the expanded
value of \fIparameter\fP using the rules described under \fBPattern Matching\fP
below.  If the pattern matches the beginning of the value of \fIparameter\fP,
then the result of the expansion is the expanded value of \fIparameter\fP with
the shortest matching pattern (the \*(lq\fB#\fP\*(rq case) or the longest matching
pattern (the \*(lq\fB##\fP\*(rq case) deleted.  If \fIparameter\fP is \fB@\fP or \fB*\fP, the
pattern removal operation is applied to each positional parameter in turn,
and the expansion is the resultant list.  If \fIparameter\fP is an array
variable subscripted with \fB@\fP or \fB*\fP, the pattern removal operation is
applied to each member of the array in turn, and the expansion is the
resultant list.
.TP 
${\fIparametr\fP\fB%\fP\fIsłowo\fP}
.PD 0
.TP 
${\fIparametr\fP\fB%%\fP\fIsłowo\fP}
.PD
\fBRemove matching suffix pattern\fP.  The \fIword\fP is expanded to produce a
pattern just as in pathname expansion, and matched against the expanded
value of \fIparameter\fP using the rules described under \fBPattern Matching\fP
below.  If the pattern matches a trailing portion of the expanded value of
\fIparameter\fP, then the result of the expansion is the expanded value of
\fIparameter\fP with the shortest matching pattern (the \*(lq\fB%\fP\*(rq case) or the
longest matching pattern (the \*(lq\fB%%\fP\*(rq case) deleted.  If \fIparameter\fP is
\fB@\fP or \fB*\fP, the pattern removal operation is applied to each positional
parameter in turn, and the expansion is the resultant list.  If \fIparameter\fP
is an array variable subscripted with \fB@\fP or \fB*\fP, the pattern removal
operation is applied to each member of the array in turn, and the expansion
is the resultant list.
.TP 
${\fIparametr\fP\fB/\fP\fIwzorzec\fP\fB/\fP\fIłańcuch\fP}
.PD 0
.TP 
${\fIparametr\fP\fB//\fP\fIwzorzec\fP\fB/\fP\fIłańcuch\fP}
.TP 
${\fIparametr\fP\fB/#\fP\fIwzorzec\fP\fB/\fP\fIłańcuch\fP}
.TP 
${\fIparametr\fP\fB/%\fP\fIwzorzec\fP\fB/\fP\fIłańcuch\fP}
.PD
\fBPattern substitution\fP.  The \fIpattern\fP is expanded to produce a pattern
just as in pathname expansion.  \fIParameter\fP is expanded and the longest
match of \fIpattern\fP against its value is replaced with \fIstring\fP.  \fIstring\fP
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 \fBPattern Matching\fP below.  In
the first form above, only the first match is replaced.  If there are two
slashes separating \fIparameter\fP and \fIpattern\fP (the second form above), all
matches of \fIpattern\fP are replaced with \fIstring\fP.  If \fIpattern\fP is
preceded by \fB#\fP (the third form above), it must match at the beginning of
the expanded value of \fIparameter\fP.  If \fIpattern\fP is preceded by \fB%\fP (the
fourth form above), it must match at the end of the expanded value of
\fIparameter\fP.  If the expansion of \fIstring\fP is null, matches of \fIpattern\fP
are deleted.  If \fIstring\fP is null, matches of \fIpattern\fP are deleted and
the \fB/\fP following \fIpattern\fP may be omitted.
.sp 1
If the \fBpatsub_replacement\fP shell option is enabled using \fBshopt\fP, any
unquoted instances of \fB&\fP in \fIstring\fP are replaced with the matching
portion of \fIpattern\fP.
.sp 1
Quoting any part of \fIstring\fP inhibits replacement in the expansion of the
quoted portion, including replacement strings stored in shell variables.
Backslash will escape \fB&\fP in \fIstring\fP; the backslash is removed in order
to permit a literal \fB&\fP in the replacement string.  Backslash can also be
used to escape a backslash; \fB\e\e\fP results in a literal backslash in the
replacement.  Users should take care if \fIstring\fP 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 \fB&\fP after expanding \fIstring\fP; shell
programmers should quote any occurrences of \fB&\fP they want to be taken
literally in the replacement and ensure any instances of \fB&\fP they want to
be replaced are unquoted.
.sp 1
If the \fBnocasematch\fP shell option is enabled, the match is performed
without regard to the case of alphabetic characters.  If \fIparameter\fP is
\fB@\fP or \fB*\fP, the substitution operation is applied to each positional
parameter in turn, and the expansion is the resultant list.  If \fIparameter\fP
is an array variable subscripted with \fB@\fP or \fB*\fP, the substitution
operation is applied to each member of the array in turn, and the expansion
is the resultant list.
.TP 
${\fIparametr\fP\fB^\fP\fIwzorzec\fP}
.PD 0
.TP 
${\fIparametr\fP\fB^^\fP\fIwzorzec\fP}
.TP 
${\fIparametr\fP\fB,\fP\fIwzorzec\fP}
.TP 
${\fIparametr\fP\fB,,\fP\fIwzorzec\fP}
.PD
\fBModyfikacja wielkości znaków\fP. Ta interpretacja modyfikuje wielkość
zawartych liter zgodnie z \fIparametrem\fP. \fIWzorzec\fP jest interpretowany w
taki sposób, jak czyni to rozwijanie nazw plików. Każdy znak w
interpretowanej wartości \fIparametru\fP jest sprawdzany ze \fIwzorcem\fP i jeśli
do niego pasuje, wielkość litery jest zmieniana. Wzorzec nie powinien
dopasowywać więcej niż jednego znaku. Operator \fB^\fP konwertuje małe litery
pasujące do \fIwzorca\fP na wielkie, operator \fB,\fP działa odwrotnie. \fB^^\fP i
\fB,,\fP konwertują każdy dopasowany znak interpretowanej wartości, natomiast
\fB^\fP i \fB,\fP konwertują jedynie jej pierwszy znak. Jeśli nie podano
\fIwzorca\fP, to przyjmuje się za niego \fB?\fP, co powoduje dopasowanie każdego
znaku. Jeśli \fIparametrem\fP jest \fB@\fP lub \fB*\fP, to operacja podstawiania
stosowana jest do każdego po kolei parametru pozycyjnego, zaś wynikiem
interpretacji jest powstała lista.  Jeśli \fIparametr\fP jest zmienną tablicową
indeksowaną przez \fB@\fP lub \fB*\fP, operacja podstawiania jest przeprowadzana
po kolei na każdym elemencie tablicy, zaś wynikiem interpretacji jest
powstała lista.
.TP 
${\fIparametr\fP\fB@\fP\fIoperator\fP}
\fBPrzekształcenie parametrów\fP. Ta interpretacja jest albo przekształceniem
wartości \fIparametrów\fP, albo informacji o samych \fIparametrach\fP, w
zależności od wartości \fIoperatora\fP. Każdy \fIoperator\fP jest pojedynczą
literą:
.sp 1
.RS
.PD 0
.TP 
\fBU\fP
Interpretacją jest łańcuch będący wartością \fIparametru\fP z małymi literami
zamienionymi na wielkie litery.
.TP 
\fBu\fP
Interpretacją jest łańcuch będący wartością \fIparametru\fP z pierwszym znakiem
zamienionym na wielką literę, jeśli jest to litera.
.TP 
\fBL\fP
Interpretacją jest łańcuch będący wartością \fIparametru\fP z wielkimi literami
zamienionymi na małe litery.
.TP 
\fBQ\fP
Interpretacją jest łańcuch będący wartością \fIparametru\fP cytowany w
formacie, jaki może być ponownie wykorzystany jako wejście powłoki.
.TP 
\fBE\fP
Interpretacją jest łańcuch będący wartością \fIparametru\fP z sekwencjami
ucieczki z ukośnikiem cytowanych za pomocą mechanizmu \fB$\(aq...\(aq\fP.
.TP 
\fBP\fP
Interpretacją jest łańcuch będący wartością \fIparametru\fP taką, jaką byłby
jako łańcuch zachęty (zob. poniżej \fBZACHĘTA\fP).
.TP 
\fBA\fP
Interpretacją jest łańcuch w postaci z jaką instrukcja przypisania lub
polecenie \fBdeclare\fP przy interpretacji odtworzyła by \fIparametr\fP z jego
atrybutami i wartością.
.TP 
\fBK\fP
Produces a possibly\-quoted version of the value of \fIparameter\fP, except that
it prints the values of indexed and associative arrays as a sequence of
quoted key\-value pairs (see \fBArrays\fP above).
.TP 
\fBa\fP
Interpretacją jest łańcuch składający się z wartości flag reprezentujących
atrybuty \fIparametru\fP.
.TP 
\fBk\fP
Like the K transformation, but expands the keys and values of indexed and
associative arrays to separate words after word splitting.
.PD
.PP
Jeżeli \fIparametrem\fP jest \fB@\fP lub \fB*\fP, to operacja stosowana jest do
każdego po kolei parametru pozycyjnego, zaś wynikiem interpretacji jest
powstała lista. Jeśli \fIparametr\fP jest zmienną tablicową indeksowaną przez
\fB@\fP lub \fB*\fP, to operacja jest przeprowadzana po kolei na każdym elemencie
tablicy, zaś wynikiem interpretacji jest powstała lista.
.sp 1
Na wyniku interpretacji jest przeprowadzany podział na słowa oraz
rozwinięcie nazw plików zgodnie z opisem poniżej.
.RE
.SS "Podstawianie wyników poleceń"
\fIPodstawianie wyników poleceń\fP (command substitution) pozwala na
zastępowanie nazwy polecenia wyjściem (wynikiem) z jego działania.  Posiada
dwie postaci:
.RS
.PP
\fB$(\fP\fIpolecenie\fP\|\fB)\fP
.RE
lub
.RS
\fB\`\fP\fIpolecenie\fP\fB\`\fP
.RE
.PP
\fBBash\fP wykonuje interpretację wykonując \fIpolecenie\fP 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 \fB$(cat \fP\fIplik\fP\fB)\fP można
zastąpić równoważnym, ale szybszym \fB$(< \fP\fIplik\fP\fB)\fP.
.PP
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 \fB$\fP, \fB`\fP lub \fB\e\fP.  Pierwszy
odwrotny apostrof (`) nie poprzedzony odwrotnym ukośnikiem kończy
podstawianie wyniku polecenia.  Podczas posługiwania się postacią
$(\^\fIpolecenie\fP\|), polecenie tworzą wszystkie znaki pomiędzy nawiasami;
żaden nie jest traktowany specjalnie.
.PP
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.
.PP
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.
.SS "Interpretacja wyrażeń arytmetycznych"
Interpretacja wyrażeń arytmetycznych pozwala na obliczanie wyrażeń
arytmetycznych i podstawianie wyniku. Format interpretacji arytmetycznej:
.RS
.PP
\fB$((\fP\fIwyrażenie\fP\fB))\fP
.RE
.PP
Stary format \fB$[\fP\fIwyrażenie\fP\fB]\fP jest przestarzały i zostanie usunięty w
przyszłych wersjach basha.
.PP
\fIwyrażenie\fP podlega takiej samej interpretacji, jak gdyby było ujęte w
podwójne cudzysłowy, ale cudzysłów wewnątrz nawiasów w \fIwyrażeniu\fP 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.
.PP
Interpretacja przeprowadzana jest zgodnie z zasadami podanymi poniżej w
sekcji
.SM
\fBOBLICZENIA ARYTMETYCZNE\fP.  Jeżeli \fIwyrażenie\fP jest
nieprawidłowe, \fBbash\fP wypisuje komunikat o niepowodzeniu i nie występuje
żadne podstawienie.
.SS "Podstawianie wyników procesów (Process substitution)"
\fIPodstawianie wyników procesów\fP pozwala na odnoszenie się do wejścia lub
wyjścia procesu za pomocą nazwy pliku. Przybiera ono postać
\fB<(\fP\fIlista\^\fP\fB)\fP lub \fB>(\fP\fIlista\^\fP\fB)\fP.  Proces \fIlista\fP
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ą \fB>(\fP\fIlista\^\fP\fB)\fP,
zapis do pliku będzie stanowić wejście dla \fIlisty\fP. Jeżeli posłużono się
postacią \fB<(\fP\fIlista\^\fP\fB)\fP, plik przekazany jako argument powinien
zostać odczytany w celu uzyskania wyjścia \fIlisty\fP. Podstawianie wyników
procesów jest obsługiwane w systemach wspierających potoki nazwane (\fIFIFO\fP)
lub metodę nazywania otwartych plików \fB/dev/fd\fP.
.PP
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.
.SS "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 \fIpodziału na słowa\fP.
.PP
Powłoka traktuje każdy znak
.SM
\fBIFS\fP jak separator i dzieli na słowa
wyniki innych interpretacji, używając ich jako separatorów pól. Jeżeli
.SM
\fBIFS\fP nie jest ustawione lub jego wartością jest dokładnie
\fB<spacja><tab><nowalinia>\fP, wartość domyślna, to
sekwencje składające się ze \fB<spacji>\fP, \fB<tabulatora>\fP i
\fB<nowejlinii>\fP 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
.SM
\fBIFS\fP, jeżeli nie znajduje się na początku lub końcu.  Jeżeli
.SM
\fBIFS\fP posiada wartość inną niż domyślna, to sekwencje białych znaków
\fBspacji\fP i \fBtabulacji\fP i \fIznaku nowego wiersza\fP są ignorowane na początku
i końcu słowa, dopóki biały znak występuje w wartości
.SM
\fBIFS\fP (biały
znak
.SM
\fBIFS\fP).  Inne znaki w
.SM
\fBIFS\fP nie będące białymi znakami
.SM
\fBIFS\fP, łącznie z dowolnymi przyległymi białymi znakami
.SM
\fBIFS\fP, ograniczają pole.  Sekwencja białych znaków
.SM
\fBIFS\fP jest
również traktowana jako ogranicznik.  Jeśli
.SM
\fBIFS\fP jest łańcuchem
pustym, to nie występuje podział na słowa.
.PP
Jawnie puste argumenty (\^\fB"\^"\fP lub \^\fB'\^'\fP\^) 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 \f(CW\-d\(aq\^\(aq\fP staje się \f(CW\-d\fP po
przeprowadzeniu podziału na słowa i usunięciu pustych argumentów.
.PP
Zauważ, że jeśli nie występuje interpretacja, to nie jest również wykonywany
podział.
.SS "Rozwijanie nazw plików (Pathname Expansion)"
After word splitting, unless the \fB\-f\fP option has been set, \fBbash\fP scans
each word for the characters \fB*\fP, \fB?\fP, and \fB[\fP.  If one of these
characters appears, and is not quoted, then the word is regarded as a
\fIpattern\fP, and replaced with an alphabetically sorted list of filenames
matching the pattern (see
.SM
\fBPattern Matching\fP below).  If no matching
filenames are found, and the shell option \fBnullglob\fP is not enabled, the
word is left unchanged.  If the \fBnullglob\fP option is set, and no matches
are found, the word is removed.  If the \fBfailglob\fP shell option is set, and
no matches are found, an error message is printed and the command is not
executed.  If the shell option \fBnocaseglob\fP 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 \fBLC_COLLATE.\fP When a
pattern is used for pathname expansion, the character \fB\*(lq.\*(rq\fP at the start
of a name or immediately following a slash must be matched explicitly,
unless the shell option \fBdotglob\fP is set.  In order to match the filenames
\fB\*(lq.\*(rq\fP and \fB\*(lq..\*(rq\fP, the pattern must begin with \*(lq.\*(rq (for example,
\*(lq.?\*(rq), even if \fBdotglob\fP is set.  If the \fBglobskipdots\fP shell option is
enabled, the filenames \fB\*(lq.\*(rq\fP and \fB\*(lq..\*(rq\fP are never matched, even if the
pattern begins with a \fB\*(lq.\*(rq\fP.  When not matching pathnames, the \fB\*(lq.\*(rq\fP
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
.SM
\fBPattern Matching\fP.  See the description of
\fBshopt\fP below under
.SM
\fBSHELL BUILTIN COMMANDS\fP for a description of
the \fBnocaseglob\fP, \fBnullglob\fP, \fBglobskipdots\fP, \fBfailglob\fP, and \fBdotglob\fP
shell options.
.PP
Do ograniczenia zestawu nazw plików pasujących do \fIwzorca\fP można
wykorzystać zmienną powłoki
.SM
\fBGLOBIGNORE\fP.  Jeżeli
.SM
\fBGLOBIGNORE\fP jest ustawione, każda z pasujących nazw plików pasująca
również do jednego ze wzorców w
.SM
\fBGLOBIGNORE\fP jest usuwana z listy
dopasowań. Jeśli ustawiona jest opcja \fBnocaseglob\fP, to dopasowanie do
wzorców w
.SM
\fBGLOBIGNORE\fP jest dokonywane bez względu na wielkość
znaków. Nazwy plików "\fB.\fP" i "\fB..\fP" są zawsze ignorowane, nawet gdy
.SM
\fBGLOBIGNORE\fP jest ustawione. Jednakże, ustawienie
.SM
\fBGLOBIGNORE\fP
skutkuje włączeniem opcji \fBdotglob\fP, 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ę "\fB.\fP", jednym ze wzorców w
.SM
\fBGLOBIGNORE\fP należy zrobić "\fB.*\fP". Opcja \fBdotglob\fP jest wyłączana,
gdy kasowane jest
.SM
\fBGLOBIGNORE\fP. Dopasowanie wzorców honoruje
ustawienia opcji powłoki \fBextglob\fP.
.PP
\fBDopasowanie wzorca\fP
.PP
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.
.PP
Specjalne znaki wzorca mają następujące znaczenie:
.PP
.PD 0
.RS
.TP 
\fB*\fP
Dopasowuje dowolny łańcuch, łącznie z łańcuchem pustym. Jeśli włączona jest
opcja \fBglobstar\fP powłoki, a \fB*\fP jest użyte w kontekście rozwijania nazw
plików, to dwa złączone znaki \fB*\fP 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 \fB*\fP wystąpi ukośnik \fB/\fP, to dopasowane będą wyłącznie
katalogi i podkatalogi.
.TP 
\fB?\fP
Dopasowuje dowolny pojedynczy znak.
.TP 
\fB[...]\fP
Dopasowuje jeden z ujętych w nawiasy kwadratowe znaków. Para znaków
rozdzielona myślnikiem opisuje \fIwyrażenie zakresu\fP; 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 \fB[\fP jest \fB!\fP lub
\fB^\fP, 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 \fBLC_COLLATE\fP, jeśli istnieje.  Znak \fB\-\fP można dopasować
włączając go jako pierwszy lub ostatni ze znaków zestawu.  Znak \fB]\fP można
dopasować włączając go jako pierwszy znak zestawu.
.br
.if  t .sp 0.5
.if  n .sp 1
Wewnątrz \fB[\fP i \fB]\fP, można podawać \fIklasy znaków\fP (character classes),
używając składni \fB[:\fP\fIklasa\fP\fB:]\fP, gdzie \fIklasa\fP jest jedną z poniższych
klas zdefiniowanych w standardzie POSIX:
.PP
.RS
.B
.if  n alnum alpha ascii blank cntrl digit graph lower print punct space upper word xdigit
.if  t alnum   alpha   ascii   blank   cntrl   digit   graph   lower   print   punct   space   upper   word   xdigit
.br
Klasa znaków dopasowuje dowolny znak należący do tej klasy. Klasa znaków
\fBword\fP dopasowuje litery, cyfry i znak podkreślenia "_".
.br
.if  t .sp 0.5
.if  n .sp 1
Wewnątrz \fB[\fP i \fB]\fP, można podać \fIklasę równoważności\fP, używając składni
\fB[=\fP\fIz\fP\fB=]\fP, która dopasowuje wszystkie znaki o tej samej wadze
sortowania (zdefiniowaną w bieżącym ustawieniu locale) co znak \fIz\fP.
.br
.if  t .sp 0.5
.if  n .sp 1
Wewnątrz \fB[\fP i \fB]\fP, składnia \fB[.\fP\fIsymbol\fP\fB.]\fP dopasowuje symbol
sortowania (collating symbol) \fIsymbol\fP.
.RE
.RE
.PD
.PP
Jeżeli przy pomocy wbudowanego \fBshopt\fP włączono opcję \fBextglob\fP, to
powłoka rozpoznaje kilka rozszerzonych operatorów dopasowania wzorców.  W
poniższym opisie, \fIlista\-wzorców\fP jest listą złożoną z jednego lub więcej
wzorców rozdzielonych znakiem \fB|\fP.  Wzorce złożone można konstruować przy
pomocy jednego lub więcej poniższych pod\-wzorców:
.sp 1
.PD 0
.RS
.TP 
\fB?(\fP\^\fIlista\-wzorców\^\fP\fB)\fP
Dopasowuje zero lub jedno wystąpienie zadanych wzorców
.TP 
\fB*(\fP\^\fIlista\-wzorców\^\fP\fB)\fP
Dopasowuje zero lub więcej wystąpień zadanych wzorców
.TP 
\fB+(\fP\^\fIlista\-wzorców\^\fP\fB)\fP
Dopasowuje jedno lub więcej wystąpień zadanych wzorców
.TP 
\fB@(\fP\^\fIlista\-wzorców\^\fP\fB)\fP
Dopasowuje jeden z zadanych wzorców
.TP 
\fB!(\fP\^\fIlista\-wzorców\^\fP\fB)\fP
Dopasowuje cokolwiek prócz jednego z zadanych wzorców
.RE
.PD
.PP
The\fBextglob\fP 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
\fBextglob\fP is enabled before parsing constructs containing the patterns,
including shell functions and command substitutions.
.PP
When matching filenames, the \fBdotglob\fP shell option determines the set of
filenames that are tested: when \fBdotglob\fP is enabled, the set of filenames
includes all files beginning with \*(lq.\*(rq, but \*(lq.\*(rq and \*(lq..\*(rq 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 \*(lq.\*(rq unless
the pattern or sub\-pattern begins with a \*(lq.\*(rq.  As above, \*(lq.\*(rq only has a
special meaning when matching filenames.
.PP
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.
.SS "Usunięcie cytowań"
Po poprzednich interpretacjach, wszystkie niecytowane wystąpienia znaków
\fB\e\fP, \fB\(aq\fP i \^\fB"\fP\^, które nie wynikły z jednej z powyższych
interpretacji, są usuwane.
.SH PRZEKIEROWANIE
Przed wykonaniem polecenia, jego wejście i wyjście mogą zostać
\fIprzekierowane\fP przy pomocy specjalnej notacji interpretowanej przez
powłokę. \fIPrzekierowania\fP 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 \fIpolecenia prostego\fP lub występować po \fIpoleceniu\fP. Przekierowania przetwarzane są w
kolejności występowania, od lewej do prawej.
.PP
Każde przekierowanie, które może być poprzedzone numerem deskryptora pliku,
może być w zamian poprzedzone słowem zapisanym następująco:
{\fInazwa\-zmiennej\fP}. 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 \fInazwy\-zmiennej\fP. Jeśli >&\- lub
<&\- jest poprzedzone {\fInazwą\-zmiennej\fP}, to wartość \fInazwy\-zmiennej\fP
definiuje deskryptor pliku przeznaczony do zamknięcia. Jeśli poda się
{\fInazwę\-zmiennej\fP}, 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
\fBvarredir_close\fP.
.PP
W poniższych opisach, jeśli pominięto deskryptor pliku, a pierwszym znakiem
operatora przekierowania jest \fB<\fP, przekierowanie dotyczy standardowego
wejścia (deskryptor pliku 0).  Jeżeli pierwszym znakiem operatora
przekierowania jest \fB>\fP, przekierowanie dotyczy standardowego wyjścia
(deskryptor pliku 1).
.PP
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 \fBbash\fP zgłosi błąd.
.PP
Zauważ, że kolejność przekierowań jest znacząca. Na przykład, polecenie
.RS
.PP
ls \fB>\fP dirlist 2\fB>&\fP1
.RE
.PP
kieruje zarówno standardowe wyjście jak i wyjście diagnostyczne (stderr)  do
pliku \fIdirlist\fP, podczas gdy polecenie
.RS
.PP
ls 2\fB>&\fP1 \fB>\fP dirlist
.RE
.PP
kieruje tylko standardowe wyjście do pliku \fIdirlist\fP, gdyż wyjście błędów
zostało zduplikowane jako standardowe wyjście przed przekierowaniem wyjścia
do \fIdirlist\fP.
.PP
\fBBash\fP 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 \fBbash\fP 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.
.RS
.PP
.PD 0
.TP 
\fB/dev/fd/\fP\fIfd\fP
Jeżeli \fIfd\fP jest poprawną liczbą całkowitą, to duplikowany jest deskryptor
pliku \fIfd\fP.
.TP 
\fB/dev/stdin\fP
Duplikowany jest deskryptor pliku 0.
.TP 
\fB/dev/stdout\fP
Duplikowany jest deskryptor pliku 1.
.TP 
\fB/dev/stderr\fP
Duplikowany jest deskryptor pliku 2.
.TP 
\fB/dev/tcp/\fP\fIhost\fP\fB/\fP\fIport\fP
Jeśli \fIhost\fP jest poprawną nazwą hosta lub adresem internetowym, a \fIport\fP
jest liczbą całkowitą określającą numer portu lub nazwą usługi, to \fBbash\fP
usiłuje otworzyć połączenie do odpowiedniego gniazda TCP.
.TP 
\fB/dev/udp/\fP\fIhost\fP\fB/\fP\fIport\fP
Jeśli \fIhost\fP jest poprawną nazwą hosta lub adresem internetowym, a \fIport\fP
jest liczbą całkowitą określającą numer portu lub nazwą usługi, to \fBbash\fP
usiłuje otworzyć połączenie do odpowiedniego gniazda UDP.
.PD
.RE
.PP
Nieudane otwarcie lub utworzenie pliku powoduje niepowodzenie
przekierowania.
.PP
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ę.
.PP
Proszę zauważyć, że wbudowane polecenie \fBexec\fP może tworzyć przekierowania
odnoszące się do bieżącej powłoki.
.SS "Przekierowanie wejścia"
Przekierowanie wejścia powoduje otwarcie do odczytu pliku, którego nazwa
wynika z interpretacji \fIsłowa\fP.  Odczyt będzie wykonywany z deskryptora
pliku \fIn\fP lub standardowego wejścia (zerowy deskryptor pliku) jeśli nie
podano \fIn\fP.
.PP
Ogólny format przekierowania wejścia:
.RS
.PP
[\fIn\fP]\fB<\fP\fIsłowo\fP
.RE
.SS "Przekierowanie wyjścia"
Przekierowanie wyjścia powoduje otwarcie do zapisu pliku, którego nazwa
wynika z interpretacji \fIsłowa\fP.  Zapis będzie wykonywany z deskryptora
pliku \fIn\fP lub standardowego wyjścia (deskryptor pliku 1) jeśli nie podano
\fIn\fP.  Jeżeli plik nie istnieje jest tworzony; jeżeli istnieje obcinany jest
do rozmiaru zerowego.
.PP
Ogólny format przekierowania wyjścia:
.RS
.PP
[\fIn\fP]\fB>\fP\fIsłowo\fP
.RE
.PP
Jeżeli operatorem przekierowania jest \fB>\fP, a została włączona opcja
\fBnoclobber\fP wbudowanego polecenia \fBset\fP, to przekierowanie nie powiedzie
się jeżeli plik o nazwie wynikającej z interpretacji \fIsłowa\fP istnieje i
jest zwykłym plikiem.  Jeżeli operatorem przekierowania jest \fB>|\fP, albo
operatorem jest \fB>\fP przy niewłączonej opcji \fBnoclobber\fP, to wykonywana
jest próba przekierowania, nawet jeśli plik \fIsłowo\fP istnieje.
.SS "Dołączanie przekierowanego wyjścia"
Przekierowanie wyjścia w ten sposób powoduje, że plik o nazwie wynikającej z
interpretacji \fIsłowa\fP zostanie otwarty do dołączania (append).  Dołączanie
będzie wykonywane z deskryptora pliku \fIn\fP lub standardowego wyjścia
(deskryptor pliku 1) jeśli nie podano \fIn\fP.  Jeżeli plik nie istnieje jest
tworzony.
.PP
Ogólny format dołączania wyjścia:
.RS
.PP
[\fIn\fP]\fB>>\fP\fIsłowo\fP
.RE
.SS "Przekierowanie standardowego wyjścia i wyjścia błędów"
\fBBash\fP 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 \fIsłowo\fP.
.PP
Istnieją dwie postaci takiego przekierowania:
.RS
.PP
\fB&>\fP\fIsłowo\fP
.RE
i
.RS
\fB>&\fP\fIsłowo\fP
.RE
.PP
Spośród nich, zalecaną jest pierwsza forma.  Jest ona semantycznie
równoważna
.RS
.PP
\fB>\fP\fIsłowo\fP 2\fB>&\fP1
.RE
.PP
Przy używaniu drugiej postaci, \fIsłowo\fP nie może zostać zinterpretowane jako
liczba ani \fB\-\fP. Jeśli tak się stanie, zadziała inny operator przekierowania
(zob. \fBPowielanie deskryptorów plików\fP poniżej) z powodu kompatybilności
wstecznej.
.SS "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 \fIsłowo\fP.
.PP
Format dołączania standardowego wyjścia i wyjścia błędów:
.RS
.PP
\fB&>>\fP\fIsłowo\fP
.RE
.PP
Jest to semantycznie równoważne
.RS
.PP
\fB>>\fP\fIsłowo\fP 2\fB>&\fP1
.RE
.PP
(zob. \fBPowielanie deskryptorów plików\fP poniżej).
.SS "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 \fIsłowo\fP (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 \fIn\fP, jeśli
podano \fIn\fP) polecenia.
.PP
Format dokumentów włączonych jest następujący:
.RS
.PP
.nf
[\fIn\fP]\fB<<\fP[\fB\-\fP]\fIsłowo\fP
        \fIdokument włączony\fP
\fIogranicznik\fP
.fi
.RE
.PP
Na \fIsłowie\fP 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ęść \fIsłowa\fP, to
\fIogranicznik\fP jest wynikiem usunięcia cytowań ze \fIsłowa\fP, a wiersze w
dokumencie włączonym nie są interpretowane.  Jeżeli \fIsłowo\fP nie jest
cytowane, wszystkie wiersze dokumentu włączonego podlegają interpretacji
parametrów, podstawianiu poleceń i interpretacji wyrażeń
arytmetycznych. Sekwencja \fB\e<nowalinia>\fP jest ignorowana, a do
cytowania znaków \fB\e\fP, \fB$\fP i \fB`\fP musi być użyte \fB\e\fP.
.PP
Jeżeli operatorem przekierowania jest \fB<<\-\fP, to wszystkie
początkowe znaki tabulacji są obcinane z wierszy wejściowych i wiersza
zawierającego \fIogranicznik\fP.  Pozwala to na ustawienie naturalnych wcięć
dla dokumentów włączonych w skryptach powłoki.
.SS "Łańcuchy włączone (Here Strings)"
Wariant dokumentów włączonych, którego format jest następujący:
.RS
.PP
.nf
[\fIn\fP]\fB<<<\fP\fIsłowo\fP
.fi
.RE
.PP
\fISłowo\fP 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 \fIn\fP, jeśli podano \fIn\fP).
.SS "Powielanie deskryptorów plików"
Operator przekierowania
.RS
.PP
[\fIn\fP]\fB<&\fP\fIsłowo\fP
.RE
.PP
służy do powielania deskryptorów plików wejściowych.  Jeżeli \fIsłowo\fP
zinterpretowane zostanie jako jedna lub więcej cyfr, to deskryptor pliku
oznaczony przez \fIn\fP czyniony jest kopią tego deskryptora.  Jeżeli cyfry w
\fIsłowie\fP nie określają otwartego dla wejścia deskryptora, pojawia się błąd
przekierowania.  Jeżeli \fIsłowo\fP zinterpretowane jest jako \fB\-\fP, deskryptor
pliku \fIn\fP jest zamykany. Jeżeli \fIn\fP nie zostało określone, to stosowane
jest standardowe wejście (deskryptor pliku 0).
.PP
Operator
.RS
.PP
[\fIn\fP]\fB>&\fP\fIsłowo\fP
.RE
.PP
podobnie, służy do powielania deskryptorów standardowego wyjścia.  Jeżeli
nie określono \fIn\fP, stosowane jest standardowe wyjście (deskryptor pliku
1). Jeżeli cyfry w \fIsłowie\fP nie określają deskryptora pliku otwartego do
wyjścia, pojawia się błąd przekierowania. Jeżeli słowo zostanie
zinterpretowane jako \fB\-\fP, deskryptor pliku \fIn\fP jest zamykany. W przypadku
specjalnym, jeżeli pominięto \fIn\fP, a \fIsłowo\fP nie jest interpretowane jako
jedna lub więcej cyfr lub \fB\-\fP, to przekierowywane są standardowe wyjście i
standardowe wyjście błędów, jak opisano poprzednio.
.SS "Przenoszenie deskryptorów plików"
Operator przekierowania
.RS
.PP
[\fIn\fP]\fB<&\fP\fIsłowo\fP\fB\-\fP
.RE
.PP
przenosi deskryptor pliku \fIsłowo\fP do deskryptora pliku \fIn\fP lub, jeśli nie
podano \fIn\fP, na standardowe wejście (deskryptor pliku 0). \fISłowo\fP jest
zamykane po zduplikowaniu do \fIn\fP.
.PP
Podobnie, operator przekierowania
.RS
.PP
[\fIn\fP]\fB>&\fP\fIsłowo\fP\fB\-\fP
.RE
.PP
przenosi deskryptor pliku \fIsłowo\fP do deskryptora pliku \fIn\fP lub, jeśli nie
podano \fIn\fP, na standardowe wyjście (deskryptor pliku 1).
.SS "Otwieranie deskryptorów plików do odczytu i zapisu"
Operator przekierowania
.RS
.PP
[\fIn\fP]\fB<>\fP\fIsłowo\fP
.RE
.PP
powoduje, że plik o nazwie wynikłej z interpretacji \fIsłowa\fP zostanie
otwarty do odczytu i zapisu.  Odczyt i zapis będą wykonywane z deskryptora
pliku \fIn\fP lub standardowego wejścia (deskryptor pliku 0) jeśli nie podano
\fIn\fP.  Jeżeli plik nie istnieje, to jest tworzony.
.SH ALIASY
\fBAliasy\fP (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ń \fBalias\fP i \fBunalias\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP).  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 \fB/\fP, \fB$\fP, \fB\`\fP i \fB=\fP i
wszystkie \fImetaznaki\fP 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 \fImetaznakami\fP 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 \fBls\fP do \fBls \-F\fP, na przykład, a \fBbash\fP nie będzie
usiłował rekurencyjnie interpretować zastępującego tekstu.  Jeżeli ostatnim
znakiem wartości aliasu jest \fIodstęp\fP, to następne słowo polecenia
występujące po aliasie ma również sprawdzaną interpretację aliasów.
.PP
Aliasy są tworzone i pokazywane poleceniem \fBalias\fP, a usuwane poleceniem
\fBunalias\fP.
.PP
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
.SM
\fBFUNKCJE\fP).
.PP
Aliasy nie są interpretowane, gdy powłoka nie jest interaktywna, chyba że
ustawiono opcję powłoki \fBexpand_aliases\fP przy pomocy \fBshopt\fP (zobacz opis
\fBshopt\fP w sekcji
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej).
.PP
Reguły dotyczące definiowania i używania aliasów są nieco zagmatwane.
\fBBash\fP 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 \fBalias\fP w poleceniach złożonych.
.PP
Prawie w każdym zastosowaniu aliasy są wyparte przez funkcje powłoki.
.SH FUNKCJE
Punkcja powłoki, zdefiniowana jak opisano powyżej, w sekcji
.SM
\fBGRAMATYKA POWŁOKI\fP, 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 \fB#\fP, tak by
odzwierciedlał zmianę. Parametr pozycyjny \fB0\fP nie jest zmieniany.  Zmienna
.SM
\fBFUNCNAME\fP podczas wykonywania funkcji ustawiana jest na jej nazwę.
.PP
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)
.SM
\fBDEBUG\fP i
.SM
\fBRETURN\fP (zobacz opis wbudowanego \fBtrap\fP poniżej, w
sekcji
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP) nie są dziedziczone, chyba że
funkcja ma podany atrybut \fBtrace\fP (patrz opis wbudowanego \fBdeclare\fP
poniżej) lub opcja powłoki \fB\-o functrace\fP została włączona wbudowanym
\fBset\fP (w takim przypadku wszystkie funkcje dziedziczą pułapki \fBDEBUG\fP i
\fBRETURN\fP). Pułapka
.SM
\fBERR\fP nie jest dziedziczona, chyba że włączono
opcję \fB\-o errtrace\fP powłoki.
.PP
Zmienne lokalne dla funkcji można zadeklarować poleceniem wbudowanym
\fBlocal\fP (\fIzmienne lokalne\fP). W innym przypadku zmienne i ich wartości są
dzielone pomiędzy funkcją i ją wywołującym. Jeśli zmienna jest zadeklarowana
jako \fBlocal\fP, to zmienna ma zakres widzialności ograniczony do tej funkcji
i jej potomków (w tym funkcji, które wywoła).
.PP
In the following description, the \fIcurrent scope\fP 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 \fBlocal\fP or \fBdeclare\fP builtins in the function that is currently
executing.
.PP
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.
.PP
The shell uses \fIdynamic scoping\fP 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.
.PP
For example, if a variable \fIvar\fP is declared as local in function \fIfunc1\fP,
and \fIfunc1\fP calls another function \fIfunc2\fP, references to \fIvar\fP made from
within \fIfunc2\fP will resolve to the local variable \fIvar\fP from \fIfunc1\fP,
shadowing any global variable named \fIvar\fP.
.PP
The \fBunset\fP builtin also acts using the same dynamic scope: if a variable
is local to the current scope, \fBunset\fP 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 \fBlocalvar_unset\fP shell
option changes this behavior).
.PP
Jeśli zmienna \fBFUNCNEST\fP 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.
.PP
Jeżeli w funkcji wywoływane jest wbudowane polecenie \fBreturn\fP, 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ą \fBRETURN\fP jest
wykonywana przed wznowieniem wykonywania. Gdy funkcja kończy działanie,
parametrom pozycyjnym i parametrowi specjalnemu \fB#\fP przywracane są
wartości, jakie posiadały one przed wykonaniem funkcji.
.PP
Listę nazw i definicji funkcji można uzyskać przy pomocy opcji \fB\-f\fP
wbudowanych poleceń \fBdeclare\fP lub \fBtypeset\fP.  Opcja \fB\-F\fP poleceń
\fBdeclare\fP lub \fBtypeset\fP podaje same nazwy funkcji (i opcjonalnie plik
źródłowy oraz numer wiersza, jeśli włączono opcję powłoki \fBextdebug\fP).
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 \fB\-f\fP wbudowanego polecenia
\fBexport\fP. Definicję funkcji można usunąć opcją \fB\-f\fP lub wbudowanym
\fBunset\fP.
.PP
Funkcje mogą być rekurencyjne. Zmienna \fBFUNCNEST\fP 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ń.
.SH "OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH"
Powłoka pozwala, pod pewnymi warunkami, na obliczanie wartości wyrażeń
arytmetycznych (zobacz wbudowane polecenia \fBlet\fP i \fBdeclare\fP, polecenie
złożone \fB((\fP oraz \fBInterpretacja wyrażeń arytmetycznych\fP). 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.
.PP
.PD 0
.TP 
\fIid\fP\fB++ \fP\fIid\fP\fB\-\-\fP
post\-inkrementacja i post\-dekrementacja zmiennej
.TP 
\fB\- +\fP
jednoargumentowy minus i plus
.TP 
\fB++\fP\fIid\fP\fB \-\-\fP\fIid\fP
pre\-inkrementacja i pre\-dekrementacja zmiennej
.TP 
\fB! ~\fP
negacja logiczna i bitowa
.TP 
\fB**\fP
potęgowanie
.TP 
\fB* / %\fP
mnożenie, dzielenie, reszta z dzielenia
.TP 
\fB+ \-\fP
dodawanie, odejmowanie
.TP 
\fB<< >>\fP
lewo i prawostronne przesunięcie bitowe
.TP 
\fB<= >= < >\fP
porównanie
.TP 
\fB== !=\fP
równości i nierówność
.TP 
\fB&\fP
bitowa koniunkcja (AND)
.TP 
\fB^\fP
bitowa alternatywa wyłączna (XOR)
.TP 
\fB|\fP
bitowa alternatywa (OR)
.TP 
\fB&&\fP
logiczna koniunkcja (AND)
.TP 
\fB||\fP
logiczna alternatywa (OR)
.TP 
\fIwyraż\fP\fB?\fP\fIwyraż\fP\fB:\fP\fIwyraż\fP
operator warunkowy
.TP 
\fB= *= /= %= += \-= <<= >>= &= ^= |=\fP
przypisanie
.TP 
\fIwyraż1\fP\fB , \fP\fIwyraż2\fP
przecinek
.PD
.PP
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 \fIliczby całkowitej\fP przy użyciu \fBdeclare \-i\fP, to jej wartość obliczana jest jako
wyrażenie arytmetyczne. Pusta wartość jest interpretowana jako 0. Zmienna
powłoki nie musi mieć włączonego atrybutu \fIliczby całkowitej\fP by mogła być
użyta w wyrażeniu.
.PP
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ć [\fIpodstawa#\fP]n, gdzie opcjonalna \fIpodstawa\fP
jest liczbą dziesiętną pomiędzy 2 a 64 reprezentującą podstawę układu
pozycyjnego, zaś \fIn\fP liczbą w układzie o tej podstawie.  Jeśli pominięto
\fIpodstawa#\fP, to używana jest podstawa 10. Gdy poda się \fIn\fP, 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 \fIpodstawa\fP 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.
.PP
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.
.SH "WYRAŻENIA WARUNKOWE"
Wyrażenia warunkowe używane są przez polecenie złożone \fB[[\fP oraz polecenia
wbudowane \fBtest\fP i \fB[\fP do testowania atrybutów pliku i wykonywania
porównań łańcuchowych i arytmetycznych. Zachowanie poleceń \fBtest\fP i \fB[\fP
zależy od liczby podanych im argumentów; zob, opis tych poleceń, aby
dowiedzieć się o wszelkich akcjach zależnych od polecenia.
.PP
Wyrażenia złożone są z poniższych jedno\- i dwuargumentowych
składowych. \fBBash\fP traktuje wiele nazw plików jako specjalne, gdy są
używane w wyrażeniach. Jeśli system operacyjny na którym działa \fBbash\fP
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 \fIplikowych\fP jednej z
składowych jest w postaci \fI/dev/fd/n\fP, to sprawdzany jest deskryptor pliku
\fIn\fP.  Jeżeli argument \fIplik\fP którejś składowej jest jednym z
\fI/dev/stdin\fP, \fI/dev/stdout\fP lub \fI/dev/stderr\fP, to sprawdzany jest,
odpowiednio, deskryptor 0, 1 lub 2.
.PP
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.
.if  t .sp 0.5
.if  n .sp 1
Gdy operatory \fB<\fP i \fB>\fP są używane z poleceniem \fB[[\fP, to sortują
zgodnie z porządkiem leksykograficznym, używając bieżącego ustawienia
locale. Polecenie \fBtest\fP sortuje korzystając z kolejności ASCII.
.sp 1
.PD 0
.TP 
\fB\-a \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje.
.TP 
\fB\-b \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest blokowym plikiem specjalnym.
.TP 
\fB\-c \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest znakowym plikiem specjalnym.
.TP 
\fB\-d \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest katalogiem.
.TP 
\fB\-e \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje.
.TP 
\fB\-f \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest plikiem zwykłym.
.TP 
\fB\-g \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i ma ustawiony bit set\-group\-id.
.TP 
\fB\-h \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest dowiązaniem symbolicznym.
.TP 
\fB\-k \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i ma ustawiony bit ochrony (sticky bit).
.TP 
\fB\-p \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest potokiem nazwanym (FIFO).
.TP 
\fB\-r \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i daje się czytać.
.TP 
\fB\-s \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i ma rozmiar większy niż zero.
.TP 
\fB\-t \fP\fIfd\fP
Prawda jeśli deskryptor pliku \fIfd\fP jest otwarty i odnosi się do terminala.
.TP 
\fB\-u \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i ma ustawiony bit set\-user\-id.
.TP 
\fB\-w \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i daje się doń zapisać.
.TP 
\fB\-x \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest wykonywalny.
.TP 
\fB\-G \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jego właścicielem jest efektywny id grupy.
.TP 
\fB\-L \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest dowiązaniem symbolicznym.
.TP 
\fB\-N \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i został zmodyfikowany od czasu jego
ostatniego odczytu.
.TP 
\fB\-0 \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jego właścicielem jest efektywny id
użytkownika.
.TP 
\fB\-S \fP\fIplik\fP
Prawda jeśli \fIplik\fP istnieje i jest gniazdem.
.TP 
\fIplik1\fP \-\fBef\fP \fIplik2\fP
Prawda jeśli \fIplik1\fP i \fIplik2\fP odnoszą się do tego samego urządzenia i
numeru i\-węzła.
.TP 
\fIplik1\fP \-\fBnt\fP \fIplik2\fP
Prawda, jeśli \fIplik1\fP jest nowszy (według daty modyfikacji) niż \fIplik2\fP
lub \fIplik1\fP istnieje a \fIplik2\fP nie.
.TP 
\fIplik1\fP \fB\-ot\fP \fIplik2\fP
Prawda, jeśli \fIplik1\fP jest starszy niż \fIplik2\fP lub \fIplik2\fP istnieje a
\fIplik1\fP nie.
.TP 
\fB\-o \fP\fInazwa_opcji\fP
Prawda jeśli opcja powłoki \fInazwa_opcji\fP jest włączona.  Zobacz zestawienie
opcji w opisie opcji \fB\-o\fP wbudowanego \fBset\fP, poniżej.
.TP 
\fB\-v \fP\fInazwa\-zmiennej\fP
Prawda, jeśli zmienna powłoki \fIzmienna\-powłoki\fP jest ustawiona (została jej
przypisana wartość).
.TP 
\fB\-R \fP\fInazwa\-zmiennej\fP
Prawda, jeśli zmienna powłoki \fIzmienna\-powłoki\fP jest ustawiona i jest nazwą
referencyjną.
.TP 
\fB\-z \fP\fIłańcuch\fP
Prawda jeśli długość \fIłańcucha\fP wynosi zero.
.TP 
\fIstring\fP
.PD 0
.TP 
\fB\-n \fP\fIłańcuch\fP
.PD
Prawda jeśli \fIłańcuch\fP ma długość niezerową.
.TP 
\fIłańcuch1\fP \fB==\fP \fIłańcuch2\fP
.PD 0
.TP 
\fIłańcuch1\fP \fB=\fP \fIłańcuch2\fP
.PD
Prawda, jeśli łańcuchy są sobie równe. \fB=\fP powinno być używane z poleceniem
\fBtest\fP, w celu zachowania zgodności z normą POSIX. Gdy używane jest z
poleceniem \fB[[\fP, przeprowadzane jest dopasowanie do wzorca, zgodnie z
opisem powyżej \fBPolecenia złożone\fP).
.TP 
\fIłańcuch1\fP \fB!=\fP \fIłańcuch2\fP
Prawda jeśli łańcuchy nie są równe.
.TP 
\fIłańcuch1\fP \fB<\fP \fIłańcuch2\fP
Prawda jeśli \fIłańcuch1\fP przy sortowaniu występowałby przed \fIłańcuchem2\fP
według bieżącego ustawienia locale.
.TP 
\fIłańcuch1\fP \fB>\fP \fIłańcuch2\fP
Prawda jeśli \fIłańcuch1\fP przy sortowaniu występowałby po \fIłańcuchu2\fP według
bieżącego ustawienia locale.
.TP 
\fIarg1 \fP\fBOP\fP\fI arg2\fP
.SM
\fBOP\fP jest jednym z \fB\-eq\fP, \fB\-ne\fP, \fB\-lt\fP, \fB\-le\fP, \fB\-gt\fP lub
\fB\-ge\fP.  Te arytmetyczne operatory dwuargumentowe zwracają prawdę jeśli
\fIarg1\fP 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)
\fIarg2\fP.  \fIArg1\fP i \fIarg2\fP mogą być dodatnimi lub ujemnymi liczbami
całkowitymi. Przy używaniu z poleceniem \fB[[\fP, \fIarg1\fP i \fIarg2\fP są
rozwijane jako wyrażenie arytmetyczne (zob.
.SM
\fBOBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH\fP powyżej).
.PD
.SH "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.
.IP 1.
Słowa oznaczone przez analizator składni jako przypisania zmiennych
(poprzedzające nazwę polecenia) i przekierowania zachowywane są do
późniejszego przetworzenia.
.IP 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.
.IP 3.
Wykonywane są przekierowania, jak opisano powyżej w sekcji
.SM
\fBPRZEKIEROWANIE\fP.
.IP 4.
W każdym przypisaniu zmiennej tekst po znaku równości \fB=\fP podlega
interpretacji tyldy, interpretacji parametrów, podstawianiu wyników poleceń,
interpretacji wyrażeń arytmetycznych i usuwaniu cudzysłowów, zanim zostanie
przypisany do zmiennej.
.PP
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.
.PP
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.
.PP
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.
.SH "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.
.PP
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
.SM
\fBFUNKCJE\fP.  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.
.PP
Jeżeli nazwa nie jest ani funkcją powłoki ani poleceniem wbudowanym i nie
zawiera ukośników, to \fBbash\fP przeszukuje każdy element z
.SM
\fBPATH\fP
usiłując znaleźć katalog zawierający plik wykonywalny o takiej nazwie.
\fBBash\fP posługuje się tablicą mieszającą (hash table) do zapamiętywania
pełnych nazw plików wykonywalnych (zobacz \fBhash\fP w
.SM
\fBWBUDOWANE\fP
\fBPOLECENIA\fP \fBPOWŁOKI\fP poniżej).  Pełne przeszukiwanie katalogów z
.SM
\fBPATH\fP 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 \fBcommand_not_found_handle\fP. 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.
.PP
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.
.PP
Jeżeli wykonanie to nie powiedzie się, gdyż plik nie ma formatu
wykonywalnego, a nie jest katalogiem, to zakłada się, że jest on \fIskryptem powłoki\fP, 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
\fBhash\fP poniżej w
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP są zachowywane przez
potomka.
.PP
Jeżeli program jest plikiem o zawartości rozpoczynającej się od \fB#!\fP, 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.
.SH "ŚRODOWISKO WYKONYWANIA POLECEŃ"
Powłoka posiada \fIśrodowisko wykonywania\fP (execution environment), na które
składają się:
.IP \(bu
otwarte pliki odziedziczone przez powłokę przy wywołaniu, zmodyfikowane
przez przekierowania przekazane do wbudowanego polecenia \fBexec\fP
.IP \(bu
bieżący katalog roboczy ustawiony przez \fBcd\fP, \fBpushd\fP lub \fBpopd\fP, albo
odziedziczony przez powłokę przy wywołaniu
.IP \(bu
maska trybu tworzonych plików ustawioną przez \fBumask\fP albo odziedziczoną po
rodzicu powłoki
.IP \(bu
bieżące pułapki ustawione przez \fBtrap\fP
.IP \(bu
parametry powłoki ustawione przez przypisania zmiennych przy pomocy \fBset\fP
albo odziedziczone ze środowiska rodzica powłoki
.IP \(bu
funkcje powłoki zdefiniowane podczas wykonywania lub odziedziczone ze
środowiska rodzica powłoki
.IP \(bu
opcje włączone przy wywołaniu (albo domyślnie albo przy pomocy argumentów
wiersza poleceń) albo przez \fBset\fP
.IP \(bu
opcje włączone przez \fBshopt\fP
.IP \(bu
aliasy powłoki zdefiniowane przy pomocy \fBalias\fP
.IP \(bu
różne id procesów, łącznie z identyfikatorami zadań tła, wartość \fB$$\fP i
wartość
.SM
\fB$PPID\fP
.PP
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.
.if  n .sp 1
.IP \(bu
otwarte pliki powłoki, plus modyfikacje i dodatki określone przez
przekierowania polecenia
.IP \(bu
bieżący katalog roboczy
.IP \(bu
maska trybu tworzonych plików
.IP \(bu
zmienne powłoki oznaczone do wyeksportowania, razem ze zmiennymi
wyeksportowanymi do polecenia, przekazane w środowisku
.IP \(bu
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.
.PP
Polecenie wywołane w odrębnym środowisku nie może wpływać na środowisko
wykonywania powłoki.
.PP
\fIPodpowłoka\fP jest kopią procesu powłoki.
.PP
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.
.PP
Podpowłoki utworzone do wykonania podstawiania wyników poleceń dziedziczą
wartość opcji \fB\-e\fP z powłoki macierzystej. Jeśli \fBbash\fP nie działa w
\fItrybie posix\fP, to czyści opcję \fB\-e\fP w takich podpowłokach.
.PP
Jeżeli po poleceniu występuje \fB&\fP, a nie uaktywniono sterowania zadaniami,
to domyślnym standardowym wejściem dla tego polecenia jest pusty plik
\fI/dev/null\fP. W przeciwnym razie wywoływane polecenie dziedziczy deskryptory
plików po wołającej powłoce, zmodyfikowane przekierowaniami.
.SH ŚRODOWISKO
Podczas wywoływania program otrzymuje tablicę łańcuchów zwaną
\fIśrodowiskiem\fP (environment). Jest to lista par \fInazwa\fP\-\fIwartość\fP, o
postaci \fInazwa\fP=\fIwartość\fP.
.PP
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 \fIwyeksportowania\fP do
procesów potomnych. Wykonywane polecenia dziedziczą środowisko.  Polecenia
\fBexport\fP i \fBdeclare \-x\fP 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 \fBunset\fP, plus dodane poprzez polecenia
\fBexport\fP i \fBdeclare \-x\fP.
.PP
Środowisko dla dowolnego \fIpolecenia prostego\fP czy funkcji może być
tymczasowo powiększone przez poprzedzenie polecenia przypisaniem parametrów,
jak opisano powyżej w sekcji
.SM
\fBPARAMETRY\fP.  Te instrukcje przypisania
mają wpływ wyłącznie na środowisko postrzegane przez to polecenie.
.PP
Jeżeli ustawiona jest opcja \fB\-k\fP (zobacz poniżej opis wbudowanego polecenia
\fBset\fP), to \fIwszystkie\fP przypisania parametrów umieszczane są w środowisku
polecenia, a nie tylko te, które poprzedzają nazwę polecenia.
.PP
Gdy \fBbash\fP wywołuje polecenie zewnętrzne, zmienna \fB_\fP ustawiana jest na
pełną nazwę pliku polecenia i przekazywana temu poleceniu w jego środowisku.
.SH "STATUS ZAKOŃCZENIA"
Kod zakończenia wykonanego polecenia jest wartością zwracaną przez wywołanie
systemowe \fIwaitpid\fP 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.
.PP
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 \fIN\fP,
\fIbash\fP posługuje się wartością 128+\fBN\fP jako kodem zakończenia.
.PP
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.
.PP
Jeżeli polecenie nie powiodło się z powodu błędu podczas interpretacji lub
przekierowania, kod zakończenia jest większy od zera.
.PP
Wbudowane polecenia powłoki zwracają kod 0 (\fItrue\fP prawda) jeśli się
powiodły, i niezerowy (\fIfalse\fP 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.
.PP
Status zakończenia ostatniego polecenia jest dostępny w specjalnym
parametrze \fB$?\fP.
.PP
Sam \fBBash\fP 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 \fBexit\fP.
.SH SYGNAŁY
Gdy \fBbash\fP jest interaktywny, przy braku jakichkolwiek pułapek
(przechwytywania sygnałów), ignoruje on
.SM
\fBSIGTERM\fP (tak, że \fBkill 0\fP
nie zabija powłoki interaktywnej), a
.SM
\fBSIGINT\fP jest przechwytywany i
obsługiwany (tak, że wbudowane polecenie \fBwait\fP daje się przerwać).  We
wszystkich przypadkach, \fBbash\fP ignoruje
.SM
\fBSIGQUIT\fP.  Jeżeli działa
kontrola zadań, \fBbash\fP ignoruje
.SM
\fBSIGTTIN\fP,
.SM
\fBSIGTTOU\fP i
.SM
\fBSIGTSTP\fP.
.PP
Zadania synchroniczne uruchomione przez \fBbash\fP 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ż
.SM
\fBSIGINT\fP i
.SM
\fBSIGQUIT\fP.  Polecenia
uruchamiane wskutek podstawiania poleceń ignorują generowane z klawiatury
sygnały kontroli zadań
.SM
\fBSIGTTIN\fP,
.SM
\fBSIGTTOU\fP i
.SM
\fBSIGTSTP\fP.
.PP
Powłoka domyślnie kończy pracę po otrzymaniu
.SM
\fBSIGHUP\fP.  Przed
zakończeniem, powłoka interaktywna rozsyła otrzymany
.SM
\fBSIGHUP\fP do
wszystkich zadań, pracujących lub zatrzymanych.  Do zatrzymanych zadań
wysyłany jest
.SM
\fBSIGCONT\fP by upewnić się, że otrzymują
.SM
\fBSIGHUP\fP.  Chcąc uniknąć wysłania sygnału przez powłokę do konkretnego
zadania, należy usunąć je z tablicy zadań przy pomocy wbudowanego polecenia
\fBdisown\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP)  lub
oznakować, by nie otrzymywało
.SM
\fBSIGHUP\fP, posługując się \fBdisown \-h\fP.
.PP
Jeżeli przy pomocy \fBshopt\fP została ustawiona opcja \fBhuponexit\fP powłoki,
\fBbash\fP wysyła
.SM
\fBSIGHUP\fP do wszystkich zadań, gdy kończy pracę
interaktywna powłoka zgłoszeniowa.
.PP
Gdy \fBbash\fP 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 \fBbash\fP oczekuje na polecenie
asynchroniczne za pośrednictwem wbudowanego \fBwait\fP, odbiór sygnału, dla
którego ustawiono przechwytywanie spowoduje, że wbudowane \fBwait\fP
natychmiast skończy pracę z kodem większym od 128, po czym natychmiast
zostanie wywołana pułapka.
.PP
When job control is not enabled, and \fBbash\fP is waiting for a foreground
command to complete, the shell receives keyboard\-generated signals such as
.SM
\fBSIGINT\fP (usually generated by \fB^C\fP) 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 \fB^C\fP sends
.SM
\fBSIGINT\fP to
all processes in that process group.
.PP
When \fBbash\fP is running without job control enabled and receives
.SM
\fBSIGINT\fP while waiting for a foreground command, it waits until that
foreground command terminates and then decides what to do about the
.SM
\fBSIGINT\fP:
.IP 1.
If the command terminates due to the
.SM
\fBSIGINT\fP, \fBbash\fP concludes
that the user meant to end the entire script, and acts on the
.SM
\fBSIGINT\fP (e.g., by running a
.SM
\fBSIGINT\fP trap or exiting itself);
.IP 2.
If the command does not terminate due to
.SM
\fBSIGINT\fP, the program
handled the
.SM
\fBSIGINT\fP itself and did not treat it as a fatal signal.
In that case, \fBbash\fP does not treat
.SM
\fBSIGINT\fP as a fatal signal,
either, instead assuming that the
.SM
\fBSIGINT\fP was used as part of the
program's normal operation (e.g., emacs uses it to abort editing commands)
or deliberately discarded.  However, \fBbash\fP will run any trap set on
.SM
\fBSIGINT\fP, as it does with any other trapped signal it receives while it is
waiting for the foreground command to complete, for compatibility.
.SH "KONTROLA ZADAŃ"
\fIKontrola zadań\fP odnosi się do możliwości selektywnego zatrzymywania
(\fIzawieszania\fP \- suspend) wykonywania procesów i późniejszej kontynuacji
(\fIwznawiania\fP \- resume) ich wykonywania. Użytkownik zwykle wykorzystuje to
udogodnienie za pośrednictwem interaktywnego interfejsu obsługiwanego
wspólnie przez systemowy sterownik terminala i \fBbash\fP.
.PP
Powłoka kojarzy z każdym potokiem \fIzadanie\fP.  Przechowuje tablicę aktualnie
wykonywanych zadań, którą można przeglądać za pomocą polecenia \fBjobs\fP.  Gdy
\fBbash\fP uruchamia zadanie asynchronicznie (w \fItle\fP), wypisuje wiersz w
rodzaju:
.RS
.PP
[1] 25647
.RE
.PP
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.  \fBBash\fP posługuje się abstrakcją (abstraction)
\fIzadania\fP jako podstawą kontroli zadań.
.PP
Dla ułatwienia implementacji interfejsu użytkownika do kontroli zadań,
system operacyjny utrzymuje pojęcie \fIID grupy procesów bieżącego terminala\fP
(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
.SM
\fBSIGINT\fP.
Mówimy, że procesy te pracują \fIpierwszoplanowo\fP.  Procesy \fItła\fP 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 \f(CWstty tostop\fP, pisać na terminal. Do
procesów tła usiłujących czytać z (i pisać do, jeśli działa \f(CWstty tostop\fP)
terminala wysyłany jest przez sterownik terminala sygnał
.SM
\fBSIGTTIN\fP
\fB(SIGTTOU)\fP, który, jeśli nie zostanie przechwycony, wstrzymuje proces.
.PP
Jeżeli system operacyjny, na którym działa \fBbash\fP obsługuje kontrolę zadań,
\fBbash\fP zawiera funkcje do jej wykorzystywania.  Naciśnięcie klawisza
\fIwstrzymania\fP (zwykle \fB^Z\fP, Control\-Z) podczas pracy procesu powoduje, że
proces ten zostanie zatrzymany a sterowanie zostanie zwrócone do \fBbash\fP.
Naciśnięcie klawisza \fIopóźnione wstrzymanie\fP (zwykle \fB^Y\fP, Control\-Y)
powoduje, że proces zostanie zatrzymywany gdy będzie usiłował czytać wejście
z terminala, a sterowanie powróci do \fBbash\fP.  Użytkownik może następnie
zmieniać stan takiego zadania, posługując się poleceniem \fBbg\fP do
kontynuacji zadania w tle, \fBfg\fP do kontynuacji na pierwszym planie lub
poleceniem \fBkill\fP do zabicia zadania.  \fB^Z\fP działa natychmiast i ma efekt
uboczny: powoduje odrzucenie oczekującego wyjścia i wprowadzonych, a
nieprzetworzonych naciśnięć klawiszy (typeahead).
.PP
Istnieje kilka sposobów wskazywania zadania w powłoce.  Znak \fB%\fP poprzedza
nazwę zadania. Zadanie numer \fIn\fP można wskazać jako \fB%n\fP.  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, \fB%ce\fP
odnosi się do zatrzymanego zadania, którego nazwa zaczyna się od \fBce\fP.
Jeśli przedrostek pasuje do więcej niż jednego zadania, \fBbash\fP zgłasza
błąd. Z drugiej strony, użycie \fB%?ce\fP, wskazuje na zadanie zawierające
podłańcuch \fBce\fP w swym wierszu poleceń. Jeżeli łańcuch pasuje do więcej niż
jednego zadania, \fBbash\fP zgłasza błąd. Symbole \fB%%\fP i \fB%+\fP określają
rozumiane przez powłokę \fIbieżące zadanie\fP, będące ostatnim zadaniem
zatrzymanym, gdy było na pierwszym planie lub uruchomionym w tle.  Do
\fIpoprzedniego zadania\fP można odwoływać się przy pomocy \fB%\-\fP.  W wyjściu
odnoszącym się do zadań (np. wyjście polecenia \fBjobs\fP), bieżące zadanie
jest zawsze zaznaczone znakiem \fB+\fP, a zadanie poprzednie \fB\-\fP. Pojedynczy %
(bez towarzyszącego określenia zadania) również odnosi się do bieżącego
zadania.
.PP
Do przywrócenia zadania na pierwszy plan można posłużyć się po prostu jego
nazwą: \fB%1\fP jest synonimem dla ,,\fBfg %1\fP\*(rq, przywracającego zadanie 1 z
tła na pierwszy plan.  Podobnie, ,,\fB%1 &\fP\*(rq wznawia zadanie 1 w tle,
równoważnie do ,,\fBbg %1\*(rq\fP\*(rq.
.PP
Powłoka natychmiast dowiaduje się czy zadanie zmieniło stan.  Normalnie,
\fBbash\fP czeka ze zgłoszeniem zmian do momentu, gdy ma wyświetlić zachętę, by
nie przerywać innego wyjścia. Jeżeli włączono opcję \fB\-b\fP wbudowanego
polecenia \fBset\fP, \fBbash\fP zgłasza takie zmiany natychmiast.  Dla każdego
kończącego pracę procesu potomnego wykonywana jest ewentualna pułapka
przechwytująca
.SM
\fBSIGCHLD\fP.
.PP
Jeżeli wykonano próbę zakończenia pracy \fBbash\fP przy istniejących
zatrzymanych zadaniach (lub, gdy włączono opcję powłoki \fBcheckjobs\fP
używając wbudowanego \fBshopt\fP, działających zadaniach), powłoka wypisuje
komunikat ostrzegawczy i, jeśli włączono opcję \fBcheckjobs\fP wypisuje zadania
wraz z ich stanem. Można wówczas posłużyć się poleceniem \fBjobs\fP 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.
.PP
When the shell is waiting for a job or process using the \fBwait\fP builtin,
and job control is enabled, \fBwait\fP will return when the job changes
state. The \fB\-f\fP option causes \fBwait\fP to wait until the job or process
terminates before returning.
.SH "ZACHĘTA POWŁOKI"
Przy wykonywaniu interaktywnym \fBbash\fP wyświetla główny symbol zachęty
(primary prompt)
.SM
\fBPS1\fP kiedy jest gotowa na odczyt polecenia, zaś
wtórną (secondary) zachętę
.SM
\fBPS2\fP kiedy potrzebuje więcej danych z
wejścia do uzupełnienia polecenia. \fBBash\fP wyświetla
.SM
\fBPS0\fP po
odczytaniu polecenia, a przed jego wykonaniem. \fBBash\fP wyświetla
.SM
\fBPS4\fP jak opisano powyżej, przed śledzeniem każdego polecenia, gdy włączona
jest opcja \fB\-x\fP. \fBBash\fP 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:
.RS
.PD 0
.TP 
\fB\ea\fP
znak dzwonka ASCII (07)
.TP 
\fB\ed\fP
data w formacie "DzieńTyg Miesiąc Dzień" (np. "Tue May 26")
.TP 
\fB\eD{\fP\fIformat\fP\fB}\fP
\fIformat\fP jest przekazywany do \fIstrftime\fP(3), a wynik jest wstawiany do
łańcucha zachęty. Pusty \fIformat\fP daje w wyniku czas w lokalnym
formacie. Nawiasy klamrowe są wymagane
.TP 
\fB\ee\fP
znak escape ASCII (033)
.TP 
\fB\eh\fP
nazwa hosta do pierwszej kropki `.'
.TP 
\fB\eH\fP
nazwa hosta
.TP 
\fB\ej\fP
liczba zadań aktualnie obsługiwanych przez powłokę
.TP 
\fB\el\fP
główna część nazwy urządzenia terminala powłoki
.TP 
\fB\en\fP
znak nowej linii
.TP 
\fB\er\fP
powrót karetki
.TP 
\fB\es\fP
nazwa powłoki, główna część nazwy \fB$0\fP (fragment występujący po ostatnim
ukośniku)
.TP 
\fB\et\fP
bieżący czas w formacie 24\-godzinnym GG:MM:SS
.TP 
\fB\eT\fP
bieżący czas w formacie 12\-godzinnym GG:MM:SS
.TP 
\fB\e@\fP
bieżący czas w 12\-godzinnym formacie am/pm
.TP 
\fB\eA\fP
bieżący czas w 24\-godzinnym formacie GG:MM
.TP 
\fB\eu\fP
nazwa bieżącego użytkownika (username)
.TP 
\fB\ev\fP
wersja programu \fBbash\fP (np. 2.00)
.TP 
\fB\eV\fP
wydanie \fBbash\fP, wersja+poziom łat (np., 2.00.0)
.TP 
\fB\ew\fP
wartość zmiennej powłoki \fBPWD\fP (\fB$PWD\fP), z
.SM
\fB$HOME\fP zapisanym w
skrócie tyldą (używa wartości ze zmiennej
.SM
\fBPROMPT_DIRTRIM\fP)
.TP 
\fB\eW\fP
główna część nazwy (basename) \fB$PWD\fP, z
.SM
\fB$HOME\fP zapisanym w skrócie
tyldą
.TP 
\fB\e!\fP
numer tego polecenia w historii
.TP 
\fB\e#\fP
numer polecenia tego polecenia
.TP 
\fB\e$\fP
jeżeli efektywnym UID jest 0, to \fB#\fP, w przeciwnym razie \fB$\fP
.TP 
\fB\e\fP\fInnn\fP
znak odpowiadający ósemkowej liczbie \fInnn\fP
.TP 
\fB\e\e\fP
odwrotny ukośnik
.TP 
\fB\e[\fP
początek sekwencji znaków niedrukowalnych, która może służyć do osadzenia w
zachęcie sekwencji sterujących terminalem
.TP 
\fB\e]\fP
koniec sekwencji znaków niedrukowalnych
.PD
.RE
.PP
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
.SM
\fBHISTORIA\fP),
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 \fBpromptvars\fP powłoki (zobacz opis polecenia \fBshopt\fP w
sekcji
.SM
\fBWBUDOWANE\fP \fBPOLECENIA\fP \fBPOWŁOKI\fP 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.
.SH 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ę
\fB\-\-noediting\fP.  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 \fB\-o emacs\fP lub \fB\-o vi\fP wbudowanego polecenia \fBset\fP. By
wyłączyć edycję wiersza po uruchomieniu powłoki, użyj opcji \fB+o emacs\fP lub
\fB+o vi\fP wbudowanego polecenia \fBset\fP (zobacz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej).
.SS "Notacja Readline"
W tej sekcji, do zapisu naciśnięć klawiszy używana jest notacja w stylu
emacsa. Klawisze Control zapisywane są jako C\-\fIklawisz\fP, np., C\-n oznacza
Control\-N. Podobnie, \fImeta\fP klawisze zapisywane są jako M\-\fIklawisz\fP, zatem
M\-x oznacza Meta\-X.  (Na klawiaturach bez klawisza \fImeta\fP M\-\fIx\fP oznacza
ESC \fIx\fP, tj. naciśnij klawisz Escape a następnie klawisz \fIx\fP.  Czyni to
ESC \fIprzedrostkiem meta\fP (meta prefix).  Kombinacja M\-C\-\fIx\fP oznacza
ESC\-Control\-\fIx\fP, lub naciśnij klawisz Escape, następnie przytrzymaj klawisz
Control podczas naciskania klawisza \fIx\fP.)
.PP
Poleceniom readline można podawać numeryczne \fIargumenty\fP, 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. \fBkill\-line\fP) powoduje, że będzie ono działać odwrotnym kierunku
(wstecz).  Polecenia, których zachowanie z argumentami odbiega od podanego
odnotowano poniżej.
.PP
Gdy polecenie opisano jako \fIusuwające\fP (killing) tekst, tekst ten jest
zachowywany to ewentualnego późniejszego odzyskania (\fIprzywołania\fP
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).
.SS "Inicjalizacja Readline"
Readline dostosowywane jest przy pomocy poleceń umieszczanych w pliku
inicjującym (plik \fIinputrc\fP).  Nazwa tego pliku brana jest z wartości
zmiennej
.SM
\fBINPUTRC\fP.  Jeżeli zmienna ta nie jest ustawiona, domyślną
nazwą jest \fI~/.inputrc\fP. Jeśli plik ten nie istnieje lub nie może być
odczytany, ostatecznie będzie to plik \fI/etc/inputrc\fP. 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 \fB#\fP są komentarzami.
Wiersze rozpoczynające się od \fB$\fP wskazują konstrukcje warunkowe.  Inne
wiersze wyznaczają przypisania klawiszy i ustawienia zmiennych.
.PP
Domyślne przypisania klawiszy można zmienić przy pomocy pliku \fIinputrc\fP.
Inne programy posługujące się tą biblioteką mogą dodawać własne polecenia i
przypisania.
.PP
Na przykład, umieszczenie
.RS
.PP
M\-Control\-u: universal\-argument
.RE
lub
.RS
C\-Meta\-u: universal\-argument
.RE
w \fIinputrc\fP spowodowałoby, że M\-C\-u wywoływałoby polecenie readline
\fIuniversal\-argument\fP.
.PP
Rozpoznawane są następujące symboliczne nazwy znaków: \fIRUBOUT\fP, \fIDEL\fP,
\fIESC\fP, \fILFD\fP, \fINEWLINE\fP, \fIRET\fP, \fIRETURN\fP, \fISPC\fP, \fISPACE\fP i \fITAB\fP.
.PP
Oprócz nazw poleceń readline pozwala przypisywać klawisze do
łańcucha. Łańcuch ten zostanie wstawiony po naciśnięciu klawisza (\fImakro\fP).
.SS "Przypisania klawiszy Readline"
Składnia przypisań klawiszy sterujących w pliku \fIinputrc\fP 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 \fIMeta\-\fP
lub \fIControl\-\fP, lub jako sekwencja klawiszy.
.PP
Przy użyciu postaci \fBnazwa\-klaw\fP:\^\fInazwa\-funkcji\fP lub \fImakro\fP,
\fInazwa\-klaw\fP jest nazwą klawisza zapisaną w jęz.angielskim. Na przykład:
.sp
.RS
Control\-u: universal\-argument
.br
Meta\-Rubout: backward\-kill\-word
.br
Control\-o: "> output"
.RE
.LP
W powyższym przykładzie, \fIC\-u\fP przypisane jest do funkcji
\fBuniversal\-argument\fP, \fIM\-DEL\fP przypisane jest do funkcji
\fBbackward\-kill\-word\fP a \fIC\-o\fP przypisane do uruchamiania makra wyrażonego
po prawej (to jest, wstawiania tekstu
.if  t \f(CW> output\fP
.if  n ``> output''
w wiersz).
.PP
W drugiej postaci, \fB"sekw\-klaw"\fP:\^\fInazwa\-funkcji\fP lub \fImakro\fP,
\fBsekw\-klaw\fP różni się od \fBnazwa\-klaw\fP 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:
.sp
.RS
"\eC\-u": universal\-argument
.br
"\eC\-x\eC\-r": re\-read\-init\-file
.br
"\ee[11~": "Klawisz funkcyjny 1"
.RE
.PP
W tym przykładzie, \fIC\-u\fP jest ponownie przypisane do funkcji
\fBuniversal\-argument\fP.  \fIC\-x C\-r\fP przypisane jest do funkcji
\fBre\-read\-init\-file\fP, zaś \fIESC [ 1 1 ~\fP przypisane jest do wstawienia
tekstu
.if  t \f(CWFunction Key 1\fP.
.if  n ``Function Key 1''.
.PP
Oto pełny zestaw sekwencji specjalnych w stylu GNU Emacs
.RS
.PD 0
.TP 
\fB\eC\-\fP
przedrostek control
.TP 
\fB\eM\-\fP
przedrostek meta
.TP 
\fB\ee\fP
znak escape
.TP 
\fB\e\e\fP
odwrotny ukośnik (backslash)
.TP 
\fB\e"\fP
dosłowny cudzysłów "
.TP 
\fB\e\(aq\fP
dosłowny apostrof \(aq
.RE
.PD
.PP
Oprócz sekwencji specjalnych w stylu GNU Emacsa, dostępny jest drugi zestaw
sekwencji z użyciem odwrotnego ukośnika:
.RS
.PD 0
.TP 
\fB\ea\fP
alarm (dzwonek)
.TP 
\fB\eb\fP
backspace
.TP 
\fB\ed\fP
delete
.TP 
\fB\ef\fP
znak wysuwu strony (form feed)
.TP 
\fB\en\fP
znak nowej linii
.TP 
\fB\er\fP
powrót karetki
.TP 
\fB\et\fP
tabulacja pozioma (horizontal tab)
.TP 
\fB\ev\fP
tabulacja pionowa (vertical tab)
.TP 
\fB\e\fP\fInnn\fP
ośmiobitowy znak, którego wartością jest ósemkowa liczba \fInnn\fP (jedna do
trzech cyfr)
.TP 
\fB\ex\fP\fIHH\fP
ośmiobitowy znak, którego wartością jest szesnastkowa liczba \fInnn\fP (jedna
lub dwie cyfry szesnastkowe)
.RE
.PD
.PP
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 \(aq.
.PP
\fBBash\fP umożliwia wyświetlanie i zmianę bieżących przypisań klawiszy
readline za pomocą wbudowanego polecenia \fBbind\fP.  Tryb edycji można
przełączać podczas używania interaktywnego przez posłużenie się opcją \fB\-o\fP
wbudowanego polecenia \fBset\fP (zobacz poniżej
.SM
\fBWBUDOWANE\fP
\fBPOLECENIA\fP \fBPOWŁOKI\fP).
.SS "Zmienne Readline"
Readline posiada zmienne, których można używać do dodatkowego dostosowania
jej zachowania. Zmienna może być ustawiana w pliku \fIinputrc\fP przy pomocy
instrukcji postaci
.RS
.PP
\fBset\fP \fInazwa\-zmiennej\fP \fIwartość\fP
.RE
lub za pomocą wbudowanego polecenia \fBbind\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP).
.PP
Z wymienionymi niżej wyjątkami, zmienne readline mogą przyjmować wartości
\fBOn\fP lub \fBOff\fP (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 \fBOn\fP. Wszystkie pozostałe wartości są równoważne \fBOff\fP. A oto
zmienne i ich wartości domyślne:
.PP
.PD 0
.TP 
\fBactive\-region\-start\-color\fP
A string variable that controls the text color and background when
displaying the text in the active region (see the description of
\fBenable\-active\-region\fP 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 \f(CW"\ee[01;33m"\fP.
.TP 
\fBactive\-region\-end\-color\fP
A string variable that "undoes" the effects of \fBactive\-region\-start\-color\fP
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 \f(CW"\ee[0m"\fP.
.TP 
\fBbell\-style (audible)\fP
Kontroluje, co dzieje się gdy readline chce użyć sygnału dźwiękowego
terminala. Jeśli ustawiona na \fBnone\fP, readline nigdy nie emituje sygnału.
Jeśli ustawiona na \fBvisible\fP, readline posługuje się "widzialnym dzwonkiem"
(visible bell), jeśli jest dostępny.  Jeżeli ustawiona na \fBaudible\fP,
readline usiłuje uzyskać sygnał dźwiękowy z terminala.
.TP 
\fBbind\-tty\-special\-chars (On)\fP
Jeśli ustawiona na \fBOn\fP, readline będzie próbował przypiąć znaki kontrolne
traktowane w sposób specjalny przez sterownik terminala jądra do ich
odpowiedników readline.
.TP 
\fBblink\-matching\-paren (Off)\fP
Jeśli ustawiona na \fBOn\fP, readline spróbuje na krótko przesunąć kursor do
nawiasu otwierającego przy wstawieniu nawiasu zamykającego.
.TP 
\fBcolored\-completion\-prefix (Off)\fP
Jeśli ustawiona na \fBOn\fP, 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
\fBLS_COLORS\fP. Jeśli w \fB$LS_COLORS\fP istnieje definicja koloru dla przyrostka
"readline\-colored\-completion\-prefix", readline użyje tego koloru dla
wspólnego przedrostka, zamiast swej wartości domyślnej.
.TP 
\fBcolored\-stats (Off)\fP
Jeśli ustawiona na \fBOn\fP, 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 \fBLS_COLORS\fP.
.TP 
\fBcomment\-begin (,,#\*(rq)\fP
Łańcuch wstawiany, gdy wykonywane jest polecenie \fBinsert\-comment\fP
readline.  Polecenie to jest przypisane do \fBM\-#\fP w trybie emacs, zaś do
\fB#\fP w trybie vi.
.TP 
\fBcompletion\-display\-width (\-1)\fP
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.
.TP 
\fBcompletion\-ignore\-case (Off)\fP
Jeżeli ustawiona na \fBOn\fP, readline wykonuje dopasowywanie i uzupełnianie
nazw plików bez rozróżniania wielkości liter.
.TP 
\fBcompletion\-map\-case (Off)\fP
Jeśli ustawiona na \fBOn\fP i włączona jest \fBcompletion\-ignore\-case\fP readline
traktuje znaki minusa \fI\-\fP) i podkreślnika (\fI_\fP) jako równoważne przy
dokonywaniu dopasowania i uzupełniania nazw plików gdy ma to czynić bez
względu na wielkość znaków.
.TP 
\fBcompletion\-prefix\-display\-length (0)\fP
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ń.
.TP 
\fBcompletion\-query\-items (100)\fP
Określa, kiedy użytkownik jest pytany o oglądanie takiej liczby możliwych
uzupełnień tworzonych przez polecenie \fBpossible\-completions\fP.  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.
.TP 
\fBconvert\-meta (On)\fP
Jeśli ustawione na \fBOn\fP, 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 \fIprzedrostka meta\fP). Domyślnie ustawione na \fIOn\fP, ale readline zmieni ustawienie na
\fIOff\fP jeśli locale zawierają znaki ośmiobitowe. Zmienna ta zależy od
kategorii locale \fBLC_CTYPE\fP i może się zmienić, jeśli zmieni się locale.
.TP 
\fBdisable\-completion (Off)\fP
Jeśli ustawione na \fBOn\fP, readline zabroni uzupełniania słów. Znaki
uzupełniania zostaną wstawione w wiersz tak, jakby zostały przypisane do
\fBself\-insert\fP.
.TP 
\fBecho\-control\-characters (On)\fP
Jeśli ustawione na \fBOn\fP, readline wyświetla znak odpowiadający sygnałowi
otrzymanemu z klawiatury, w systemach które informują o obsługiwaniu tej
właściwości.
.TP 
\fBediting\-mode (emacs)\fP
Kontroluje czy readline rozpoczyna pracę z zestawem przypisań klawiszy
podobnym do \fIemacs\fP czy do \fIvi\fP.  \fBediting\-mode\fP może być ustawiane albo
na \fBemacs\fP albo na \fBvi\fP.
.TP 
\fBemacs\-mode\-string (@)\fP
Jeśli zmienna \fIshow\-mode\-in\-prompt\fP 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 \e1 i \e2 odpowiednio
zaczynają i kończą znaki niedrukowalne, co można wykorzystać do osadzenia
sekwencji kontrolnych terminala w tym łańcuchu.
.TP 
\fBenable\-active\-region (On)\fP
The \fIpoint\fP is the current cursor position, and \fImark\fP refers to a saved
cursor position.  The text between the point and mark is referred to as the
\fIregion\fP.  When this variable is set to \fIOn\fP, readline allows certain
commands to designate the region as \fIactive\fP.  When the region is active,
readline highlights the text in the region using the value of the
\fBactive\-region\-start\-color\fP, 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.
.TP 
\fBenable\-bracketed\-paste (On)\fP
When set to \fBOn\fP, 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.
.TP 
\fBenable\-keypad (Off)\fP
Gdy jest ustawione na \fBOn\fP, 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.
.TP 
\fBenable\-meta\-key (On)\fP
Gdy jest ustawiona na \fBOn\fP, 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.
.TP 
\fBexpand\-tilde (Off)\fP
Jeżeli ustawione na \fBOn\fP, podczas próby uzupełniania słów readline wykonuje
interpretację tyldy.
.TP 
\fBhistory\-preserve\-point (Off)\fP
Ustawione na \fBon\fP powoduje, że kod obsługi historii poleceń usiłuje w
każdym wierszu poleceń odzyskanym za pomocą \fBprevious\-history\fP lub
\fBnext\-history\fP umieścić punkt (bieżącą pozycję kursora) w tym samym
miejscu.
.TP 
\fBhistory\-size (unset)\fP
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 \fBHISTSIZE\fP. Jeśli spróbuje się
ustawić \fBhistory\-size\fP na wartość nienumeryczną, maksymalna liczba wpisów
historii zostanie ustawiona na 500.
.TP 
\fBhorizontal\-scroll\-mode (Off)\fP
Ustawione na \fBOn\fP 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.
.TP 
\fBinput\-meta (Off)\fP
Jeśli ustawiona na \fBOn\fP, 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 \fBmeta\-flag\fP jest synonimem
tej zmiennej. Domyślnie ustawiona na \fIOff\fP, ale readline zmieni ustawienie
na \fIOn\fP, jeśli locale zawierają znaki ośmiobitowe. Zmienna ta zależy od
kategorii locale \fBLC_CTYPE\fP i może się zmienić, jeśli zmieni się locale.
.TP 
\fBisearch\-terminators (,,C\-[C\-J\*(rq)\fP
Ł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ć \fIESC\fP i
\fIC\-J\fP.
.TP 
\fBkeymap (emacs)\fP
Ustawia bieżące mapowanie klawiatury readline. Zestawami poprawnych mapowań
są \fIemacs\fP, \fIemacs\-standard\fP, \fIemacs\-meta\fP, \fIemacs\-ctlx\fP, \fIvi\fP,
\fIvi\-command\fP i \fIvi\-insert\fP.  \fIvi\fP jest równoważnikiem dla \fIvi\-command\fP;
\fIemacs\fP jest równoważne \fIemacs\-standard\fP. Domyślną wartością jest
\fIemacs\fP; wartość \fBediting\-mode\fP również wpływa na domyślne mapowanie.
.TP 
\fBkeyseq\-timeout (500)\fP
Określa czas, jaki \fIreadline\fP 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, \fIreadline\fP użyje krótszej
kompletnej sekwencji klawiszy. Wartość jest określona w milisekundach,
dlatego 1000 oznacza, że \fIreadline\fP poczeka sekundę na dodatkowe
wejście. Jeśli ta zmienna jest ustawiona na wartość mniejszą lub równą zero,
lub na wartość nienumeryczną, \fIreadline\fP poczeka na wciśnięcie dodatkowego
klawisza, aby zdecydować którą sekwencję klawiszy uzupełnić.
.TP 
\fBmark\-directories (On)\fP
Jeżeli ustawione na \fBOn\fP, to uzupełniane nazwy katalogów mają dołączany
końcowy ukośnik.
.TP 
\fBmark\-modified\-lines (Off)\fP
Jeżeli ustawione na \fBOn\fP, wiersze historii, które zostały zmienione
wyświetlane są z poprzedzającą je gwiazdką (\fB*\fP).
.TP 
\fBmark\-symlinked\-directories (Off)\fP
Gdy ustawiona na \fBOn\fP, uzupełniane nazwy będące dowiązaniami symbolicznymi
do katalogów, mają dodany znak ukośnika (przedmiot wartości
\fBmark\-directories\fP).
.TP 
\fBmatch\-hidden\-files (On)\fP
Ta zmienna, gdy jest ustawiona na \fBOn\fP, powoduje, że readline wykonując
uzupełnianie nazw plików dopasowuje pliki, których nazwy zaczynają się od
kropki `.' (pliki ukryte). Gdy ustawiona na \fBOff\fP, początkowa kropka w
nazwie jaka ma być uzupełniona, musi być wpisana przez użytkownika.
.TP 
\fBmenu\-complete\-display\-prefix (Off)\fP
Gdy ustawiona na \fBOn\fP, 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.
.TP 
\fBoutput\-meta (Off)\fP
Jeżeli ustawione na \fBOn\fP, readline wyświetla znaki z ustawionym ósmym bitem
wprost zamiast jako sekwencje specjalne z meta\-przedrostkiem. Domyślnie
ustawione na \fIOff\fP, ale readline zmieni ustawienie na \fIOn\fP jeśli locale
zawiera znaki ośmiobitowe. Zmienna ta zależy od kategorii locale \fBLC_CTYPE\fP
i może się zmienić, jeśli zmieni się locale.
.TP 
\fBpage\-completions (On)\fP
Gdy ustawione na \fBOn\fP, readline używa wewnętrznego programu wyświetlającego
podobnego do \fImore\fP, do wyświetlania pełnego ekranu możliwych uzupełnień na
raz.
.TP 
\fBprint\-completions\-horizontally (Off)\fP
Jeżeli ustawione na \fBOn\fP, readline wyświetla dopasowane uzupełnienia w
kolejności alfabetycznej poziomo, zamiast w dół ekranu.
.TP 
\fBrevert\-all\-at\-newline (Off)\fP
Gdy ustawione na \fBOn\fP, readline anuluje wszystkie zmiany w wierszach
historii przed powrotem, gdy wykonywane jest \fBaccept\-line\fP. Domyślnie,
wiersze historii mogą zostać zmodyfikowane i zachować swe listy anulowań
poprzez odwołania do \fBreadline\fP.
.TP 
\fBshow\-all\-if\-ambiguous (Off)\fP
Zmienia to domyślne zachowanie funkcji uzupełniania. Jeżeli jest ustawione
na \fBon\fP, 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.
.TP 
\fBshow\-all\-if\-unmodified (Off)\fP
Zmienna modyfikuje domyślne zachowanie funkcji uzupełnienia w sposób podobny
do \fBshow\-all\-if\-ambiguous\fP. Gdy jest ustawiona na \fBOn\fP, 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.
.TP 
\fBshow\-mode\-in\-prompt (Off)\fP
Jeśli jest ustawiona na \fBOn\fP, dodaje znak na początku znaku zachęty
wskazujący tryb edycji: emacs (\fB@\fP), wiersz polecenia vi (\fB:\fP) lub tryb
wstawiania vi (\fB+\fP). Łańcuchy trybu są ustawialne przez użytkownika
(np. \fIemacs\-mode\-string\fP).
.TP 
\fBskip\-completed\-text (Off)\fP
Gdy jest ustawiona na \fBOn\fP, 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.
.TP 
\fBvi\-cmd\-mode\-string ((cmd))\fP
Jeśli zmienna \fIshow\-mode\-in\-prompt\fP 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 \e1 i \e2
odpowiednio zaczynają i kończą znaki niedrukowalne, co można wykorzystać do
osadzenia sekwencji kontrolnych terminala w tym łańcuchu.
.TP 
\fBvi\-ins\-mode\-string ((ins))\fP
Jeśli zmienna \fIshow\-mode\-in\-prompt\fP 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
\e1 i \e2 odpowiednio zaczynają i kończą znaki niedrukowalne, co można
wykorzystać do osadzenia sekwencji kontrolnych terminala w tym łańcuchu.
.TP 
\fBvisible\-stats (Off)\fP
Jeżeli ustawione na \fBOn\fP, to przy wyświetlaniu możliwych uzupełnień do
nazwy pliku zostanie dołączony znak określający typ pliku wskazywany przez
\fIstat\fP(2).
.PD
.SS "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.
.IP \fB$if\fP
Konstrukcja \fB$if\fP 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.
.RS
.IP \fBmode\fP
Postać \fBmode=\fP dyrektywy \fB$if\fP 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 \fBset keymap\fP, do ustawienia przypisań w mapowaniach
\fIemacs\-standard\fP i \fIemacs\-ctlx\fP tylko jeśli readline uruchamia się w
trybie emacs.
.IP \fBterm\fP
Postać \fBterm=\fP 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 \fB=\fP sprawdzane jest z
zarówno pełną nazwą terminala, jaki i częścią jego nazwy przed pierwszym
\fB\-\fP. Umożliwia to, na przykład, dopasowanie przez \fIsun\fP zarówno \fIsun\fP jak
i \fIsun\-cmd\fP.
.IP \fBversion\fP
The \fBversion\fP test may be used to perform comparisons against specific
readline versions.  The \fBversion\fP expands to the current readline version.
The set of comparison operators includes \fB=\fP, (and \fB==\fP), \fB!=\fP,
\fB<=\fP, \fB>=\fP, \fB<\fP, and \fB>\fP.  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., \fB7.1\fP). If the
minor version is omitted, it is assumed to be \fB0\fP.  The operator may be
separated from the string \fBversion\fP and from the version number argument by
whitespace.
.IP \fBaplikacja\fP
Konstrukcja \fBaplikacja\fP służy do włączania ustawień specyficznych dla
aplikacji. Każdy program korzystający z biblioteki readline ustawia nazwę
aplikacji (\fIapplication name\fP), 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:
.sp 1
.RS
.nf
\fB$if\fP Bash
# Cytuj bieżące lub poprzednie słowo
"\eC\-xq": "\eeb\e"\eef\e""
\fB$endif\fP
.fi
.RE
.IP \fIvariable\fP
The \fIvariable\fP construct provides simple equality tests for readline
variables and values.  The permitted comparison operators are \fI=\fP, \fI==\fP,
and \fI!=\fP.  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 \fIon\fP and
\fIoff\fP.
.RE
.IP \fB$endif\fP
Polecenie to, jak widać w poprzednim przykładzie, kończy wykonywanie
polecenia \fB$if\fP.
.IP \fB$else\fP
Polecenia w tej gałęzi dyrektywy \fB$if\fP wykonywane są gdy nie powiedzie się
sprawdzenie warunku.
.IP \fB$include\fP
Dyrektywa ta pobiera jako argument pojedynczą nazwę pliku i odczytuje
polecenia i przypisania z tego pliku. Na przykład, poniższa dyrektywa
odczytałaby \fI/etc/inputrc\fP:
.sp 1
.RS
.nf
\fB$include\fP \^ \fI/etc/inputrc\fP
.fi
.RE
.SS Wyszukiwanie
Readline zapewnia polecenia do wyszukiwania w historii poleceń (zobacz
poniżej
.SM
\fBHISTORIA\fP)  wierszy zawierających zadany łańcuch.  Istnieją
dwa tryby wyszukiwania: \fIkrokowy\fP (incremental) i \fInie\-niekrokowy\fP
(non\-incremental).
.PP
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 \fBisearch\-terminators\fP 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.
.PP
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 \fInowej linii\fP przerywa wyszukiwanie i
akceptuje wiersz, wykonując skutkiem tego polecenie z listy historii.
.PP
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.
.PP
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.
.SS "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, \fIpunkt\fP oznacza
bieżącą pozycję kursora, zaś \fIzaznaczenie\fP do pozycji kursora zapamiętanej
przez polecenie \fBset\-mark\fP.  Tekst pomiędzy punktem a zaznaczeniem nazywany
jest \fIobszarem\fP.
.SS "Polecenia ruchu"
.PD 0
.TP 
\fBbeginning\-of\-line (C\-a)\fP
Przesuwa na początek bieżącego wiersza.
.TP 
\fBend\-of\-line (C\-e)\fP
Przesuwa na koniec wiersza.
.TP 
\fBforward\-char (C\-f)\fP
Przesuwa o znak w przód.
.TP 
\fBbackward\-char (C\-b)\fP
Przesuwa o znak wstecz.
.TP 
\fBforward\-word (M\-f)\fP
Przesuwa na koniec następnego słowa. Słowa złożone są ze znaków
alfanumerycznych (liter i cyfr).
.TP 
\fBbackward\-word (M\-b)\fP
Przesuwa na początek bieżącego, lub poprzedniego, słowa. Słowa złożone są ze
znaków alfanumerycznych (liter i cyfr).
.TP 
\fBshell\-forward\-word\fP
Przesuwa na koniec następnego słowa w przód. Słowa są oddzielone
niecytowanymi metaznakami powłoki.
.TP 
\fBshell\-backward\-word\fP
Przesuwa na początek bieżącego lub poprzedniego słowa w tył. Słowa są
oddzielone niecytowanymi metaznakami powłoki.
.TP 
\fBprevious\-screen\-line\fP
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.
.TP 
\fBnext\-screen\-line\fP
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.
.TP 
\fBclear\-display (M\-C\-l)\fP
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.
.TP 
\fBclear\-screen (C\-l)\fP
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.
.TP 
\fBredraw\-current\-line\fP
Odświeża bieżący wiersz.
.PD
.SS "Polecenia operujące na historii"
.PD 0
.TP 
\fBaccept\-line (Newline, Return)\fP
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
.SM
\fBHISTCONTROL\fP.  Jeżeli wiersz jest zmienionym wierszem
historii, to odtwarza wiersz historii do stanu pierwotnego.
.TP 
\fBprevious\-history (C\-p)\fP
Sprowadza poprzednie polecenie z listy historii, przesuwając się wstecz
listy.
.TP 
\fBnext\-history (C\-n)\fP
Ściąga następne polecenie z listy historii, przesuwając się do przodu na
liście.
.TP 
\fBbeginning\-of\-history (M\-<)\fP
Przesuwa na pierwszy wiersz w historii.
.TP 
\fBend\-of\-history (M\->)\fP
Przesuwa na koniec historii wprowadzania, tj. obecnie wprowadzanego wiersza.
.TP 
\fBoperate\-and\-get\-next (C\-o)\fP
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.
.TP 
\fBfetch\-history\fP
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.
.TP 
\fBreverse\-search\-history (C\-r)\fP
Wyszukuje wstecz poczynając od bieżącego wiersza i przesuwając się, w razie
potrzeby, 'w górę' historii. Jest to wyszukiwanie krokowe.
.TP 
\fBforward\-search\-history (C\-s)\fP
Wyszukuje w przód poczynając od bieżącego wiersza i przesuwając się, w razie
potrzeby, 'w dół' historii. Jest to wyszukiwanie krokowe.
.TP 
\fBnon\-incremental\-reverse\-search\-history (M\-p)\fP
Wyszukuje wstecz poczynając od bieżącego wiersza posługując się
wyszukiwaniem nie\-krokowym podanego przez użytkownika łańcucha.
.TP 
\fBnon\-incremental\-forward\-search\-history (M\-n)\fP
Wyszukuje w przód poczynając od bieżącego wiersza posługując się
wyszukiwaniem nie\-krokowym podanego przez użytkownika łańcucha.
.TP 
\fBhistory\-search\-forward\fP
Wyszukuje w przód w historii łańcucha znaków pomiędzy początkiem bieżącego
wiersza a punktem.  Jest to wyszukiwanie nie\-krokowe.
.TP 
\fBhistory\-search\-backward\fP
Wyszukuje wstecz w historii łańcucha znaków pomiędzy początkiem bieżącego
wiersza a bieżącą pozycją kursora (\fIpunkt\fP).  Jest to wyszukiwanie
nie\-krokowe.
.TP 
\fBhistory\-substring\-search\-backward\fP
Wyszukuje wstecz w historii łańcucha znaków pomiędzy początkiem bieżącego
wiersza a bieżącą pozycją kursora (\fIpunkt\fP). Wyszukiwany łańcuch może
znaleźć się gdziekolwiek w wierszu historii. Jest to wyszukiwanie
nie\-krokowe.
.TP 
\fBhistory\-substring\-search\-forward\fP
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.
.TP 
\fByank\-nth\-arg (M\-C\-y)\fP
Wstawia pierwszy argument poprzedniego polecenia (zwykle drugie słowo z
poprzedniego wiersza) w punkt (bieżącą pozycję kursora). Z argumentem \fIn\fP,
wstawia \fIn\fP\-te słowo poprzedniego polecenia (słowa w poprzednim poleceniu
zaczynają się od słowa 0). Argument ujemny wstawia \fIn\fP\-te słowo od końca
poprzedniego polecenia. Po obliczeniu argumentu \fIn\fP, jest on wyodrębniany w
taki sposób, jak gdyby podano opcję interpretowania historii "!\fIn\fP".
.TP 
\fByank\-last\-arg (M\-.\^, M\-_\^)\fP
Wstawia ostatni argument poprzedniego polecenia (ostatnie słowo poprzedniej
pozycji historii). Z argumentem numerycznym, zachowuje się dokładnie tak,
jak \fByank\-nth\-arg\fP.  Kolejne wywołania \fByank\-last\-arg\fP 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ą "!$".
.TP 
\fBshell\-expand\-line (M\-C\-e)\fP
Interpretuj wiersz, jak czyni to powłoka. Wykonuje to aliasy i interpretację
historii, jak również interpretację słów powłoki. Zobacz
.SM
\fBINTERPRETACJA HISTORII\fP poniżej.
.TP 
\fBhistory\-expand\-line (M\-^)\fP
Wykonuje interpretację powłoki w odniesieniu do bieżącego wiersza.  Zobacz
.SM
\fBINTERPRETACJA HISTORII\fP poniżej.
.TP 
\fBmagic\-space\fP
Wykonuje interpretację powłoki w odniesieniu do bieżącego wiersza i wstawia
spację.  Zobacz
.SM
\fBINTERPRETACJA HISTORII\fP poniżej.
.TP 
\fBalias\-expand\-line\fP
Wykonuje interpretację aliasów w odniesieniu do bieżącego wiersza.  Zobacz
.SM
\fBALIASY\fP powyżej.
.TP 
\fBhistory\-and\-alias\-expand\-line\fP
Wykonuje interpretację historii i aliasów w odniesieniu do bieżącego
wiersza.
.TP 
\fBinsert\-last\-argument (M\-.\^, M\-_\^)\fP
Synonim \fByank\-last\-arg\fP.
.TP 
\fBedit\-and\-execute\-command (C\-x C\-e)\fP
Przywołuje edytor w bieżącym wierszu poleceń i wykonuje wynik jako polecenie
powłoki. \fBBash\fP stara się wywołać
.SM
\fB$VISUAL\fP,
.SM
\fB$EDITOR\fP i
\fIemacs\fP jako edytor, w tej kolejności.
.PD
.SS "Polecenia zmiany tekstu"
.PD 0
.TP 
\fIkoniec\-pliku\fP\fB (zwykle C\-d)\fP
Znak wskazujący koniec pliku, jak ustawiony np. przez
.if  t \f(CWstty\fP.
.if  n ``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
.SM
\fBEOF\fP.
.TP 
\fBdelete\-char (C\-d)\fP
Usuwa znak w tym punkcie. Jeżeli funkcja jest przypisana do tego samego
znaku, jak znak \fBEOF\fP tty, jak często bywa z \fBC\-d\fP, efekt jest opisany
powyżej.
.TP 
\fBbackward\-delete\-char (Rubout)\fP
Usuwa znak przed kursorem. Jeżeli podano argument numeryczny, zachowuje
usunięty tekst na stosie usunięć.
.TP 
\fBforward\-backward\-delete\-char\fP
Usuwa znak pod kursorem, chyba że kursor znajduje się na końcu wiersza,
wówczas usuwany jest znak przed kursorem.
.TP 
\fBquoted\-insert (C\-q, C\-v)\fP
Dodaje następny znak do wiersza dosłownie. W ten sposób wstawiane są znaki
takie, jak na przykład \fBC\-q\fP.
.TP 
\fBtab\-insert (C\-v TAB)\fP
Wstawia znak tabulacji.
.TP 
\fBself\-insert (a,\ b,\ A,\ 1,\ !,\ ...)\fP
Wstawia wpisany znak.
.TP 
\fBtranspose\-chars (C\-t)\fP
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ą.
.TP 
\fBtranspose\-words (M\-t)\fP
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.
.TP 
\fBupcase\-word (M\-u)\fP
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.
.TP 
\fBdowncase\-word (M\-l)\fP
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.
.TP 
\fBcapitalize\-word (M\-c)\fP
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.
.TP 
\fBoverwrite\-mode\fP
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 \fBemacs\fP,
tryb \fBvi\fP nadpisuje w inny sposób. Każde odwołania do \fIreadline()\fP jest
uruchamiane w trybie wstawiania. W trybie nadpisywania, znaki przypisane do
\fBself\-insert\fP zastępują tekst pod kursorem, zamiast przesuwać go w prawą
stronę. Znaki przypisane do \fBbackward\-delete\-char\fP zastępują znak przed
kursorem spacją. Domyślnie, to polecenie nie jest przypisane.
.PD
.SS "Usuwanie i wklejanie"
.PD 0
.TP 
\fBkill\-line (C\-k)\fP
Usuwa tekst od punktu do końca wiersza.
.TP 
\fBbackward\-kill\-line (C\-x Rubout)\fP
Usuwa wstecz do początku wiersza.
.TP 
\fBunix\-line\-discard (C\-u)\fP
.\" There is no real difference between this and backward-kill-line
Usuwa wstecz od punktu do początku wiersza. Usuwany tekst jest zachowywany
na stosie usunięć.
.TP 
\fBkill\-whole\-line\fP
Usuwa wszystkie znaki bieżącego wiersza, bez względu na położenie punktu.
.TP 
\fBkill\-word (M\-d)\fP
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
\fBforward\-word\fP.
.TP 
\fBbackward\-kill\-word (M\-Rubout)\fP
Usuwa słowo sprzed punktu. Granice słów są takie same, jak używane przez
\fBbackward\-word\fP.
.TP 
\fBshell\-kill\-word\fP
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 \fBshell\-forward\-word\fP.
.TP 
\fBshell\-backward\-kill\-word\fP
Usuwa słowo sprzed punktu. Granice słów są takie same, jak używane przez
\fBshell\-backward\-word\fP.
.TP 
\fBunix\-word\-rubout (C\-w)\fP
Usuwa słowo sprzed punktu, jako separatora słów używając białych znaków.
Usunięty tekst zachowywany jest na stosie usunięć.
.TP 
\fBunix\-filename\-rubout\fP
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ęć.
.TP 
\fBdelete\-horizontal\-space (M\-\e)\fP
Usuwa wszystkie spacje i tabulatory wokół punktu.
.TP 
\fBkill\-region\fP
Usuwa tekst w bieżącym obszarze.
.TP 
\fBcopy\-region\-as\-kill\fP
Kopiuje tekst obszaru do bufora usuwania.
.TP 
\fBcopy\-backward\-word\fP
Kopiuje słowo sprzed punktu do bufora usuwania.  Granice słów są takie same,
jak dla \fBbackward\-word\fP.
.TP 
\fBcopy\-forward\-word\fP
Kopiuje słowo występujące po punkcie do bufora usuwania.  Granice słów są
takie same, jak dla \fBforward\-word\fP.
.TP 
\fByank (C\-y)\fP
Wkleja wierzchołek stosu usunięć do bufora w punkcie (w miejscu kursora).
.TP 
\fByank\-pop (M\-y)\fP
Obraca stos usunięć i wkleja nowy wierzchołek. Działa tylko następując po
\fByank\fP lub \fByank\-pop\fP.
.PD
.SS "Argumenty numeryczne"
.PD 0
.TP 
\fBdigit\-argument (M\-0, M\-1, ..., M\-\-)\fP
Dodaje tę cyfrę do już składanego argumentu lub rozpoczyna nowy argument.
M\-\- rozpoczyna argument ujemny.
.TP 
\fBuniversal\-argument\fP
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 \fBuniversal\-argument\fP 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.
.PD
.SS Uzupełnianie
.PD 0
.TP 
\fBcomplete (TAB)\fP
Usiłuje przeprowadzić uzupełnianie tekstu przed punktem.  \fBBash\fP próbuje
uzupełniania traktując tekst kolejno: jako zmienną (jeżeli tekst zaczyna się
od \fB$\fP), nazwę użytkownika (jeśli tekst zaczyna się od \fB~\fP), nazwę hosta
(jeśli tekst zaczyna się od \fB@\fP) 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.
.TP 
\fBpossible\-completions (M\-?)\fP
Pokazuje możliwe uzupełnienia tekstu przed punktem.
.TP 
\fBinsert\-completions (M\-*)\fP
Wstawia przed punktem wszystkie uzupełnienia tekstu, które zostałyby
wygenerowane przez \fBpossible\-completions\fP.
.TP 
\fBmenu\-complete\fP
Podobne do \fBcomplete\fP, ale zastępuje słowo, jakie ma zostać uzupełnione
pojedynczym uzupełnieniem z listy możliwych.  Powtarzane wykonanie
\fBmenu\-complete\fP 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 \fBbell\-style\fP) i przywracany jest pierwotny tekst.  Argument
\fIn\fP przesuwa \fIn\fP 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 \fBTAB\fP, ale domyślnie nie jest przypisane.
.TP 
\fBmenu\-complete\-backward\fP
Podobne do \fBmenu\-complete\fP, ale przemieszcza się wstecz po liście możliwych
uzupełnień, identycznie gdyby \fBmenu\-complete\fP podano ujemny argument. To
polecenie jest domyślnie nieprzypisane.
.TP 
\fBdelete\-char\-or\-list\fP
Usuwa znak pod kursorem, jeśli nie jest to początek bądź koniec wiersza (jak
\fBdelete\-char\fP). Na końcu wiersza, zachowuje się identycznie jak
\fBpossible\-completions\fP. To polecenie jest domyślnie nieprzypisane.
.TP 
\fBcomplete\-filename (M\-/)\fP
Usiłuje wykonać uzupełnianie nazw plików na tekście sprzed kursora.
.TP 
\fBpossible\-filename\-completions (C\-x /)\fP
Pokazuje możliwe uzupełnienia tekstu sprzed kursora, traktując go jak nazwę
pliku.
.TP 
\fBcomplete\-username (M\-~)\fP
Usiłuje wykonać uzupełnianie tekstu sprzed kursora, traktując go jak nazwę
użytkownika.
.TP 
\fBpossible\-username\-completions (C\-x ~)\fP
Pokazuje możliwe uzupełnienia tekstu sprzed kursora, traktując go jak nazwę
użytkownika.
.TP 
\fBcomplete\-variable (M\-$)\fP
Usiłuje wykonać uzupełnianie tekstu sprzed kursora, traktując go jak zmienną
powłoki.
.TP 
\fBpossible\-variable\-completions (C\-x $)\fP
Pokazuje możliwe uzupełnienia tekstu sprzed kursora, traktując go jak
zmienną powłoki.
.TP 
\fBcomplete\-hostname (M\-@)\fP
Usiłuje wykonać uzupełnianie tekstu sprzed kursora, traktując go jak nazwę
hosta.
.TP 
\fBpossible\-hostname\-completions (C\-x @)\fP
Pokazuje możliwe uzupełnienia tekstu sprzed kursora, traktując go jak nazwę
hosta.
.TP 
\fBcomplete\-command (M\-!)\fP
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.
.TP 
\fBpossible\-command\-completions (C\-x !)\fP
Pokazuje możliwe uzupełnienia tekstu sprzed kursora, traktując go jak nazwę
polecenia.
.TP 
\fBdynamic\-complete\-history (M\-TAB)\fP
Usiłuje uzupełnić tekst sprzed kursora, w celu odnalezienia możliwych
uzupełnień porównując go z wierszami listy historii.
.TP 
\fBdabbrev\-expand\fP
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.
.TP 
\fBcomplete\-into\-braces (M\-{)\fP
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
\fBInterpretacja nawiasów\fP).
.PD
.SS "Makra klawiaturowe"
.PD 0
.TP 
\fBstart\-kbd\-macro (C\-x (\^)\fP
Rozpoczyna zachowywanie wpisywanych znaków w bieżącym makrze klawiaturowym.
.TP 
\fBend\-kbd\-macro (C\-x )\^)\fP
Zatrzymuje zachowywanie wpisywanych znaków w bieżącym makrze klawiaturowym i
przechowuje definicję.
.TP 
\fBcall\-last\-kbd\-macro (C\-x e)\fP
Ponownie wykonuje zdefiniowane makro klawiaturowe, powodując pojawianie się
znaków makra tak, jakby zostały wpisane z klawiatury.
.TP 
\fBprint\-last\-kbd\-macro ()\fP
Wypisuje ostatnie makro klawiaturowe, w formacie przeznaczonym do pliku
\fIinputrc\fP.
.PD
.SS Różne
.PD 0
.TP 
\fBre\-read\-init\-file (C\-x C\-r)\fP
Odczytuje zawartość pliku \fIinputrc\fP i dołącza wszystkie znalezione tam
przypisania klawiszy i zmiennych.
.TP 
\fBabort (C\-g)\fP
Zaniechuje bieżącego polecenia edycji i emituje sygnał dźwiękowy terminala
(zgodnie z ustawieniami \fBbell\-style\fP).
.TP 
\fBdo\-lowercase\-version (M\-A, M\-B, M\-\fP\fIx\fP\fB, ...)\fP
Jeżeli poprzedzony przedrostkiem meta znak \fIx\fP jest wielką literą,
uruchamia polecenie, które jest przypisane do odpowiedniego meta znaku małej
litery. Zachowanie jest niezdefiniowane, jeśli \fBx\fP jest już małą literą.
.TP 
\fBprefix\-meta (ESC)\fP
Poprzedza przedrostkiem meta następny wpisany znak.
.SM
\fBESC\fP \fBf\fP jest
równoważne \fBMeta\-f\fP.
.TP 
\fBundo (C\-_, C\-x C\-u)\fP
Krokowe cofnięcie operacji, pamiętane odrębnie dla każdego wiersza.
.TP 
\fBrevert\-line (M\-r)\fP
Cofa wszystkie zmiany wykonane na tym wierszu. Podobne do wykonania
polecenia \fBundo\fP wystarczająco wiele razy, by przywrócić wiersz do stanu
początkowego.
.TP 
\fBtilde\-expand (M\-&)\fP
Wykonuje interpretację tyldy w odniesieniu do bieżącego słowa.
.TP 
\fBset\-mark (C\-@, M\-<spacja>)\fP
stawia znacznik (mark) w bieżącym punkcie. Jeżeli podano argument
numeryczny, znacznik jest ustawiany na takiej pozycji.
.TP 
\fBexchange\-point\-and\-mark (C\-x C\-x)\fP
Zamień punkt ze znacznikiem. Aktualna pozycja kursora ustawiana jest na
zapamiętaną, a dotychczasowa pozycja zachowywana jako znacznik.
.TP 
\fBcharacter\-search (C\-])\fP
Odczytywany jest znak a punkt przesuwa się na następne wystąpienie tego
znaku. Argument ujemny wyszukuje poprzednie wystąpienia.
.TP 
\fBcharacter\-search\-backward (M\-C\-])\fP
Odczytywany jest znak a punkt przesuwa się na poprzednie wystąpienie tego
znaku. Argument ujemny wyszukuje kolejne wystąpienia.
.TP 
\fBskip\-csi\-sequence\fP
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 "\e[", 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\-[.
.TP 
\fBinsert\-comment (M\-#)\fP
Bez argumentu numerycznego, na początek bieżącego wiersza wstawiana jest
wartość zmiennej \fBcomment\-begin\fP 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 \fBcomment\-begin\fP, to wartość jest wstawiana,
w przeciwnym wypadku znaki w \fBcomment\-begin\fP są usuwane z początku każdego
wiersza. W każdym przypadku wiersz jest akceptowany tak, jakby wprowadzono
znak nowej linii.  Domyślna wartość \fBcomment\-begin\fP 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ę.
.TP 
\fBspell\-correct\-word (C\-x s)\fP
Perform spelling correction on the current word, treating it as a directory
or filename, in the same way as the \fBcdspell\fP shell option.  Word
boundaries are the same as those used by \fBshell\-forward\-word\fP.
.TP 
\fBglob\-complete\-word (M\-g)\fP
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ń.
.TP 
\fBglob\-expand\-word (C\-x *)\fP
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).
.TP 
\fBglob\-list\-expansions (C\-x g)\fP
Wyświetlana jest lista rozwinięć, jakie zostałyby utworzone przez
\fBglob\-expand\-word,\fP a wiersz jest ponownie wyświetlany. Jeśli podano
numeryczny argument, to przed rozwijaniem nazw plików dodawana jest gwiazdka
(asterysk).
.TP 
\fBdump\-functions\fP
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 \fIinputrc\fP.
.TP 
\fBdump\-variables\fP
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 \fIinputrc\fP.
.TP 
\fBdump\-macros\fP
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 \fIinputrc\fP.
.TP 
\fBdisplay\-shell\-version (C\-x C\-v)\fP
Wyświetla informację o wersji aktualnego egzemplarza \fBbash\fP.
.PD
.SS "Programowalne uzupełnianie"
Gdy następuje próba uzupełnienia słowa dla argumentu polecenia, dla którego
zdefiniowano specyfikację uzupełniania (completion specification,
\fIcompspec\fP) przy pomocy wbudowanego polecenia \fBcomplete\fP (zobacz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP poniżej), wywoływane są usługi
programowalnego uzupełniania.
.PP
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 \fB\-E\fP option to \fBcomplete\fP 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 \fB\-D\fP option to
\fBcomplete\fP is used as the default.  If there is no default compspec,
\fBbash\fP 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.
.PP
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 \fBbash\fPa, jak opisano powyżej w \fBUzupełnianie\fP.
.PP
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 \fB\-f\fP lub \fB\-d\fP, do filtrowania
dopasowań wykorzystywana jest zmienna powłoki
.SM
\fBFIGNORE\fP.
.PP
W następnej kolejności tworzone są ewentualne uzupełnienia określone przez
wzorzec rozwinięcia nazw plików opcji \fB\-G\fP.  Słowa tworzone przez wzorzec
nie muszą pasować do uzupełnianego słowa.  Zmienna powłoki
.SM
\fBGLOBIGNORE\fP nie jest używana do filtrowania dopasowań, ale zmienna
.SM
\fBFIGNORE\fP jest używana.
.PP
Następnie, brany jest pod uwagę łańcuch podany jako argument opcji \fB\-W\fP.
Łańcuch jest najpierw rozbijany przy zastosowaniu znaków ze zmiennej
specjalnej
.SM
\fBIFS\fP 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
.SM
\fBINTERPRETACJA\fP.  Wyniki są
rozbijane z zastosowaniem reguł opisanych powyżej w sekcji \fBPodział na słowa\fP.  Wyniki interpretacji są dopasowywane przedrostkiem z uzupełnianym
słowem, a pasujące słowa stają się możliwymi uzupełnieniami.
.PP
Po utworzeniu tych dopasowań, wywoływana jest funkcja lub polecenie
określone opcjami \fB\-F\fP i \fB\-C\fP.  Podczas wywoływania polecenia czy funkcji,
zmiennym
.SM
\fBCOMP_LINE\fP,
.SM
\fBCOMP_POINT\fP,
.SM
\fBCOMP_KEY\fP i
.SM
\fBCOMP_TYPE\fP przypisywane są wartości, jak opisano to powyżej w
sekcji \fBZmienne powłoki\fP.  Jeżeli wywoływana jest funkcja powłoki,
ustawiane są również zmienne
.SM
\fBCOMP_WORDS\fP i
.SM
\fBCOMP_CWORD\fP.
Kiedy wywoływana jest funkcja czy polecenie, pierwszym argumentem (\fB$1\fP)
staje się nazwa polecenia, którego argumenty są uzupełniane, drugim
argumentem (\fB$2\fP) \-\- uzupełniane słowo, a trzecim słowem (\fB$3\fP)
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ń.
.PP
W pierwszej kolejności wywoływana jest funkcja określona przez \fB\-F\fP.  Do
tworzenia dopasowań może ona korzystać z dowolnych możliwości powłoki,
łącznie z opisanym poniżej poleceniem wbudowanym \fBcompgen\fP. Funkcja musi
umieścić możliwe uzupełnienia w zmiennej tablicowej
.SM
\fBCOMPREPLY\fP,
jedno na element tablicy.
.PP
Następnie, wywoływane jest polecenie określone opcją \fB\-C\fP, 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.
.PP
Po utworzeniu wszelkich możliwych uzupełnień, do listy tej stosowany jest
filtr określony opcją \fB\-X\fP.  Filtr jest takim wzorcem, jak używany przy
rozwijaniu nazw ścieżkowych.  Znak \fB&\fP we wzorcu zastępowany jest tekstem
uzupełnianego słowa.  Literał \fB&\fP 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
\fB!\fP daje zaprzeczenie wzorca. Będą wówczas usuwane uzupełnienia nie
pasujące do wzorca. Jeśli włączona jest opcja powłoki \fBnocasematch\fP, to
dopasowanie jest wykonywane bez uwzględniania wielkości liter.
.PP
Na koniec, do każdego elementu listy dodawane są przedrostek i przyrostek
określone opcjami \fB\-P\fP i \fB\-S\fP, a wynik zwracany jest do kodu uzupełniania
readline jako lista możliwych uzupełnień.
.PP
Jeśli poprzednio zastosowane działania nie utworzyły żadnych dopasowań, zaś
przy definiowaniu compspec podano opcję \fB\-o dirnames\fP polecenia
\fBcomplete\fP, to dokonywana jest próba uzupełnienia nazwy katalogu.
.PP
Jeśli do \fBcomplete\fP podano opcję \fB\-o plusdir\fP gdy istnieje zdefiniowane
compspec, to próba dopasowania nazw katalogów jest przeprowadzana, a
ewentualne dopasowania są dodawane do wyników innych akcji.
.PP
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 \fBbash\fP, a domyślne uzupełnianie nazw
ścieżkowych przez readline jest wyłączone. Jeśli przy definiowaniu compspec
podano opcję \fB\-o bashdefault\fP, to jeżeli compspec nie utworzy żadnych
uzupełnień, wykonane zostanie domyślne uzupełnienia \fBbash\fP. Jeśli przy
definiowaniu compspec podano opcję \fB\-o default\fP polecenia \fBcomplete\fP, 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ń \fBbash\fP,
także one).
.PP
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 \fBmark\-direstories\fP readline, niezależnie
od ustawienia zmiennej \fBmark\-symlinked\-directories\fP readline.
.PP
Istnieje pewna obsługa uzupełnień modyfikowanych dynamicznie. Jest to
szczególnie użyteczne w kombinacji z domyślnym uzupełnianiem z opcją
\fBcomplete \-D\fP. 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.
.PP
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:
.PP
\f(CW_completion_loader()\fP
.br
\f(CW{\fP
.br
\f(CW	. "/etc/bash_completion.d/$1.sh" >/dev/null 2>&1 && return 124\fP
.br
\f(CW}\fP
.br
\f(CWcomplete \-D \-F _completion_loader \-o bashdefault \-o default\fP
.br
\fP
.SH HISTORIA
Jeżeli włączona jest opcja \fB\-o history\fP wbudowanego polecenia \fBset\fP, to
powłoka zapewnia dostęp do \fIhistorii poleceń\fP, listy poleceń poprzednio
wprowadzonych.  Wartość zmiennej \fBHISTSIZE\fP wykorzystywana jest jako liczba
poleceń do zachowania na liście historii.  Zachowywany jest tekst ostatnich
.SM
\fBHISTSIZE\fP poleceń (domyślnie 500). Powłoka przechowuje każde
polecenie na liście przed podstawieniem wartości parametrów i zmiennych
(zobacz powyżej
.SM
\fBINTERPRETACJA\fP), ale przed wykonaniem interpretacji
historii, w zależności od wartości zmiennych powłoki
.SM
\fBHISTIGNORE\fP i
.SM
\fBHISTCONTROL\fP.
.PP
Przy uruchamianiu, historia inicjowana jest z pliku o nazwie wskazanej
zmienną
.SM
\fBHISTFILE\fP (domyślnie \fI~/.bash_history\fP). Plik o nazwie
wziętej z wartości
.SM
\fBHISTFILE\fP jest obcinany, jeśli zachodzi
potrzeba, by zawierał nie więcej wierszy niż określono to wartością zmiennej
.SM
\fBHISTFILESIZE\fP. Jeśli \fBHISTFILESIZE\fP 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
.SM
\fBHISTTIMEFORMAT\fP. Podczas kończenia pracy powłoki
z włączoną historią, ostatnie
.SM
\fB$HISTSIZE\fP wierszy kopiowane jest z
listy historii do
.SM
\fB$HISTFILE\fP.  Jeżeli włączona jest opcja powłoki
\fBhistappend\fP (zobacz opis \fBshopt\fP w sekcji
.SM
\fBWBUDOWANE\fP
\fBPOLECENIA\fP \fBPOWŁOKI\fP poniżej), to wiersze są dodawane na koniec pliku
historii, w przeciwnym razie plik historii jest nadpisywany.  Jeżeli
.SM
\fBHISTFILE\fP nie jest ustawione lub plik historii nie daje się zapisać, to
historia nie jest zachowywana. Jeśli zmienna
.SM
\fBHISTTIMEFORMAT\fP 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ż
.SM
\fBHISTFILESIZE\fP wierszy. Jeśli
.SM
\fBHISTFILESIZE\fP nie jest ustawione
albo jest ustawione na null, wartość nienumeryczną lub wartość numeryczną
mniejszą od zera, to plik historii nie jest obcinany.
.PP
Do edycji lub ponownego wykonania części listy historii można korzystać z
wbudowanego polecenia \fBfc\fP (zobacz
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP
poniżej).  Wbudowanego polecenia \fBhistory\fP 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.
.PP
Powłoka umożliwia kontrolę nad tym, jakie polecenia są zachowywane na
liście.  Można ustawić zmienne
.SM
\fBHISTCONTROL\fP i
.SM
\fBHISTIGNORE\fP,
co spowoduje, że powłoka będzie zachowywać tylko podzbiór wprowadzonych
poleceń.  Opcja powłoki \fBcmdhist\fP, 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 \fBlithist\fP powoduje, że powłoka
będzie zachowywać polecenia z osadzonymi znakami nowej linii zamiast
średników. Zobacz opis wbudowanego \fBshopt\fP poniżej, w sekcji
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP, gdzie znajdziesz informacje o ustawianiu i
kasowaniu opcji powłoki.
.SH "INTERPRETACJA HISTORII"
Powłoka obsługuje funkcję interpretacji historii, podobną do interpretacji
historii w \fBcsh\fP.  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 \fB+H\fP wbudowanego polecenia \fBset\fP (zobacz poniżej
.SM
\fBWBUDOWANE POLECENIA POWŁOKI\fP).  Powłoki nie\-interaktywne domyślnie nie
wykonują interpretacji historii.
.PP
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.
.PP
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 \fIzdarzeniem\fP (event), a jego części na których
wykonywane są działania są \fIsłowami\fP.  Dostępne są różne \fImodyfikatory\fP 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
\fImetaznakami\fP 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 \^\fB!\fP\^.  Znak rozwijający historię cytować
mogą wyłącznie odwrotny ukośnik (\^\fB\e\fP\^) 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.
.PP
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
\fB=\fP. Jeśli włączono opcję powłoki \fBextglob\fP, to \fB(\fP również zapobiegnie
interpretacji.
.PP
Kilka opcji powłoki ustawianych przy pomocy \fBshopt\fP może służyć do
śledzenia działania interpretacji historii.  Jeżeli opcja \fBhistverify\fP
powłoki jest włączona (zobacz opis wbudowanego \fBshopt\fP)  i używane jest
\fBreadline\fP, 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 \fBreadline\fP w celu dalszej
modyfikacji.  Jeżeli wykorzystywane jest \fBreadline\fP i włączona jest opcja
\fBhistreedit\fP, to zakończone niepowodzeniem podstawienie historii zostanie
ponownie załadowane do bufora edycyjnego \fBreadline\fP w celu poprawienia.
Opcją \fB\-p\fP wbudowanego polecenia \fBhistory\fP można posłużyć się do
oglądnięcia, co zrobi interpretacja historii przed jej zastosowaniem.  Opcji
\fB\-s\fP wbudowanego polecenia \fBhistory\fP 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ń.
.PP
Powłoka pozwala na kontrolowanie różnych znaków stosowanych przez mechanizm
interpretacji historii (zobacz opis \fBhistchars\fP powyżej, w sekcji \fBZmienne powłoki\fP). Do oznaczania pieczątek czasowych, powłoka używa znaku komentarza
historii podczas zapisywania pliku historii.
.SS "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.
.PP
.PD 0
.TP 
\fB!\fP
Rozpoczyna podstawianie historii, z wyjątkiem sytuacji, gdy występuje po nim
odstęp, znak nowej linii, = lub ( (gdy włączono opcję powłoki \fBextglob\fP
używając wbudowanego \fBshopt\fP).
.TP 
\fB!\fP\fIn\fP
Wskazuje na \fIn\fP\-ty wiersz poleceń.
.TP 
\fB!\-\fP\fIn\fP
Wskazuje na wiersz poleceń bieżący minus \fIn\fP.
.TP 
\fB!!\fP
Wskazuje na poprzednie polecenie. jest to synonim `!\-1'.
.TP 
\fB!\fP\fIłańcuch\fP
Wskazuje na ostatnie poleceniem rozpoczynające się od \fIłańcucha\fP.
.TP 
\fB!?\fP\fIłańcuch\fP\fB[?]\fP
Wskazuje na ostatnie polecenie poprzedzające bieżącą pozycję w liście
historii, zawierające \fIłańcuch\fP.  Kończące \fB?\fP można pominąć jeśli
bezpośrednio po \fIłańcuchu\fP występuje znak nowej linii. Jeśli nie poda się
\fIłańcucha\fP, używany jest łańcuch z ostatniego wyszukiwania; brak takowego
jest błędem.
.TP 
\fB\d\s+2^\s-2\u\fP\fIłańcuch1\fP\fB\d\s+2^\s-2\u\fP\fIłańcuch2\fP\fB\d\s+2^\s-2\u\fP
Szybkie podstawianie. Powtarza ostatnie polecenie, wymieniając \fIłańcuch1\fP
na \fIłańcuch2\fP.  Równoważnik
,,!!:s\d\s+2^\s-2\u\fIłańcuch1\fP\d\s+2^\s-2\u\fIłańcuch2\fP\d\s+2^\s-2\u (zobacz
poniżej \fBModyfikatory\fP).
.TP 
\fB!#\fP
Cały wiersz poleceń wpisany do tego momentu.
.PD
.SS "Desygnatory słów (Word Designators)"
Desygnatory słów służą do wybierania ze zdarzenia żądanych słów.  Dwukropek
\fB:\fP oddziela określenie zdarzenia od desygnatora słowa. Może być pominięty
jeśli desygnator słowa rozpoczyna się od \fB^\fP, \fB$\fP, \fB*\fP, \fB\-\fP lub \fB%\fP.
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.
.PP
.PD 0
.TP 
\fB0 (zero)\fP
Słowo zerowe. Dla powłoki jest to słowo polecenia.
.TP 
\fIn\fP
\fIn\fP\-te słowo.
.TP 
\fB^\fP
Pierwszy argument. To znaczy, słowo 1.
.TP 
\fB$\fP
Ostatnie słowo. Jest to zwykle ostatni argument, ale jest interpretowany
jako zerowe słowo, gdy jest tylko jedno słowo w wierszu.
.TP 
\fB%\fP
Pierwsze słowo dopasowane przez ostatnie wyszukanie `?\fIłańcuch\fP?', jeśli
szukany łańcuch rozpoczyna się znakiem, będącym częścią słowa.
.TP 
\fIx\fP\fB\-\fP\fIy\fP
Zakres słów; `\-\fIy\fP' jest skróconym `0\-\fIy\fP'.
.TP 
\fB*\fP
Wszystkie słowa prócz zerowego. jest to synonim dla `\fI1\-$\fP'.  Nie jest
błędem użycie \fB*\fP jeśli w zdarzeniu jest tylko jedno słowo; w tym przypadku
zwracany jest łańcuch pusty.
.TP 
\fBx*\fP
Skrót od \fIx\-$\fP.
.TP 
\fBx\-\fP
Skrót od \fIx\-$\fP podobnie jak \fBx*\fP, ale pomija ostatnie słowo. Jeśli brak
\fBx\fP, przyjmowane jest domyślne 0.
.PD
.PP
jeśli desygnator słowa podano bez określenia zdarzenia, za zdarzenie
przyjmowane jest poprzednie polecenie.
.SS Modyfikatory
Po opcjonalnym desygnatorze słowa może pojawić się sekwencja jednego lub
więcej poniższych modyfikatorów, każdy poprzedzony dwukropkiem
\[Bq]:\[rq]. Modyfikują one lub edytują słowo (lub słowa), wybrane ze
zdarzenia historii.
.PP
.PD 0
.TP 
\fBh\fP
Usuwa końcową składową nazwy pliku, pozostawiając tylko początek.
.TP 
\fBt\fP
Usuwa wszystkie początkowe składowe nazwy pliku, pozostawiając koniec.
.TP 
\fBr\fP
Usuwa kończący przyrostek postaci \fI.xxx\fP, pozostawiając główną część nazwy
(basename).
.TP 
\fBe\fP
Usuwa wszystko prócz końcowego przyrostka.
.TP 
\fBp\fP
Wypisuje nowe polecenie, ale go nie wykonuje.
.TP 
\fBq\fP
Cytuje podstawiane słowa, zabezpieczając je przed dalszym podstawianiem.
.TP 
\fBx\fP
Cytuje podstawiane słowa jak \fBq\fP, ale rozbija na słowa w miejscach
\fBodstępów\fP i znaków nowej linii. Modyfikatory \fBq\fP i \fBx\fP wzajemnie się
wykluczają; będzie zastosowany podany jako ostatni.
.TP 
\fBs/\fP\fIstary\fP\fB/\fP\fInowy\fP\fB/\fP
Substitute \fInew\fP for the first occurrence of \fIold\fP 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 \fIold\fP and \fInew\fP with a single backslash.  If & appears in
\fInew\fP, it is replaced by \fIold\fP.  A single backslash will quote the &.  If
\fIold\fP is null, it is set to the last \fIold\fP substituted, or, if no previous
history substitutions took place, the last \fIstring\fP in a
\fB!?\fP\fIstring\fP\fB[?]\fP search.  If \fInew\fP is null, each matching \fIold\fP is
deleted.
.TP 
\fB&\fP
Powtarza poprzednie podstawienie.
.TP 
\fBg\fP
Powoduje, że zmiany zostaną zastosowane do całego wiersza zdarzenia.
Używany w połączeniu z `\fB:s\fP' (np. `\fB:gs/\fP\fIstary\fP\fB/\fP\fInowy\fP\fB/\fP')  lub
`\fB:&\fP'. Jeśli użyty z `\fB:s\fP', to zamiast / można posłużyć się dowolnym
separatorem, a ostatni separator jest opcjonalny jeżeli jest ostatnim
znakiem wiersza zdarzenia.
.TP 
\fBG\fP
Apply the following `\fBs\fP' or `\fB&\fP' modifier once to each word in the event
line.
.PD
.SH "WBUDOWANE POLECENIA POWŁOKI"
.\" start of bash_builtins
.zZ
.PP
Jeśli nie podano inaczej, każde z poleceń wbudowanych opisanych w niniejszej
sekcji jako akceptujące opcje poprzedzone \fB\-\fP akceptuje również symbol
\fB\-\-\fP określający koniec opcji. Wbudowane \fB:\fP, \fBtrue\fP, \fBfalse\fP i
\fBtest\fP/\fB[\fP nie akceptują opcji i nie traktują \fB\-\-\fP w sposób
specjalny. Wbudowane \fBexit\fP, \fBlogout\fP, \fBreturn\fP, \fBbreak\fP, \fBcontinue\fP,
\fBlet\fP i \fBshift\fP akceptują i przetwarzają argumenty zaczynające się od
\fB\-\fP, bez wymogu podania \fB\-\-\fP. Inne wbudowane polecenia, które akceptują
argumenty, lecz nie są opisane jako akceptujące opcje, interpretują
argumenty zaczynające się od \fB\-\fP jako opcje nieprawidłowe i wymagają \fB\-\-\fP,
aby zapobiec takiej interpretacji,
.sp .5
.PD 0
.TP 
\fB:\fP [\fIargumenty\fP]
.PD
Bez efektów; polecenie to nie robi niczego poza interpretacją \fIargumentów\fP
i wykonaniem ewentualnych podanych przekierowań. Zwracany status to zero.
.TP 
 \fB.\| \fP \fIplik\fP [\fIargumenty\fP]
.PD 0
.TP 
\fBsource\fP \fIplik\fP [\fIargumenty\fP]
.PD
Odczytuje i wykonuje polecenia z zadanego \fIpliku\fP w aktualnym środowisku
powłoki i zwraca kod zakończenia ostatniego wykonanego polecenia z tego
\fIpliku\fP.  Jeżeli nazwa \fIpliku\fP nie zawiera ukośnika, to do znalezienia
katalogu zawierającego \fIplik\fP używane są pliki z
.SM
\fBPATH\fP, a \fIplik\fP
nie musi być wykonywalny. Plik poszukiwany w
.SM
\fBPATH\fP nie musi być
wykonywalny.  Jeśli \fBbash\fP nie jest w \fItrybie posix\fP, wówczas jeżeli nie
znaleziono pliku w
.SM
\fBPATH\fP, to przeszukiwany jest katalog bieżący.
Jeśli we wbudowanym poleceniu \fBshopt\fP wyłączona jest opcja \fBsourcepath\fP,
to
.SM
\fBPATH\fP nie jest przeszukiwane.  jeśli podano jakieś \fIargumenty\fP,
to stają się one parametrami pozycyjnymi podczas wykonywania \fIpliku\fP. W
przeciwnym razie argumenty pozycyjne pozostają bez zmian. Jeśli włączona
jest opcja \fB\-T\fP, \fB.\fP dziedziczy pułapki z \fBDEBUG\fP; jeśli nie, występujący
łańcuch pułapki \fBDEBUG\fP jest zachowywany i przechowywany wokół wywołania do
\&\fB.\fP, a \fB.\fP kasuje pułapkę \fBDEBUG\fP przy jej wykonaniu. Jeśli \fB\-T\fP nie
jest ustawione, a plik źródłowy zmieni pułapkę \fBDEBUG\fP, nowa wartość jest
odzyskiwana po zakończeniu \fB.\fP. 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 \fIpliku\fP lub nie można go
odczytać.
.TP 
\fBalias\fP [\fB\-p\fP] [\fInazwa\fP[=\fIwartość\fP] ...]
\fBAlias\fP bez argumentów bądź z opcją \fB\-p\fP wypisuje na standardowym wyjściu
listę aliasów w postaci \fBalias\fP \fInazwa\fP=\fIwartość\fP.  Jeśli nie dostarczono
argumentów, to definiowany jest alias (synonim)  dla każdej \fInazwy\fP, dla
której podano \fIwartość\fP.  Początkowa spacja w \fIwartości\fP powoduje, że
podczas interpretacji aliasu następne słowo będzie sprawdzane na
podstawianie aliasów.  Dla każdej \fInazwy\fP z listy argumentów, dla której
nie podano \fIwartości\fP, wypisywana jest nazwa i wartość aliasu.  \fBAlias\fP
zwraca prawdę, chyba że podano \fInazwę\fP, dla której nie został zdefiniowany
żaden alias.
.TP 
\fBbg\fP [\fIspec_zad\fP]
Wznawia w tle zawieszone zadanie \fIspec_zad\fP, tak jakby zostało ono
uruchomione z \fB&\fP.  Jeśli \fIspec_zad\fP nie występuje, to używane jest
\fIbieżące zadanie\fP, określone tak, jak je pojmuje powłoka.  \fBbg\fP
\fIspec_zad\fP zwraca 0, chyba że uruchomiono je przy wyłączonej kontroli zadań
(job control) lub uruchomiono z włączoną kontrolą zadań, jeśli nie
znaleziono \fIspec_zad\fP lub uruchomiono bez kontroli zadań.
.TP 
\fBbind\fP [\fB\-m\fP \fImapa\-klawiszy\fP] [\fB\-lpsvPSVX\fP]
.PD 0
.TP 
\fBbind\fP [\fB\-m\fP \fImapa\-klawiszy\fP] [\fB\-q\fP \fIfunkcja\fP] [\fB\-u\fP \fIfunkcja\fP] [\fB\-r\fP \fIsekw_klaw\fP]
.TP 
\fBbind\fP [\fB\-m\fP \fImapa\-klawiszy\fP] \fB\-f\fP \fIplik\fP
.TP 
\fBbind\fP [\fB\-m\fP \fImapa\-klawiszy\fP] \fB\-x\fP \fIsekw_klaw\fP:\fIpolec_powłoki\fP
.TP 
\fBbind\fP [\fB\-m\fP \fImapa\-klawiszy\fP] \fIsekw_klaw\fP:\fInazwa_funkcji\fP
.TP 
\fBbind\fP [\fB\-m\fP \fImapa\-klawiszy\fP] \fIsekw_klaw\fP:\fIpolec_readline\fP
.TP 
\fBbind\fP \fIreadline\-command\-line\fP
.PD
Display current \fBreadline\fP key and function bindings, bind a key sequence
to a \fBreadline\fP function or macro, or set a \fBreadline\fP variable.  Each
non\-option argument is a command as it would appear in a \fBreadline\fP
initialization file such as \fI.inputrc\fP, but each binding or command must be
passed as a separate argument; e.g., '"\eC\-x\eC\-r": re\-read\-init\-file'.
Options, if supplied, have the following meanings:
.RS
.PD 0
.TP 
\fB\-m \fP\fImapa\-klawiszy\fP
Wykorzystuje \fImapę\-klawiszy\fP jako mapę klawiszy, do której mają być
zastosowane następne przypisania. Akceptowanymi nazwami \fImap\-klawiszy\fP są
\fIemacs\fP, \fIemacs\-standard\fP, \fIemacs\-meta\fP, \fIemacs\-ctlx\fP, \fIvi\fP,
\fIvi\-move\fP, \fIvi\-command\fP i \fIvi\-insert\fP.  \fIvi\fP równoważne jest
\fIvi\-command\fP (synonimem jest też \fIvi\-move\fP); \fIemacs\fP jest równoważne
\fIemacs\-standard\fP.
.TP 
\fB\-l\fP
Podaje nazwy wszystkich funkcji \fBreadline\fP.
.TP 
\fB\-p\fP
Wyświetla nazwy funkcji i przypisania w taki sposób, że mogą być ponownie
odczytane.
.TP 
\fB\-P\fP
Podaje bieżące przypisania i nazwy funkcji \fBreadline\fP.
.TP 
\fB\-s\fP
Wyświetla nazwy i wartości zmiennych \fBreadline\fP w taki sposób, że mogą być
ponownie odczytane.
.TP 
\fB\-S\fP
Wyświetla sekwencje klawiszy \fBreadline\fP przypisane do makr i łańcuchy jakie
one wysyłają.
.TP 
\fB\-v\fP
Wyświetla sekwencje klawiszy \fBreadline\fP przypisane do makr i łańcuchy jakie
one wysyłają w taki sposób, że mogą być ponownie odczytane.
.TP 
\fB\-V\fP
Podaje bieżące nazwy i wartości zmiennych \fBreadline\fP.
.TP 
\fB\-f \fP\fIplik\fP
Czyta przypisania klawiszy z \fIpliku\fP.
.TP 
\fB\-q \fP\fIfunkcja\fP
Podaje, które klawisze wywołują podaną \fIfunkcję\fP.
.TP 
\fB\-u \fP\fIfunkcja\fP
Odwołuje przypisania wszystkich klawiszy przypisanych do danej \fIfunkcji\fP.
.TP 
\fB\-r \fP\fIsekw_klaw\fP
Usuwa bieżące przypisania dla \fIsekwencji klawiszy\fP.
.TP 
\fB\-x \fP\fIsekw_klaw\fP\fB:\fP\fIpolec_powłoki\fP
Cause \fIshell\-command\fP to be executed whenever \fIkeyseq\fP is entered.  When
\fIshell\-command\fP is executed, the shell sets the
.SM
\fBREADLINE_LINE\fP
variable to the contents of the \fBreadline\fP line buffer and the
.SM
\fBREADLINE_POINT\fP and
.SM
\fBREADLINE_MARK\fP 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
.SM
\fBREADLINE_ARGUMENT\fP variable.  If there was no argument, that
variable is not set.  If the executed command changes the value of any of
.SM
\fBREADLINE_LINE\fP,
.SM
\fBREADLINE_POINT\fP, or
.SM
\fBREADLINE_MARK\fP, those new values will be reflected in the editing state.
.TP 
\fB\-X\fP
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.
.PD
.PP
Zwracana jest wartość 0, chyba że podano nierozpoznaną opcję lub pojawił się
błąd.
.RE
.TP 
\fBbreak\fP [\fIn\fP]
Opuszcza pętlę \fBfor\fP, \fBwhile\fP, \fBuntil\fP lub \fBselect\fP.  Jeżeli podano
\fIn\fP, przerywa działanie do \fIn\fP\-tego poziomu.  \fIn\fP musi być \(>=
1. Jeżeli \fIn\fP 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 \fBbreak\fP.
.TP 
\fBbuiltin\fP \fIwbudowane\fP [\fIargumenty\fP]
Wykonuje zadane polecenie wbudowane powłoki, przesyłając mu \fIargumenty\fP 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 \fBcd\fP jest
powszechnie redefiniowane w ten sposób.  Kodem zakończenia jest fałsz jeśli
\fIwbudowane\fP nie jest wbudowanym poleceniem powłoki.
.TP 
\fBcaller\fP [\fIwyrażenie\fP]
Zwraca kontekst aktywnego wywołania podprogramu (funkcji powłoki lub skryptu
wykonywanego wbudowanymi poleceniami \fB.\fP lub \fBsource\fP). Bez \fIwyrażenia\fP,
\fBcaller\fP wyświetla numer wiersza i plik źródłowy bieżącego wywołania
podprogramu. Jeśli do \fIwyrażenia\fP przekazano nieujemną liczbę całkowitą, to
\fBcaller\fP 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 \fIwyrażenie\fP nie odnosi się do prawidłowej pozycji w stosie
wywołania.
.TP 
\fBcd\fP [\fB\-L\fP|[\fB\-P\fP [\fB\-e\fP]] [\-@]] [\fIkatalog\fP]
Zmienia bieżący katalog roboczy na \fIkatalog\fP. Jeśli nie poda się
\fIkatalogu\fP, domyślnie jest to wartość zmiennej powłoki
.SM
\fBHOME\fP. Zmienna
.SM
\fBCDPATH\fP definiuje ścieżkę przeszukiwań dla
katalogu zawierającego \fIkatalog\fP: każda nazwa katalogu w
.SM
\fBCDPATH\fP
jest przeszukiwana pod kątem \fIkatalogu\fP. Alternatywne nazwy katalogów w
.SM
\fBCDPATH\fP rozdzielane są dwukropkiem (:). Pusta nazwa katalogu w
.SM
\fBCDPATH\fP jest tym samym, co katalog bieżący, tj. "\fB.\fP". Jeżeli
\fIkatalog\fP rozpoczyna się ukośnikiem (/), to
.SM
\fBCDPATH\fP nie jest
używane. Opcja \fB\-P\fP nakazuje użycie fizycznej struktury katalogów podążając
za dowiązaniami symbolicznymi przy przechodzeniu przez \fIkatalog\fP i przed
przetwarzaniem wystąpień \fI..\fP w \fIkatalogu\fP (zobacz też opcja \fB\-P\fP
wbudowanego polecenia \fBset\fP). Opcja \fB\-L\fP wymusza podążanie za dowiązaniami
symbolicznymi po przetworzeniu wystąpień \fI..\fP w \fIkatalogu\fP. Jeśli w
\fIkatalogu\fP pojawi się \fI..\fP, to jest ono pzetwarzane przez usunięcie
występującej zaraz przed nim składowej ścieżki z \fIkatalogu\fP, aż do ukośnika
rozpoczynającego \fIkatalog\fP. Jeśli z \fB\-P\fP użyto opcji \fB\-e\fP, a bieżący
katalog roboczy nie może zostać pomyślnie określony po pomyślnej zmianie
katalogu, to \fBcd\fP zwróci kod oznaczający niepowodzenie. W systemach które
to obsługują, opcja \fB\-@\fP przedstawia atrybuty rozszerzone powiązane z
plikiem jak i katalogiem. Argument \fB\-\fP jest przetwarzany na
.SM
\fB$OLDPWD\fP przed przeprowadzeniem próby zmiany katalogu.Jeśli użyta jest
niepusta nazwa katalogu z
.SM
\fBCDPATH\fP lub jeśli \fB\-\fP 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, \fBcd\fP ustawia wartość zmiennej środowiskowej
\fBPWD\fP 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.
.TP 
\fBcommand\fP [\fB\-pVv\fP] \fIpolecenie\fP [\fIarg\fP ...]
Uruchamia \fIpolecenie\fP z \fIargumentami\fP zakazując zwykłego wyszukiwania
funkcji przez powłokę. Wykonywane są wyłącznie polecenia wbudowane i
polecenia znalezione w
.SM
\fBPATH\fP.  Jeżeli podano opcję \fB\-p\fP,
wyszukiwanie \fIpolecenia\fP wykonywane jest przy użyciu domyślnej \fBPATH\fP,
która gwarantuje znalezienie wszystkich standardowych narzędzi. Jeśli użyto
albo opcji \fB\-V\fP albo \fB\-v\fP, to wypisywany jest opis \fIpolecenia\fP. Opcja
\fB\-v\fP powoduje, że zostanie wyświetlone pojedyncze słowo wskazujące
polecenie lub nazwę pliku, użyte do wywołania \fIpolecenia\fP; opcja \fB\-V\fP
tworzy bardziej obszerny opis.  Jeżeli podano opcję \fB\-V\fP lub \fB\-v\fP, to
kodem zakończenia jest 0 gdy odnaleziono \fIpolecenie\fP, zaś 1 gdy nie. Jeśli
nie podano żadnej z tych opcji i pojawił się błąd lub nie można znaleźć
\fIpolecenia\fP, to kod zakończenia wynosi 127. W przeciwnym wypadku kodem
zakończenia wbudowanego polecenia \fBcommand\fP jest kod zakończenia
\fIpolecenia\fP.
.TP 
\fBcompgen\fP [\fIopcja\fP] [\fIsłowo\fP]
Tworzy możliwe dopasowania uzupełnień dla \fIsłowa\fP zgodnie z \fIopcjami\fP,
które mogą być dowolnymi z opcji akceptowanych przez wbudowane polecenie
\fBcomplete\fP, z wyjątkiem \fB\-p\fP i \fB\-r\fP, i wypisuje dopasowania na
standardowe wyjście.  Przy stosowaniu opcji \fB\-F\fP lub \fB\-C\fP, różne zmienne
powłoki ustawiane przez usługi programowalnego uzupełniania, gdy są
dostępne, nie będą mieć użytecznych wartości.
.sp 1
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 \fIsłowo\fP, to wyświetlone zostaną wyłącznie
uzupełnienia doń pasujące.
.sp 1
Wartością zwracaną jest prawda, chyba że podano niepoprawną opcję lub nie
zostały utworzone żadne dopasowania.
.TP 
\fBcomplete\fP [\fB\-abcdefgjksuv\fP] [\fB\-o\fP \fIopcjacomp\fP] [\fB\-DEI\fP] [\fB\-A\fP \fIakcja\fP] [\fB\-G\fP \fIwzglob\fP] [\fB\-W\fP \fIlistasłów\fP]
.br
[\fB\-F\fP \fIfunkcja\fP] [\fB\-C\fP \fIpolecenie\fP] [\fB\-X\fP \fIwzfiltr\fP] [\fB\-P\fP
\fIprzedrostek\fP] [\fB\-C\fP \fIprzyrostek\fP] \fInazwa\fP [\fInazwa ...\fP]
.PD 0
.TP 
\fBcomplete\fP \fB\-pr\fP [\fB\-DEI\fP] [\fInazwa\fP ...]
.PD
Specify how arguments to each \fIname\fP should be completed.  If the \fB\-p\fP
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 \fB\-r\fP option removes a completion specification for each \fIname\fP, or, if
no \fIname\fPs are supplied, all completion specifications.  The \fB\-D\fP option
indicates that other supplied options and actions should apply to the
\*(lqdefault\*(rq command completion; that is, completion attempted on a command
for which no completion has previously been defined.  The \fB\-E\fP option
indicates that other supplied options and actions should apply to \*(lqempty\*(rq
command completion; that is, completion attempted on a blank line.  The
\fB\-I\fP 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 \fB;\fP or \fB|\fP, which is usually command name
completion.  If multiple options are supplied, the \fB\-D\fP option takes
precedence over \fB\-E\fP, and both take precedence over \fB\-I\fP.  If any of
\fB\-D\fP, \fB\-E\fP, or \fB\-I\fP are supplied, any other \fIname\fP arguments are
ignored; these completions only apply to the case specified by the option.
.sp 1
Proces stosowania tych specyfikacji uzupełnień podczas prób uzupełniania
słów omówiono
.ie  \n(zZ=1 in \fIbash(1)\fP.
.el above under \fBProgrammable Completion\fP.
.sp 1
Pozostałe opcje, jeśli je podano, mają niżej opisane znaczenie.  Argumenty
opcji \fB\-G\fP, \fB\-W\fP i \fB\-X\fP (i, jeśli to niezbędne, \fB\-P\fP i \fB\-S\fP) powinny
być cytowane dla ochrony przed interpretacją jaka wystąpi zanim zostanie
wywołane polecenie \fBcomplete\fP.
.RS
.PD 0
.TP  8
\fB\-o\fP \fIopcjacomp\fP
Wartość \fIopcjacomp\fP reguluje kilka aspektów zachowania się compspec
wykraczających poza zwykłe tworzenie uzupełnień.  \fIopcjacomp\fP przyjmuje
jedną z wartości:
.RS
.TP  8
\fBbashdefault\fP
Wykonuje pozostałe z domyślnych uzupełnień \fBbash\fP, jeśli compspec nie
utworzy żadnych dopasowań.
.TP  8
\fBdefault\fP
Stosuje domyślne uzupełnianie readline jeśli compspec nie utworzy żadnych
dopasowań.
.TP  8
\fBdirnames\fP
Wykonuje uzupełnianie nazw katalogów jeśli compspec nie utworzy żadnych
dopasowań.
.TP  8
\fBfilenames\fP
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.
.TP  8
\fBnoquote\fP
Przekazuje readline, aby nie cytowało uzupełnianych słów, jeśli są nazwami
plików (domyślnie nazwy plików są cytowane).
.TP  8
\fBnosort\fP
Przekazuje readline, aby nie sortowało alfabetycznie listy dostępnych
uzupełnień.
.TP  8
\fBnospace\fP
Przekazuje readline, aby nie dodawało spacji (domyślnie) do uzupełnionych
słów, na końcu wiersza.
.TP  8
\fBplusdirs\fP
Po utworzeniu dopasowań zdefiniowanych przez compspec, przeprowadzana jest
próba dopasowania nazw katalogów, a ewentualne dopasowania są dodawane do
wyników innych akcji.
.RE
.TP  8
\fB\-A\fP \fIakcja\fP
\fIakcja\fP może być jedną z poniższych, tworzących listę możliwych dopasowań:
.RS
.TP  8
\fBalias\fP
Nazwy aliasów. Można też podać jako \fB\-a\fP.
.TP  8
\fBarrayvar\fP
Nazwy zmiennych tablicowych.
.TP  8
\fBbinding\fP
Nazwy przypisań klawiszy \fBreadline\fP.
.TP  8
\fBbuiltin\fP
Nazwy wbudowanych poleceń powłoki. Można też podać jako \fB\-b\fP.
.TP  8
\fBcommand\fP
Nazwy poleceń. Można też podać jako \fB\-c\fP.
.TP  8
\fBdirectory\fP
Nazwy katalogów. Można też podać jako \fB\-d\fP.
.TP  8
\fBdisabled\fP
Nazwy wyłączonych poleceń wbudowanych powłoki.
.TP  8
\fBenabled\fP
Nazwy włączonych poleceń wbudowanych powłoki.
.TP  8
\fBexport\fP
Nazwy wyeksportowanych zmiennych powłoki. Można też podać jako \fB\-e\fP.
.TP  8
\fBfile\fP
Nazwy plików. Można też podać jako \fB\-f\fP.
.TP  8
\fBfunction\fP
Nazwy funkcji powłoki.
.TP  8
\fBgroup\fP
Nazwy grup. Można też podać jako \fB\-g\fP.
.TP  8
\fBhelptopic\fP
Tematy pomocy akceptowane przez wbudowane polecenie \fBhelp\fP.
.TP  8
\fBhostname\fP
Nazwy hostów, pobrane z pliku określonego przez zmienną powłoki
.SM
\fBHOSTFILE\fP.
.TP  8
\fBjob\fP
Nazwy zadań, jeżeli aktywne jest sterowanie zadaniami. Można też podać jako
\fB\-j\fP.
.TP  8
\fBkeyword\fP
Zastrzeżone słowa powłoki. Można też podać jako \fB\-k\fP.
.TP  8
\fBrunning\fP
Nazwy działających zadań, jeżeli aktywne jest sterowanie zadaniami.
.TP  8
\fBservice\fP
Nazwy usług. Można też podać jako \fB\-s\fP.
.TP  8
\fBsetopt\fP
Dozwolone argumenty opcji \fB\-o\fP polecenia wbudowanego \fBset\fP.
.TP  8
\fBshopt\fP
Nazwy opcji powłoki, takie, jakie akceptuje polecenie wbudowane \fBshopt\fP.
.TP  8
\fBsignal\fP
Nazwy sygnałów.
.TP  8
\fBstopped\fP
Nazwy zatrzymanych zadań, jeśli aktywne jest sterowanie zadaniami.
.TP  8
\fBuser\fP
Nazwy użytkowników. Można też podać jako \fB\-u\fP.
.TP  8
\fBvariable\fP
Nazwy wszystkich zmiennych powłoki. Można też podać jako \fB\-v\fP.
.RE
.TP  8
\fB\-C\fP \fIpolecenie\fP
\fIpolecenie\fP jest wykonywane w środowisku podpowłoki, a jego wyjście jest
używane jako możliwe uzupełnienia. Argumenty przekazuje się opcją \fB\-F\fP.
.TP  8
\fB\-F\fP \fIfunkcja\fP
Funkcja powłoki \fIfunkcja\fP jest wykonywana w bieżącym środowisku
powłoki. Gdy funkcja jest wykonywana, pierwszy argument (\fB$1\fP) jest nazwą
polecenia, którego argumenty są uzupełniane, drugim argumentem (\fB$2\fP) jest
uzupełniane słowo, a trzecim (\fB$3\fP) 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
.SM
\fBCOMPREPLY\fP.
.TP  8
\fB\-G\fP \fIwzglob\fP
Wzorzec rozwijania nazw plików \fIwzglob\fP jest rozwijany, tworząc listę
możliwych uzupełnień.
.TP  8
\fB\-P\fP \fIprzedrostek\fP
na początku każdego z możliwych uzupełnień, po zastosowaniu wszystkich
innych opcji, dodawany jest \fIprzedrostek\fP.
.TP  8
\fB\-S\fP \fIprzyrostek\fP
na końcu każdego z możliwych uzupełnień, po zastosowaniu wszystkich innych
opcji, dodawany jest \fIprzyrostek\fP.
.TP  8
\fB\-W\fP \fIlistasłów\fP
The \fIwordlist\fP is split using the characters in the
.SM
\fBIFS\fP special
variable as delimiters, and each resultant word is expanded.  Shell quoting
is honored within \fIwordlist\fP, in order to provide a mechanism for the words
to contain shell metacharacters or characters in the value of
.SM
\fBIFS\fP.  The possible completions are the members of the resultant list
which match the word being completed.
.TP  8
\fB\-X\fP \fIwzfiltr\fP
\fIwzfiltr\fP 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 \fB!\fP w \fIwzfiltr\fP powoduje negację wzorca; usuwane są wówczas
uzupełnienia nie pasujące do \fIwzfiltr\fP.
.PD
.PP
Wartością zwracana jest prawda, chyba że podano niepoprawną opcję, podano
bez argumentu \fInazwa\fP opcję inną niż \fB\-p\fP lub \fB\-r\fP, usiłowano usunąć
specyfikację uzupełniania dla \fInazwy\fP, dla której nie istnieje żadna
specyfikacja, albo też podczas dodawania specyfikacji uzupełniania wystąpił
błąd.
.RE
.TP 
\fBcompopt\fP [\fB\-o\fP \fIopcja\fP] [\fB\-DEI\fP] [\fB+o\fP \fIopcja\fP] [\fInazwa\fP]
Modify completion options for each \fIname\fP according to the \fIoption\fPs, or
for the currently\-executing completion if no \fIname\fPs are supplied.  If no
\fIoption\fPs are given, display the completion options for each \fIname\fP or the
current completion.  The possible values of \fIoption\fP are those valid for
the \fBcomplete\fP builtin described above.  The \fB\-D\fP option indicates that
other supplied options should apply to the \*(lqdefault\*(rq command completion;
that is, completion attempted on a command for which no completion has
previously been defined.  The \fB\-E\fP option indicates that other supplied
options should apply to \*(lqempty\*(rq command completion; that is, completion
attempted on a blank line.  The \fB\-I\fP 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 \fB;\fP or \fB|\fP, which is usually
command name completion.
.sp 1
Zwracaną wartością jest prawda, chyba że podano nieprawidłową opcję,
przeprowadzono próbę zmodyfikowania opcji dla \fInazwy\fP, dla której nie
istnieje specyfikacja uzupełniania lub wystąpił błąd wyjścia.
.TP 
\fBcontinue\fP [\fIn\fP]
Wznawia następną iterację obejmującej je pętli \fBfor\fP, \fBwhile\fP, \fBuntil\fP
lub \fBselect\fP.  Jeżeli podano \fIn\fP, wznawia \fIn\fP\-tą obejmującą pętlę.  \fIn\fP
musi być \(>= 1. Jeżeli \fIn\fP jest większe niż liczba obejmujących pętli,
to wznawiana jest ostatnia z pętli (,,najwyższa\*(rq). Wartość zwracana wynosi
0, chyba że powłoka nie wykonuje pętli podczas wykonywania \fBcontinue\fP.
.TP 
\fBdeclare\fP [\fB\-aAfFgiIlnrtux\fP] [\fB\-p\fP] [\fInazwa\fP[=\fIwartość\fP] ...]
.PD 0
.TP 
\fBtypeset\fP [\fB\-aAfFgiIlnrtux\fP] [\fB\-p\fP] [\fInazwa\fP[=\fIwartość\fP] ...]
.PD
Declare variables and/or give them attributes.  If no \fIname\fPs are given
then display the values of variables.  The \fB\-p\fP option will display the
attributes and values of each \fIname\fP.  When \fB\-p\fP is used with \fIname\fP
arguments, additional options, other than \fB\-f\fP and \fB\-F\fP, are ignored.
When \fB\-p\fP is supplied without \fIname\fP 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 \fB\-p\fP,
\fBdeclare\fP will display the attributes and values of all shell variables.
The \fB\-f\fP option will restrict the display to shell functions.  The \fB\-F\fP
option inhibits the display of function definitions; only the function name
and attributes are printed.  If the \fBextdebug\fP shell option is enabled
using \fBshopt\fP, the source file name and line number where each \fIname\fP is
defined are displayed as well.  The \fB\-F\fP option implies \fB\-f\fP.  The \fB\-g\fP
option forces variables to be created or modified at the global scope, even
when \fBdeclare\fP is executed in a shell function.  It is ignored in all other
cases.  The \fB\-I\fP option causes local variables to inherit the attributes
(except the \fInameref\fP attribute)  and value of any existing variable with
the same \fIname\fP 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:
.RS
.PD 0
.TP 
\fB\-a\fP
Każda z \fInazw\fP jest indeksowaną zmienną tablicową (zobacz \fBTablice\fP).
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
.TP 
\fB\-A\fP
Każda z \fInazw\fP jest asocjacyjną zmienną tablicową (zobacz \fBTablice\fP).
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
.TP 
\fB\-f\fP
Używa wyłącznie nazw funkcji.
.TP 
\fB\-i\fP
Zmienna jest traktowana jak całkowita; wykonywana jest interpretacja wyrażeń
arytmetycznych (zobacz
.SM
\fBOBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH\fP)
.ie  \n(zZ=1 in \fIbash(1)\fP)
.el above)
gdy zmiennej jest przypisywana wartość.
.TP 
\fB\-l\fP
Gdy zmiennej przypisano wartość, wszystkie wielkie litery są zamieniane na
małe. Przypisania za pomocą wielkich liter są wyłączone.
.TP 
\fB\-n\fP
Nadaje każdej \fInazwie\fP atrybut \fInazwa referencyjna\fP, czyniąc ją nazwą
referencyjną odnoszącą się do innej zmiennej. Ta inna zmienna jest
definiowana w \fIwartości\fP nazwy. Wszystkie odniesienia i przypisania i
modyfikacje atrybutów \fInazwy\fP, z wyjątkiem tych używających lub
zmieniających sam atrybut \fB\-n\fP są wykonywane na zmiennej do której odnosi
się \fIwartość\fP nazwy. Atrybutu nazwa referencyjna nie można zastosować do
zmiennych tablicowych.
.TP 
\fB\-r\fP
Powoduje, że dane \fInazwy\fP 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.
.TP 
\fB\-t\fP
Nadaje każdej \fInazwie\fP atrybut \fItrace\fP. Funkcje z tym atrybutem dziedziczą
pułapki \fBDEBUG\fP i \fBRETURN\fP z wywołującej je funkcji. Atrybut ten nie ma
specjalnego znaczenia dla zmiennych.
.TP 
\fB\-u\fP
Gdy zmiennej przypisano wartość, wszystkie małe litery są zamieniane na
wielkie. Przypisania za pomocą małych liter są wyłączone.
.TP 
\fB\-x\fP
Zaznacza \fInazwę\fP do wyeksportowania przez środowisko do kolejnych poleceń.
.PD
.PP
Użycie `+' zamiast `\-' wyłącza atrybut, z wyjątkiem tego, że \fB+a\fP i \fB+A\fP
nie może być używane do niszczenia zmiennych tablicowych. a \fB+r\fP nie usunie
atrybutu tylko do odczytu. Użyte w funkcji \fBdeclare\fP i \fBtypeset\fP powodują,
że każda z \fInazw\fP staje się lokalna, jak przy pomocy polecenia \fBlocal\fP,
chyba że podano opcję \fB\-g\fP. Przy używaniu \fB\-a\fP lub \fB\-A\fP 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
=\fIwartość\fP, to wartość zmiennej jest ustawiana na \fIwartość\fP. Zwracana jest
wartość 0, chyba że napotkano niepoprawną opcję, próbę zdefiniowania funkcji
przy pomocy
.if  n ``\-f foo=bar'',
.if  t \f(CW\-f foo=bar\fP,
przypisania wartości zmiennej readonly, przypisania wartości zmiennej
tablicowej bez użycia składni przypisania złożonego (zobacz \fBTablice\fP
.ie  \n(zZ=1 in \fIbash(1)\fP),
.el above),
jedna z \fInazw\fP 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 \fB\-f\fP.
.RE
.TP 
\fBdirs\fP [\fB\-clpv\fP] [\fB+\fP\fIn\fP\fB] [\-\fP\fIn\fP\fB]\fP
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 \fBpushd\fP
polecenie \fBpopd\fP usuwa pozycje z listy. Bieżący katalog jest zawsze
pierwszy na stosie.
.RS
.PD 0
.TP 
\fB\-c\fP
Czyści stos katalogów usuwając wszystkie jego pozycje.
.TP 
\fB\-l\fP
Tworzy listing używając pełnych ścieżek; domyślnie format listingu posługuje
się tyldą do oznaczania katalogu domowego.
.TP 
\fB\-p\fP
Wypisuje stos katalogów po jednej pozycji na wiersz.
.TP 
\fB\-v\fP
Wypisuje stos katalogów po jednej pozycji na wiersz, poprzedzając każdą z
nich jej pozycją (indeksem) w stosie.
.TP 
\fB+\fP\fIn\fP
Wyświetla \fIn\fPtą pozycję licząc od lewej na liście pokazywanej przez \fBdirs\fP
przy wywołaniu bez opcji; początkową jest zero.
.TP 
\fB\-\fP\fIn\fP
Wyświetla \fIn\fPtą pozycję licząc od prawej na liście pokazywanej przez
\fBdirs\fP przy wywołaniu bez opcji; początkową jest zero.
.PD
.PP
Wartością zwracaną jest 0, chyba że podano nieprawidłową opcję lub \fIn\fP
wskazuje poza koniec stosu katalogów.
.RE
.TP 
\fBdisown\fP [\fB\-ar\fP] [\fB\-h\fP] [\fIzadanie\fP ... | \fIpid\fP ... ]
Bez opcji, usuwa każde z podanych \fIzadań\fP z tablicy zadań aktywnych. Jeśli
nie podano \fIzadania\fP i nie użyto ani opcji \fB\-a\fP ani \fB\-r\fP, to używane jest
\fIzadanie bieżące\fP. Jeśli użyto opcji \fB\-h\fP, każde \fIzadanie\fP nie jest
usuwane z tablicy, ale jest jako takie zaznaczane, tak że do zadania nie
jest wysyłany sygnał
.SM
\fBSIGHUP\fP jeśli powłoka otrzymuje
.SM
\fBSIGHUP\fP. Jeżeli podano \fIzadanie\fP, opcja \fB\-a\fP oznacza usunięcie lub
zaznaczenie wszystkich zadań; opcja \fB\-r\fP bez argumentu \fIzadania\fP ogranicza
akcję do działających zadań. Wartością zwracaną jest 0, chyba że \fIzadanie\fP
nie określa poprawnego zadania.
.TP 
\fBecho\fP [\fB\-neE\fP] [\fIargument\fP ...]
Wyświetla \fIargument\fPy, rozdzielone spacjami, zakończone znakiem nowej
linii. Kodem zakończenia jest zawsze 0, chyba że wystąpi błąd zapisu.
Jeżeli podano \fB\-n\fP, to nie jest wysyłany kończący znak nowej linii.  Jeżeli
podano opcję \fB\-e\fP, włączana jest interpretacja podanych niżej znaków
specjalnych. Opcja \fB\-E\fP wyłącza interpretację tych znaków, nawet na
systemach, gdzie są one domyślnie interpretowane.  Do dynamicznego
sprawdzania, czy \fBecho\fP interpretuje domyślnie te znaki, czy nie, służy
opcja powłoki \fBxpg_echo\fP.  \fBecho\fP nie interpretuje \fB\-\-\fP jako oznaczenia
końca opcji.  \fBecho\fP interpretuje następujące sekwencje specjalne:
.RS
.PD 0
.TP 
\fB\ea\fP
alarm (dzwonek)
.TP 
\fB\eb\fP
backspace
.TP 
\fB\ec\fP
pomiń kończący znak nowej linii
.TP 
\fB\ee\fP
.TP 
\fB\eE\fP
znak escape
.TP 
\fB\ef\fP
znak wysuwu strony (form feed)
.TP 
\fB\en\fP
znak nowego wiersza (new line)
.TP 
\fB\er\fP
powrót karetki
.TP 
\fB\et\fP
tabulacja pozioma (horizontal tab)
.TP 
\fB\ev\fP
tabulacja pionowa (vertical tab)
.TP 
\fB\e\e\fP
odwrotny ukośnik (backslash)
.TP 
\fB\e0\fP\fInnn\fP
ośmiobitowy znak, którego wartością jest ósemkowa liczba \fInnn\fP (jedna do
trzech cyfr)
.TP 
\fB\ex\fP\fIHH\fP
ośmiobitowy znak, którego wartością jest szesnastkowa liczba \fInnn\fP (jedna
lub dwie cyfry szesnastkowe)
.TP 
\fB\eu\fP\fIHHHH\fP
znak Unicode (ISO/IEC 10646) o wartości szesnastkowej \fIHHHH\fP (jedna do
czterech cyfr szesnastkowych)
.TP 
\fB\eU\fP\fIHHHHHHHH\fP
znak Unicode (ISO/IEC 10646) o wartości szesnastkowej \fIHHHHHHHH\fP (jedna do
ośmiu cyfr szesnastkowych)
.PD
.RE
.TP 
\fBenable\fP [\fB\-a\fP] [\fB\-dnps\fP] [\fB\-f\fP \fIplik\fP] [\fInazwa\fP ...]
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ą \fB\-n\fP, wyłączana jest każda z \fInazw\fP; w przeciwnym
razie \fInazwy\fP są włączone.  Na przykład, chcąc użyć pliku binarnego \fBtest\fP
znalezionego przez
.SM
\fBPATH\fP zamiast wersji wbudowanej w powłokę,
należy uruchomić
.if  t \f(CWenable -n test\fP.
.if  n ``enable -n test''.
The \fB\-f\fP option means to load the new builtin command \fIname\fP from shared
object \fIfilename\fP, on systems that support dynamic loading.  Bash will use
the value of the \fBBASH_LOADABLES_PATH\fP variable as a colon\-separated list
of directories in which to search for \fIfilename\fP.  The default is
system\-dependent.  The \fB\-d\fP option will delete a builtin previously loaded
with \fB\-f\fP.  If no \fIname\fP arguments are given, or if the \fB\-p\fP option is
supplied, a list of shell builtins is printed.  With no other option
arguments, the list consists of all enabled shell builtins.  If \fB\-n\fP is
supplied, only disabled builtins are printed.  If \fB\-a\fP is supplied, the
list printed includes all builtins, with an indication of whether or not
each is enabled.  If \fB\-s\fP is supplied, the output is restricted to the
POSIX \fIspecial\fP builtins.  If no options are supplied and a \fIname\fP is not
a shell builtin, \fBenable\fP will attempt to load \fIname\fP from a shared object
named \fIname\fP, as if the command were
.if  t \f(CWenable \-f\fP \fIname name\fP .
.if  n ``enable -f \fIname name\fP .
The return value is 0 unless a \fIname\fP is not a shell builtin or there is an
error loading a new builtin from a shared object.
.TP 
\fBeval\fP [\fIargument\fP ...]
\fIArgumenty\fP 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ść \fBeval\fP.  Jeżeli nie na żadnych \fIargumentów\fP,
lub wszystkie argumenty są puste, \fBeval\fP zwraca 0.
.TP 
\fBexec\fP [\fB\-cl\fP] [\fB\-a\fP \fInazwa\fP] [\fIpolecenie\fP [\fIargumenty\fP]]
Jeżeli podano \fIpolecenie\fP, zastępuje ono powłokę. Nie tworzony jest żaden
nowy proces. \fIArgumenty\fP stają się argumentami \fIpolecenia\fP. Jeśli podano
opcję \fB\-l\fP, umieszcza kreskę na początku zerowego argumentu przesyłanego do
\fIpolecenia\fP. Tak samo, jak robi to \fIlogin\fP(1). Opcja \fB\-c\fP powoduje, że
\fIpolecenie\fP zostanie wykonane z pustym środowiskiem. Jeżeli podano \fB\-a\fP,
powłoka przesyła do wykonywanego polecenia \fInazwę\fP jako zerowy
argument. Jeżeli \fIpolecenie\fP z jakiegoś powodu nie może zostać wykonane, to
powłoka nie\-interaktywna kończy pracę, chyba że włączona jest opcja powłoki
\fBexecfail,\fP wówczas zwraca niepowodzenie. Powłoka interaktywna zwraca
niepowodzenie jeśli plik nie może zostać wykonany. Jeśli \fBexec\fP zawiedzie,
podpowłoka bezwzględnie wyjdzie. Jeżeli nie podano \fIpolecenia\fP,
przekierowania skutkują w bieżącej powłoce, a kodem zakończenia jest 0. W
przypadku błędu przekierowania kod zakończenia wynosi 1.
.TP 
\fBexit\fP [\fIn\fP]
Powoduje, że powłoka kończy pracę z kodem równym \fIn\fP. Jeśli pominięto \fIn\fP,
kodem zakończenia jest kod ostatniego wykonanego polecenia.  Przed końcem
pracy powłoki wykonywane jest przechwycenie sygnału
.SM
\fBEXIT\fP.
.TP 
\fBexport\fP [\fB\-fn\fP\^] [\fInazwa\fP[=\fIsłowo\fP]] ...
.PD 0
.TP 
\fBexport \-p\fP
.PD
Podane \fInazwy\fP zaznaczane są do automatycznego wyeksportowania do
środowiska następnych wykonywanych poleceń. Jeśli podano opcję \fB\-f\fP, to
\fInazwy\fP odnoszą się do funkcji. Jeżeli nie podano żadnych \fInazw\fP lub
jeżeli podano opcję \fB\-p\fP, to wypisywana jest lista nazw wszystkich
eksportowanych w tej powłoce zmiennych. Opcja \fB\-n\fP powoduje usunięcie cechy
eksportowania z podanych zmiennych. Jeśli po nazwie zmiennej występuje
=\fIsłowo\fP, to wartość zmiennej jest ustawiana na \fIsłowo\fP. \fBexport\fP zwraca
zerowy kod zakończenia, chyba że napotkano nieprawidłową opcję, jedna z
\fInazw\fP nie jest poprawną nazwą zmiennej powłoki lub podano \fB\-f\fP z
\fInazwą\fP, która nie jest funkcją.
.TP 
\fBfc\fP [\fB\-e\fP \fInazwa_e\fP] [\fB\-lnr\fP] [\fIpierwsze\fP] [\fIostatnie\fP]
.PD 0
.TP 
\fBfc\fP \fB\-s\fP [\fIwzorzec\fP=\fIzastąpienie\fP] [\fIpolecenie\fP]
.PD
The first form selects a range of commands from \fIfirst\fP to \fIlast\fP from the
history list and displays or edits and re\-executes them.  \fIFirst\fP and
\fIlast\fP 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 \fIfirst\fP or \fIlast\fP of 0 is equivalent to \-1 and \-0 is equivalent
to the current command (usually the \fBfc\fP command); otherwise 0 is
equivalent to \-1 and \-0 is invalid.  If \fIlast\fP is not specified, it is set
to the current command for listing (so that
.if  n ``fc \-l \-10''
.if  t \f(CWfc \-l \-10\fP
wypisuje ostatnich 10 poleceń) i na \fIpierwsze\fP w pozostałych przypadkach.
Jeżeli nie określono \fIpierwszego\fP polecenia, to jest ono ustawiane na
poprzednie polecenie w przypadku edycji a na \-16 przy listowaniu.
.sp 1
Opcja \fB\-n\fP wstrzymuje wyświetlanie numerów poleceń podczas listowania.
Opcja \fB\-r\fP odwraca kolejność poleceń.  Jeżeli podano opcję \fB\-l\fP, to
polecenia listowane są na standardowym wyjściu. W przeciwnym razie dla pliku
zawierającego te polecenia wywoływany jest edytor podany przez \fInazwa_e\fP.
Jeżeli nie podano \fInazwa_e\fP, używana jest wartość
.SM
\fBFCEDIT\fP, a
wartość
.SM
\fBEDITOR\fP jeśli nie ustawiono
.SM
\fBFCEDIT\fP.  Jeżeli nie
ustawiono żadnej z nich, używany jest
.FN vi
Po zakończeniu edycji, wysyłane edytowane polecenia są wyświetlane przez
echo i wykonywane.
.sp 1
W drugiej postaci, \fIpolecenie\fP jest ponownie wykonywane po każdej wymianie
wystąpienia \fIwzorca\fP przez \fIzastąpienie\fP. \fIPolecenie\fP jest interpretowane
podobnie jak \fIpierwsze\fP powyżej. Przydatnym aliasem do wykorzystania z tą
formą jest
.if  n ``r="fc -s"'',
.if  t \f(CWr='fc \-s'\fP,
tak, że napisanie
.if  n ``r cc''
.if  t \f(CWr cc\fP
uruchamia ostatnie polecenie rozpoczynające się od
.if  n ``cc''
.if  t \f(CWcc\fP
a napisanie
.if  n ``r''
.if  t \f(CWr\fP
ponownie wykonuje ostatnie polecenie.
.sp 1
Jeżeli użyta została pierwsza postać, to wartością zwracaną jest 0, chyba że
napotkano nieprawidłową opcję lub \fIpierwszy\fP albo \fIostatni\fP określają
wiersze historii spoza zakresu.  Jeżeli podano opcję \fB\-e\fP, 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 \fIpolecenie\fP nie określa poprawnego wiersza poleceń \-\- wówczas
\fBfc\fP zwraca porażkę.
.TP 
\fBfg\fP [\fIzadanie\fP]
Wznawia \fIzadanie\fP na pierwszym planie i czyni je zadaniem bieżącym.  Jeżeli
nie podano \fIzadania\fP, używane jest \fIbieżące zadanie\fP w pojęciu powłoki.
Wartością zwracaną jest wartość polecenia umieszczonego na pierwszym planie,
lub porażka jeżeli \fBfb\fP uruchomiono przy wyłączonej kontroli zadań, lub
uruchomiono je przy włączonej kontroli zadań, ale \fIzadanie\fP nie określa
prawidłowego zadania lub \fIzadanie\fP określa zadanie, które zostało
uruchomione bez kontroli zadań.
.TP 
\fBgetopts\fP \fIłańcuch_opcji\fP \fInazwa\fP [\fIargument\fP ...]
\fBgetopts\fP używane jest przez procedury powłoki do analizy parametrów
pozycyjnych.  \fIŁańcuch opcji\fP 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 \fBgetopts\fP umieszcza następną opcję w zmiennej powłoki
\fInazwa\fP, inicjując \fInazwę\fP jeśli nie istniała. Indeks następnego argumentu
do przetwarzania umieszczany jest w zmiennej
.SM
\fBOPTIND\fP.
.SM
\fBOPTIND\fP inicjowany jest na 1 za każdym razem, gdy wywoływana jest powłoka
lub skrypt powłoki. Gdy opcja wymaga argumentu, \fBgetopts\fP umieszcza go w
zmiennej
.SM
\fBOPTARG\fP.  Powłoka nie resetuje
.SM
\fBOPTIND\fP
automatycznie; musi być on resetowany ręcznie pomiędzy wielokrotnymi
odwołaniami do \fBgetopts\fP w tym samym wywołaniu powłoki, jeśli używany ma
być nowy zestaw parametrów.
.sp 1
Po napotkaniu końca opcji, \fBgetopts\fP kończy pracę zwracając wartość większą
od zera.
.SM
\fBOPTIND\fP ustawiane jest na indeks pierwszego argumentu nie
będącego opcją, zaś \fBnazwa\fP ustawiana jest na ?.
.sp 1
\fBgetopts\fP normally parses the positional parameters, but if more arguments
are supplied as \fIarg\fP values, \fBgetopts\fP parses those instead.
.sp 1
\fBgetopts\fP może zgłaszać błędy na dwa sposoby. Jeżeli pierwszym znakiem
\fIłańcucha opcji\fP jest dwukropek, to stosowane jest \fIciche\fP (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
.SM
\fBOPTERR\fP ustawiona jest na 0, nie będą wyświetlane
żadne komunikaty błędów, nawet jeśli pierwszym znakiem \fIłańcucha opcji\fP nie
jest dwukropek.
.sp 1
Przy napotkaniu nieprawidłowej opcji \fBgetopts\fP umieszcza ? w \fInazwie\fP i,
jeśli nie pracuje w trybie cichym, wypisuje komunikat błędu i kasuje
.SM
\fBOPTARG\fP.  Jeżeli \fBgetopts\fP pracuje w trybie cichym, to znaleziony znak
opcji umieszczany jest w
.SM
\fBOPTARG\fP i nie jest wypisywany żaden
komunikat diagnostyczny.
.sp 1
Jeśli nie znaleziono wymaganego argumentu, a \fBgetopts\fP nie pracuje w trybie
cichym, w \fInazwa\fP umieszczany jest znak zapytania (\^\fB?\fP\^), kasowane jest
.SM
\fBOPTARG\fP i wyświetlany jest komunikat błędu.  Jeżeli \fBgetopts\fP
pracuje w trybie cichym, to w \fInazwie\fP umieszczany jest dwukropek
(\^\fB:\fP\^), a
.SM
\fBOPTARG\fP ustawiane jest na znaleziony znak opcji.
.sp 1
\fBgetopts\fP 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.
.TP 
\fBhash\fP [\fB\-lr\fP] [\fB\-p\fP \fIplik\fP] [\fB\-dt\fP] [\fInazwa\fP]
Dla każdej \fInazwy\fP określana i zapamiętywana jest pełna nazwa plikowa
polecenia wyszukanego w katalogach \fB$PATH\fP. Jeżeli podano opcję \fB\-p\fP, nie
jest wykonywane przeszukanie ścieżki, a \fIplik\fP używane jest jako pełna
nazwa pliku polecenia.  Opcja \fB\-r\fP powoduje, że powłoka zapomina wszystkie
zapamiętane wcześniej miejsca. Opcja \fB\-d\fP powoduje, że powłoka zapomina
wszystkie zapamiętane wcześniej miejsca dla każdej \fInazwy\fP. Jeśli podano
opcję \fB\-t\fP, to wypisywana jest odpowiadająca \fInazwie\fP pełna nazwa pliku.
Jeżeli przy więcej niż jednym argumencie \fInazwy\fP podano \fB\-t\fP, to przed
każdą przechowywaną pełną nazwą wypisywana jest \fInazwa\fP.  Opcja \fB\-l\fP
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 \fInazwy\fP lub podano nieprawidłową
opcję.
.TP 
\fBhelp\fP [\fB\-dms\fP] [\fIwzorzec\fP]
Wyświetla pomocne informacje o poleceniach wbudowanych. Jeżeli podano
\fIwzorzec\fP, to \fBhelp\fP daje szczegółową pomoc dotyczącą wszystkich poleceń
pasujących do \fIwzorca\fP; w przeciwnym razie wypisywana jest pomoc dla
wszystkich poleceń wbudowanych i struktur sterujących powłoki.
.RS
.PD 0
.TP 
\fB\-d\fP
Wyświetla krótki opis dla każdego \fIwzorca\fP
.TP 
\fB\-m\fP
Wyświetla opis dla każdego \fIwzorca\fP w formacie podobnym do strony man
.TP 
\fB\-s\fP
Wyświetla jedynie krótkie podsumowanie użycia każdego \fIwzorca\fP
.PD
.PP
Kodem zakończenia jest 0, chyba nie nie dopasowano żadnego polecenia do
\fIwzorca\fP.
.RE
.TP 
\fBhistory [\fP\fIn\fP\fB]\fP
.PD 0
.TP 
\fBhistory\fP \fB\-c\fP
.TP 
\fBhistory \-d\fP \fIprzesunięcie\fP
.TP 
\fBhistory \-d\fP \fIpoczątek\fP\-\fIkoniec\fP
.TP 
\fBhistory\fP \fB\-anrw\fP [\fIplik\fP]
.TP 
\fBhistory\fP \fB\-p\fP \fIarg\fP [\fIarg ...\fP]
.TP 
\fBhistory\fP \fB\-s\fP \fIarg\fP [\fIarg ...\fP]
.PD
Bez żadnych opcji, wyświetla listę historii poleceń z numerami wierszy.
Wiersze ukazane z \fB*\fP zostały zmienione. Argument \fIn\fP pokazuje jedynie
ostatnich \fIn\fP wierszy. Jeśli ustawiono zmienną powłoki
.SM
\fBHISTTIMEFORMAT\fP 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 \fIstrftime\fP(3). Pomiędzy formatowaną pieczątką czasową a
wierszem historii nie jest wstawiany odstęp. Jeżeli podano \fIplik\fP, to
używany jest on jako nazwa pliku historii; jeśli nie, to używana jest
wartość
.SM
\fBHISTFILE\fP.  Opcje, jeżeli je podano, mają następujące
znaczenie:
.RS
.PD 0
.TP 
\fB\-c\fP
Czyści listę historii usuwając wszystkie jej pozycje.
.TP 
\fB\-d\fP \fIprzesunięcie\fP
Delete the history entry at position \fIoffset\fP.  If \fIoffset\fP 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 \fBhistory \-d\fP command.
.TP 
\fB\-d\fP \fIpoczątek\fP\-\fIkoniec\fP
Delete the range of history entries between positions \fIstart\fP and \fIend\fP,
inclusive.  Positive and negative values for \fIstart\fP and \fIend\fP are
interpreted as described above.
.TP 
\fB\-a\fP
Dodaje "nowe" wiersze do pliku historii. Są to wiersze historii wprowadzone
od początku bieżącej sesji \fBbash\fP, lecz nie dodane jeszcze do pliku
historii.
.TP 
\fB\-n\fP
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 \fBbash\fP.
.TP 
\fB\-r\fP
Czyta zawartość pliku historii i dodaje ją do bieżącej listy historii.
.TP 
\fB\-w\fP
Zapisuje bieżącą listę historii do pliku historii, nadpisując jego
zawartość.
.TP 
\fB\-p\fP
Na zadanych \fIargumentach\fP wykonuje podstawianie historii (history
substitution). Wyświetla wyniki na standardowym wyjściu.  Nie zachowuje
wyników na liście.  Każdy z \fIargumentów\fP musi być cytowany, by wyłączyć
normalną interpretację historii.
.TP 
\fB\-s\fP
Zachowuje \fIargumenty\fP na liście historii jako pojedynczą pozycję. Przed
dodaniem \fIargumentów\fP z listy usuwane jest ostatnie polecenie.
.PD
.PP
Jeśli ustawiona jest zmienna
.SM
\fBHISTTIMEFORMAT\fP, 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 \fB\-d\fP podano niepoprawny
argument \fIoffset\fP lub zakres, lub nie powiodła się interpretacja historii
podanej jako argument \fB\-p\fP.
.RE
.TP 
\fBjobs\fP [\fB\-lnprs\fP] [ \fIzadanie\fP ... ]
.PD 0
.TP 
\fBjobs\fP \fB\-x\fP \fIpolecenie\fP [ \fIargumenty\fP ... ]
.PD
Pierwsza postać podaje aktywne zadania. Opcje mają następujące znaczenie:
.RS
.PD 0
.TP 
\fB\-l\fP
Oprócz zwykłej informacji podaje identyfikatory procesów.
.TP 
\fB\-n\fP
Wyświetla wyłącznie informację o zadaniach, które zmieniły status od chwili,
gdy użytkownik był ostatnio powiadamiany o ich statusie.
.TP 
\fB\-p\fP
Listuje tylko ID procesu lidera grupy procesów zadania.
.TP 
\fB\-r\fP
Wyświetla jedynie działające zadania.
.TP 
\fB\-s\fP
Wyświetla jedynie zatrzymane zadania.
.PD
.PP
Jeżeli podano \fIzadanie\fP, wyniki ograniczane są do informacji o tym
zadaniu.  Kodem zwracanym jest 0, chyba że napotkano nieprawidłową opcję lub
podano nieprawidłowe \fIzadanie\fP.
.PP
Jeżeli podano opcję \fB\-x\fP, to \fBjobs\fP zastępuje wszelkie \fIzadania\fP
znalezione w \fIpoleceniu\fP lub \fIargumentach\fP odpowiednim ID grupy procesów,
wykonuje \fIpolecenie\fP przesyłając mu \fIargumenty\fP, i zwraca jego kod
zakończenia.
.RE
.TP 
\fBkill\fP [\fB\-s\fP \fIsigspec\fP | \fB\-n\fP \fIsignum\fP | \fB\-\fP\fIsigspec\fP] [\fIpid\fP | \fIjobspec\fP] ...
.PD 0
.TP 
\fBkill\fP \fB\-l\fP|\fB\-L\fP [\fIsigspec\fP | \fIexit_status\fP]
.PD
Wysyła sygnały określony przez \fIsigspec\fP lub \fIsignum\fP do procesu
określonego przez \fIpid\fP lub \fIjobspec\fP.  \fIsigspec\fP jest albo nazwą
sygnału, jak np.
.SM
\fBSIGKILL\fP (z lub bez przedrostka
.SM
\fBSIG\fP)
albo numerem sygnału; \fIsignum\fP jest numerem sygnału. Jeśli nie podano
\fIsigspec\fP, to przyjmuje się
.SM
\fBSIGTERM\fP.  Opcja \fB\-l\fP listuje nazwy
sygnałów.  Jeżeli przy podanym \fB\-l\fP użyto jakichś argumentów, to listowane
są sygnały odpowiadające tym argumentom, a kodem zwracanym jest 0.  Argument
\fIexit_status\fP opcji \fB\-l\fP jest liczbą określającą numer sygnału lub kod
zakończenia procesu przerwanego przez sygnał. Opcja \fB\-L\fP jest równoważna
\fB\-l\fP.  \fBkill\fP 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ę.
.TP 
\fBlet\fP \fIarg\fP [\fIarg\fP ...]
Każdy \fIargument\fP jest wyrażeniem arytmetycznym, jakie ma zostać
zinterpretowane (zobacz
.SM
\fBOBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
Jeżeli ostatni z nich interpretowany jest jako zero, to \fBlet\fP zwraca 1; w
przeciwnym wypadku zwracane jest 0.
.TP 
\fBlocal\fP [\fIopcja\fP] [\fInazwa\fP[=\fIwartość\fP] ... | \- ]
For each argument, a local variable named \fIname\fP is created, and assigned
\fIvalue\fP.  The \fIoption\fP can be any of the options accepted by \fBdeclare\fP.
When \fBlocal\fP is used within a function, it causes the variable \fIname\fP to
have a visible scope restricted to that function and its children.  If
\fIname\fP is \-, the set of shell options is made local to the function in
which \fBlocal\fP is invoked: shell options changed using the \fBset\fP builtin
inside the function are restored to their original values when the function
returns.  The restore is effected as if a series of \fBset\fP commands were
executed to restore the values that were in place before the function.  With
no operands, \fBlocal\fP writes a list of local variables to the standard
output.  It is an error to use \fBlocal\fP when not within a function.  The
return status is 0 unless \fBlocal\fP is used outside a function, an invalid
\fIname\fP is supplied, or \fIname\fP is a readonly variable.
.TP 
\fBlogout\fP
Kończy pracę powłoki zgłoszeniowej.
.TP 
\fBmapfile\fP [\fB\-d\fP \fIsep\fP] [\fB\-n\fP \fIliczba\fP] [\fB\-O\fP \fIindeks\fP] [\fB\-s\fP \fIliczba\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIwywoł\-zwr\fP] [\fB\-c\fP \fIwielkość\fP] [\fItablica\fP]
.PD 0
.TP 
\fBreadarray\fP [\fB\-d\fP \fIsep\fP] [\fB\-n\fP \fIliczba\fP] [\fB\-O\fP \fIindeks\fP] [\fB\-s\fP \fIliczba\fP] [\fB\-t\fP] [\fB\-u\fP \fIfd\fP] [\fB\-C\fP \fIwywoł\-zwr\fP] [\fB\-c\fP \fIwielkość\fP] [\fItablica\fP]
.PD
Odczytuje wiersze ze standardowego wejścia do indeksowanej zmiennej
tablicowej \fItablica\fP lub, jeśli podano opcję \fB\-u\fP, z deskryptora pliku
\fIfd\fP. Domyślną \fItablicą\fP jest zmienna
.SM
\fBMAPFILE\fP Opcje, jeśli je
podano, mają następujące znaczenie:
.RS
.PD 0
.TP 
\fB\-d\fP
The first character of \fIdelim\fP is used to terminate each input line, rather
than newline.  If \fIdelim\fP is the empty string, \fBmapfile\fP will terminate a
line when it reads a NUL character.
.TP 
\fB\-n\fP
Kopiuje najwyżej \fIliczbę\fP wierszy. Gdy \fIliczba\fP wynosi 0, kopiowane są
wszystkie wiersze.
.TP 
\fB\-O\fP
Rozpoczyna przypisywanie do \fItablicy\fP od indeksu \fIindeks\fP. Domyślnym jest
0.
.TP 
\fB\-s\fP
Pomija pierwsze \fIliczba\fP wierszy.
.TP 
\fB\-t\fP
Usuwa końcowy \fIsep\fP (domyślnie znak nowego wiersza) z każdego odczytanego
wiersza.
.TP 
\fB\-u\fP
Odczytuje wiersze z deskryptora pliku \fIfd\fP zamiast ze standardowego
wejścia.
.TP 
\fB\-C\fP
Oblicza \fIwywoł\-zwr\fP po każdym odczytaniu liczby \fIwielkość\fP wierszy. Opcja
\fB\-c\fP określa \fIwielkość\fP.
.TP 
\fB\-c\fP
Określa liczbę wierszy odczytanych pomiędzy każdym odwołaniem do
\fIwywoł\-zwr\fP.
.PD
.PP
Jeśli podano \fB\-C\fP bez \fB\-c\fP, to domyślną wielkością jest 5000. Gdy
wykonywane jest \fIwywoł\-zwr\fP, jako dodatkowe argumenty przekazywane są mu
indeks następnego elementu tablicy do przypisania i wiersza, który ma być
przypisy do tego elementu. \fIWywoł\-zwr\fP jest wykonywane po odczytaniu
wiersza, ale przed przypisaniem elementu tablicy.
.PP
Jeśli nie podano indeksu, \fBmapfile\fP wyczyści \fItablicę\fP przed przypisaniem
do niej wartości.
.PP
Polecenie \fBmapfile\fP zwraca sukces, chyba że podano nieprawidłową opcję lub
argument opcji, \fItablica\fP jest nieprawidłowa, nie da się do niej przypisać
wartości lub nie jest tablicą indeksowaną.
.RE
.TP 
\fBpopd\fP [\-\fBn\fP] [+\fIn\fP] [\-\fIn\fP]
Removes entries from the directory stack.  The elements are numbered from 0
starting at the first directory listed by \fBdirs\fP.  With no arguments,
\fBpopd\fP removes the top directory from the stack, and changes to the new top
directory.  Arguments, if supplied, have the following meanings:
.RS
.PD 0
.TP 
\fB\-n\fP
Nie wykonuje zwykłej zmiany katalogu podczas usuwania katalogów ze stosu,
tak że zmieniany jest tylko stos.
.TP 
\fB+\fP\fIn\fP
Usuwa \fIn\fPtą pozycję, licząc od lewej, listy pokazywanej przez \fBdirs\fP,
zaczynając od zera, ze stosu. Na przykład
.if  n ``popd +0''
.if  t \f(CWpopd +0\fP
usuwa pierwszy katalog, a
.if  n ``popd +1''
.if  t \f(CWpopd +1\fP
drugi.
.TP 
\fB\-\fP\fIn\fP
Usuwa \fIn\fPtą pozycję, licząc od prawej, listy pokazywanej przez \fBdirs\fP,
zaczynając od zera. Na przykład
.if  n ``popd -0''
.if  t \f(CWpopd -0\fP
usuwa ostatni katalog, a
.if  n ``popd -1''
.if  t \f(CWpopd -1\fP
przedostatni.
.PD
.PP
If the top element of the directory stack is modified, and the \fI\-n\fP option
was not supplied, \fBpopd\fP uses the \fBcd\fP builtin to change to the directory
at the top of the stack.  If the \fBcd\fP fails, \fBpopd\fP returns a non\-zero
value.
.PP
Otherwise, \fBpopd\fP returns false if an invalid option is encountered, the
directory stack is empty, or a non\-existent directory stack entry is
specified.
.PP
If the \fBpopd\fP command is successful, bash runs \fBdirs\fP to show the final
contents of the directory stack, and the return status is 0.
.RE
.TP 
\fBprintf\fP [\fB\-v\fP \fIzmienna\fP] \fIformat\fP [\fIargumenty\fP]
Zapisuje sformatowane \fIargumenty\fP na standardowe wyjście przy pomocy
zadanego \fIformatu\fP. Opcja \fB\-v\fP przypisuje wynik do zmiennej \fIzmienna\fP
zamiast wyświetlać je na standardowe wyjściowe.
.sp 1
\fIformat\fP 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 \fIargumentu\fP.  Oprócz standardowych formatów \fIprintf\fP(1),
interpretuje on również następujące rozszerzenia:
.RS
.PD 0
.TP 
\fB%b\fP
powoduje, że \fBprintf\fP interpretuje sekwencje ucieczki z ukośnikiem w danym
\fIargumencie\fP w ten sam sposób co \fBecho \-e\fP.
.TP 
\fB%q\fP
powoduje, że \fBprintf\fP wysyła odpowiedni \fIargument\fP w formacie, jaki może
być ponownie wykorzystany jako wejście powłoki.
.TP 
\fB%Q\fP
like \fB%q\fP, but applies any supplied precision to the \fIargument\fP before
quoting it.
.TP 
\fB%(\fP\fIformat\-daty\fP\fB)T\fP
powoduje, że \fBprintf\fP wyświetla łańcuch daty/czasu jako rezultat użycia
\fIformatu\-daty\fP jako łańcucha formatu do \fIstrftime\fP(3). Powiązany
\fIargument\fP 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 \fBprintf\fP.
.PD
.PP
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.
.PP
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.
.PP
W razie potrzeby \fIformat\fP wykorzystywany jest ponownie, aż do obsłużenia
wszystkich \fIargumentów\fP.  Jeżeli \fIformat\fP wymaga większej ilości
\fIargumentów\fP 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.
.RE
.TP 
\fBpushd\fP [\fB\-n\fP] [+\fIn\fP] [\-\fIn\fP]
.PD 0
.TP 
\fBpushd\fP [\fB\-n\fP] [\fIkatalog\fP]
.PD
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, \fBpushd\fP exchanges the top two elements of the directory stack.
Arguments, if supplied, have the following meanings:
.RS
.PD 0
.TP 
\fB\-n\fP
Nie wykonuje zwykłej zmiany katalogu podczas obracania lub dodawania
katalogów do stosu, tak że zmieniany jest tylko stos.
.TP 
\fB+\fP\fIn\fP
Obraca stos, tak że \fIn\fPty katalog (licząc od lewej listy pokazywanej przez
\fBdirs\fP, poczynając od zera)  staje się wierzchołkiem.
.TP 
\fB\-\fP\fIn\fP
Obraca stos, tak że \fIn\fPty katalog (licząc od prawej listy pokazywanej przez
\fBdirs\fP, poczynając od zera)  staje się wierzchołkiem.
.TP 
\fIkatalog\fP
Adds \fIdir\fP to the directory stack at the top
.PD
.PP
After the stack has been modified, if the \fB\-n\fP option was not supplied,
\fBpushd\fP uses the \fBcd\fP builtin to change to the directory at the top of the
stack.  If the \fBcd\fP fails, \fBpushd\fP returns a non\-zero value.
.PP
Otherwise, if no arguments are supplied, \fBpushd\fP returns 0 unless the
directory stack is empty.  When rotating the directory stack, \fBpushd\fP
returns 0 unless the directory stack is empty or a non\-existent directory
stack element is specified.
.PP
If the \fBpushd\fP command is successful, bash runs \fBdirs\fP to show the final
contents of the directory stack.
.RE
.TP 
\fBpwd\fP [\fB\-LP\fP]
Wypisuje bezwzględną nazwę pliku bieżącego katalogu roboczego.  Pokazana
nazwa nie zawiera żadnych dowiązań symbolicznych jeśli podano opcję \fB\-P\fP
albo włączona jest opcja \fB\-o physical\fP wbudowanego polecenia \fBset\fP.  Jeśli
użyto opcji \fB\-L\fP, 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ę.
.TP 
\fBread\fP [\fB\-ers\fP] [\fB\-a\fP \fIanazwa\fP] [\fB\-d\fP \fIznak\-odst\fP] [\fB\-i\fP \fItekst\fP] [\fB\-n\fP \fInznaki\fP] [\fB\-N\fP \fInznaki\fP] [\fB\-p\fP \fIzachęta\fP] [\fB\-t\fP \fIczas\-oczek\fP] [\fB\-u\fP \fIfd\fP] [\fInazwa\fP ...]
One line is read from the standard input, or from the file descriptor \fIfd\fP
supplied as an argument to the \fB\-u\fP option, split into words as described
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
under \fBWord Splitting\fP, and the first word is assigned to the first
\fIname\fP, the second word to the second \fIname\fP, and so on.  If there are
more words than names, the remaining words and their intervening delimiters
are assigned to the last \fIname\fP.  If there are fewer words read from the
input stream than names, the remaining names are assigned empty values.  The
characters in
.SM
\fBIFS\fP are used to split the line into words using the
same rules the shell uses for expansion (described
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
under \fBWord Splitting\fP).  The backslash character (\fB\e\fP) may be used to
remove any special meaning for the next character read and for line
continuation.  Options, if supplied, have the following meanings:
.RS
.PD 0
.TP 
\fB\-a \fP\fIanazwa\fP
Słowa są przypisywane do kolejnych indeksów zmiennej tablicowej \fIanazwa\fP,
poczynając od 0.  \fIanazwa\fP jest kasowana przed przypisaniem nowych
wartości.  Inne argumenty \fInazwa\fP są ignorowane.
.TP 
\fB\-d \fP\fIsep\fP
The first character of \fIdelim\fP is used to terminate the input line, rather
than newline.  If \fIdelim\fP is the empty string, \fBread\fP will terminate a
line when it reads a NUL character.
.TP 
\fB\-e\fP
If the standard input is coming from a terminal, \fBreadline\fP (see
.SM
\fBREADLINE\fP
.ie  \n(zZ=1 in \fIbash(1)\fP)
.el 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.
.TP 
\fB\-i \fP\fItekst\fP
Gdy do odczytu wiersza jest używane \fBreadline\fP, \fItekst\fP jest umieszczany w
buforze edycyjnym przed rozpoczęciem edycji.
.TP 
\fB\-n \fP\fInznaki\fP
\fBread\fP powraca po przeczytaniu \fInznaki\fP znaków, zamiast czekać na cały
wiersz wejścia, ale przestrzega znaku odstępu jeśli odczytano mniej niż
\fInznaki\fP znaków przed odstępem.
.TP 
\fB\-N \fP\fInznaki\fP
Polecenie \fBread\fP powraca pod przeczytaniu dokładnie \fInznaków\fP, zamiast
czekać na cały wiersz wejścia, chyba że wystąpił koniec wiersza lub czas
oczekiwania \fBread\fP minął. Znaki odstępu napotkane w wejściu nie są
traktowane w sposób specjalny i nie powodują powrotu \fBread\fP, dopóki nie
zostanie przeczytanych \fInznaków\fP. Wynik nie jest dzielony na znaki w
\fBIFS\fP; założenie jest takie, że zmienna jest przypisywana dokładnie
odczytanym znakom (z wyłączeniem ukośnika; zob. opcja \fB\-r\fP poniżej).
.TP 
\fB\-p \fP\fIzachęta\fP
Wyświetla \fIzachętę\fP (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.
.TP 
\fB\-r\fP
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.
.TP 
\fB\-s\fP
Tryb cichy. Jeżeli wejście pochodzi z terminala, to znaki nie są powtarzane
(bez echa).
.TP 
\fB\-t \fP\fItimeout\fP
Powoduje, że \fBread\fP zwraca niepowodzenie, jeśli w ciągu \fIczas\-oczek\fP
sekund nie zostanie przeczytany pełny wiersz wejścia (lub określona liczba
znaków). \fICzas\-oczek\fP może być liczbą dziesiętną z częścią ułamkową po
znaku kropce. Opcja działa jedynie gdy \fBread\fP odczytuje wejście z
terminala, potoku lub innego pliku specjalnego, nie działa natomiast podczas
czytania ze zwykłych plików. Jeśli \fBread\fP przeterminuje się, \fBread\fP
zachowuje odczytane częściowe wejście do podanej zmiennej \fInazwa\fP. Jeśli
\fIczas\-oczek\fP ustawiono na 0, to \fBread\fP 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.
.TP 
\fB\-u \fP\fIfd\fP
Czyta wejście z deskryptora pliku \fIfd\fP.
.PD
.PP
If no \fInames\fP are supplied, the line read, without the ending delimiter but
otherwise unmodified, is assigned to the variable
.SM
\fBREPLY\fP.  The exit
status is zero, unless end\-of\-file is encountered, \fBread\fP 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 \fB\-u\fP.
.RE
.TP 
\fBreadonly\fP [\fB\-aAf\fP] [\fB\-p\fP] [\fInazwa\fP[=\fIsłowo\fP] ...]
.PD
Podane \fInazwy\fP oznaczane są jako readonly; wartości tych \fInazw\fP nie mogą
być zmieniane następującymi później przypisaniami.  Jeśli podano opcję
\fB\-f\fP, oznaczane są funkcje o nazwach odpowiadających \fInazwom\fP.  Opcja
\fB\-a\fP ogranicza zmienne do tablic indeksowanych, a \fB\-A\fP do tablic
asocjacyjnych. Jeśli podano obie opcje, pierwszeństwo ma opcja \fB\-A\fP. Jeśli
nie podano argumentów \fInazw\fP lub jeśli podano opcję \fB\-p\fP, wypisywane jest
zestawienie wszystkich nazw o atrybucie readonly.  Inne opcje mogą zostać
użyte do ograniczenia wyniku do podzbioru nazw readonly. Opcja \fB\-p\fP
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 =\fIsłowo\fP, to
wartość zmiennej jest ustawiana na \fIsłowo\fP. Zwracany jest kod równy 0,
chyba że napotkano nieprawidłową opcję, jedna z \fInazw\fP nie jest poprawną
nazwą zmiennej powłoki lub podano \fB\-f\fP z \fInazwą\fP, która nie jest funkcją.
.TP 
\fBreturn\fP [\fIn\fP]
Powoduje, że funkcja przerywa wykonywanie i zwraca wartość określoną przez
\fIn\fP do wywołującego. Jeśli pominięto \fIn\fP, kodem zakończenia jest kod
ostatniego polecenia wykonanego w ciele funkcji. Jeśli \fBreturn\fP 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
\fBreturn\fP jest wykonywane podczas pułapki \fBDEBUG\fP, ostatnie polecenie użyte
do określenia statusu jest ostatnim poleceniem wykonanym przez obsługę
pułapki przed tym, zanim wywołano \fBreturn\fP. Jeżeli \fBreturn\fP zostanie użyte
poza funkcją, ale podczas wykonywania skryptu przez polecenie \fB.\fP
(\fBsource\fP), powoduje zatrzymanie wykonywania tego skryptu przez powłokę i
zwrócenie albo \fIn\fP albo kodu zakończenia ostatniego wykonanego w skrypcie
polecenia. Jeśli poda się \fIn\fP, zwracaną wartością jest 8 bitów najmniej
znaczących. Kod zakończenia jest niezerowy, jeśli \fBreturn\fP poda się
argument nienumeryczny lub jeżeli jest ono użyte poza funkcją i nie podczas
wykonywania skryptu przez \fB.\fP\^ lub \fBsource\fP. Wszystkie polecenia związane
z pułapką (trap) \fBRETURN\fP są wykonywane przez wznowieniem wykonywania po
powrocie do funkcji lub skryptu.
.TP 
\fBset\fP [\fB\-\-abefhkmnptuvxBCEHPT\fP] [\fB\-o\fP \fIopcja\fP] [\fB\-\-\fP] [\fB\-\fP] [\fIarg\fP ...]
.PD 0
.TP 
\fBset\fP [\fB+abefhkmnptuvxBCEHPT\fP] [\fB+o\fP \fIopcja\fP] [\fB\-\-\fP] [\fB\-\fP] [\fIarg\fP ...]
.PD
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 \fIposix mode\fP, 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 \fB$1\fP,
\fB$2\fP, \fB...\fP \fB$\fP\fIn\fP.  Options, if specified, have the following meanings:
.RS
.PD 0
.TP  8
\fB\-a\fP
Każdej utworzonej lub zmodyfikowanej zmiennej lub funkcji nadawany jest
atrybut eksportu oraz oznaczane są one jako do wyeksportowania ich do
środowiska kolejnych poleceń.
.TP  8
\fB\-b\fP
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ń.
.TP  8
\fB\-e\fP
Exit immediately if a \fIpipeline\fP (which may consist of a single \fIsimple command\fP), a \fIlist\fP, or a \fIcompound command\fP (see
.SM
\fBSHELL GRAMMAR\fP
.ie  \n(zZ=1 in \fIbash(1)\fP),
.el 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 \fBwhile\fP or
\fBuntil\fP keyword, part of the test following the \fBif\fP or \fBelif\fP reserved
words, part of any command executed in a \fB&&\fP or \fB||\fP list except the
command following the final \fB&&\fP or \fB||\fP, any command in a pipeline but
the last, or if the command's return value is being inverted with \fB!\fP.  If
a compound command other than a subshell returns a non\-zero status because a
command failed while \fB\-e\fP was being ignored, the shell does not exit.  A
trap on \fBERR\fP, if set, is executed before the shell exits.  This option
applies to the shell environment and each subshell environment separately
(see
.SM
\fBCOMMAND EXECUTION ENVIRONMENT\fP
.ie  \n(zZ=1 in \fIbash(1)\fP),
.el above),
and may cause subshells to exit before executing all the commands in the
subshell.
.if  t .sp 0.5
.if  n .sp 1
Jeśli polecenie złożone lub funkcja powłoki jest wykonywana w kontekście, w
którym \fB\-e\fP jest ignorowane, to żadne z poleceń wykonywanych w poleceniu
złożonym lub ciele funkcji nie zostanie dotknięte ustawieniem \fB\-e\fP, nawet
jeśli \fB\-e\fP jest ustawione, a polecenie zwróci kod błędu. Jeśli polecenie
złożone lub funkcja powłoki ustawi \fB\-e\fP w trakcie wykonywania w kontekście,
w którym \fB\-e\fP 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ę.
.TP  8
\fB\-f\fP
Wyłącza rozwijanie nazw plików.
.TP  8
\fB\-h\fP
Zapamiętuje położenie poleceń przy wyszukiwania ich do wykonania.  Domyślnie
włączone.
.TP  8
\fB\-k\fP
Wszystkie argumenty występujące w postaci instrukcji przypisania umieszczane
są w środowisku polecenia, nie zaś tylko te, które poprzedzają nazwę
polecenia.
.TP  8
\fB\-m\fP
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
.SM
\fBSTEROWANIE ZADANIAMI\fP).
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el 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.
.TP  8
\fB\-n\fP
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.
.TP  8
\fB\-o \fP\fInazwa\-opcji\fP
\fINazwą\-opcji\fP może być jedna z poniższych:
.RS
.TP  8
\fBallexport\fP
To samo, co \fB\-a\fP.
.TP  8
\fBbraceexpand\fP
To samo, co \fB\-B\fP.
.TP  8
\fBemacs\fP
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ą
\fB\-\-noediting\fP. Wpływa to również na interfejs edycyjny używany przez \fBread \-e\fP.
.TP  8
\fBerrexit\fP
To samo, co \fB\-e\fP.
.TP  8
\fBerrtrace\fP
To samo, co \fB\-E\fP.
.TP  8
\fBfunctrace\fP
To samo, co \fB\-T\fP.
.TP  8
\fBhashall\fP
To samo, co \fB\-h\fP.
.TP  8
\fBhistexpand\fP
To samo, co \fB\-H\fP.
.TP  8
\fBhistory\fP
Włącza historię poleceń, jak opisano powyżej
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
w sekcji
.SM
\fBHISTORII\fP.  Opcja ta jest domyślnie włączona w powłokach
interaktywnych.
.TP  8
\fBignoreeof\fP
Efekt jest taki, jakby zostało wykonane polecenie powłoki
.if  t \f(CWIGNOREEOF=10\fP
.if  n ``IGNOREEOF=10''
(zobacz \fBZmienne powłoki\fP).
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
.TP  8
\fBkeyword\fP
To samo, co \fB\-k\fP.
.TP  8
\fBmonitor\fP
To samo, co \fB\-m\fP.
.TP  8
\fBnoclobber\fP
To samo, co \fB\-C\fP.
.TP  8
\fBnoexec\fP
To samo, co \fB\-n\fP.
.TP  8
\fBnoglob\fP
To samo, co \fB\-f\fP.
.TP  8
\fBnolog\fP
Obecnie ignorowane.
.TP  8
\fBnotify\fP
To samo, co \fB\-b\fP.
.TP  8
\fBnounset\fP
To samo, co \fB\-u\fP.
.TP  8
\fBonecmd\fP
To samo, co \fB\-t\fP.
.TP  8
\fBphysical\fP
To samo, co \fB\-P\fP.
.TP  8
\fBpipefail\fP
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.
.TP  8
\fBposix\fP
Change the behavior of \fBbash\fP where the default operation differs from the
POSIX standard to match the standard (\fIposix mode\fP).  See
.SM
\fBSEE ALSO\fP
.ie  \n(zZ=1 in \fIbash(1)\fP
.el below
for a reference to a document that details how posix mode affects bash's
behavior.
.TP  8
\fBprivileged\fP
To samo, co \fB\-p\fP.
.TP  8
\fBverbose\fP
To samo, co \fB\-v\fP.
.TP  8
\fBvi\fP
Używa interfejsu edycji wiersza poleceń w stylu vi. Wpływa to również na
interfejs edycyjny używany przez \fBread \-e\fP.
.TP  8
\fBxtrace\fP
To samo, co \fB\-x\fP.
.sp .5
.PP
Jeżeli podano \fB\-o\fP bez \fInazwy\-opcji\fP, to wypisywane są wartości bieżących
opcji.  Jeżeli podano \fB+o\fP bez \fInazwy\-opcji\fP, na standardowym wyjściu
wyświetlana jest seria poleceń \fBset\fP potrzebnych do odtworzenia aktualnych
ustawień opcji.
.RE
.TP  8
\fB\-p\fP
Włącza tryb \fIuprzywilejowany\fP (privileged). W tym trybie pliki
.SM
\fB$ENV\fP i
.SM
\fB$BASH_ENV\fP nie są przetwarzane, funkcje powłoki nie są
dziedziczone ze środowiska, a zmienne
.SM
\fBSHELLOPTS,\fP
.SM
\fBBASHOPTS\fP,
.SM
\fBCDPATH\fP i
.SM
\fBGLOBIGNORE\fP, 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 \fB\-p\fP,
to podejmowane są opisane wyżej akcje a efektywny id użytkownika jest
ustawiany na identyfikator rzeczywisty. Jeżeli przy uruchamianiu podano
opcję \fB\-p\fP, 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.
.TP  8
\fB\-r\fP
Enable restricted shell mode.  This option cannot be unset once it has been
set.
.TP  8
\fB\-t\fP
Kończy pracę po przeczytaniu i wykonaniu jednego polecenia.
.TP  8
\fB\-u\fP
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.
.TP  8
\fB\-v\fP
Wypisuje wiersze wejściowe powłoki przy ich odczytywaniu.
.TP  8
\fB\-x\fP
Po interpretacji każdego \fIpolecenia prostego\fP, poleceń \fBfor\fP, \fBcase\fP i
\fBselect\fP lub polecenia arytmetycznego \fBfor\fP wyświetla zinterpretowaną
wartość
.SM
\fBPS4\fP, po której następuje polecenie i jego zinterpretowane
argumenty lub powiązana lista słów.
.TP  8
\fB\-B\fP
The shell performs brace expansion (see \fBBrace Expansion\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
This is on by default.
.TP  8
\fB\-C\fP
Jeśli włączone, \fBbash\fP nie nadpisuje istniejącego pliku przy użyciu
operatorów przekierowania \fB>\fP, \fB>&\fP i \fB<>\fP.  Można to
ominąć tworząc pliki wyjściowe przy użyciu operatora przekierowania
\fB>|\fP zamiast \fB>\fP.
.TP  8
\fB\-E\fP
Gdy ustawiona, pułapka \fBERR\fP jest dziedziczona przez funkcje powłoki,
uzupełnienia poleceń i polecenia wykonywane w środowisku podpowłoki. Pułapka
\fBERR\fP normalnie nie jest dziedziczona w takich przypadkach.
.TP  8
\fB\-H\fP
Włącza zastępowanie historii w stylu \fB!\fP.  Opcja ta jest domyślnie włączona
dla powłoki interaktywnej.
.TP  8
\fB\-P\fP
Jeżeli jest ustawiona, to powłoka nie rozwiązuje dowiązań symbolicznych
podczas wykonywania poleceń zmieniających bieżący katalog roboczy, jak
\fBcd\fP. Używa zamiast tego fizycznej struktury katalogów. Domyślnie, \fBbash\fP
podąża za logicznym łańcuchem katalogów podczas wykonywania poleceń
zmieniających bieżący katalog roboczy.
.TP  8
\fB\-T\fP
Gdy ustawiona, pułapki \fBDEBUG\fP i \fBRETURN\fP są dziedziczone przez funkcje
powłoki, uzupełnienia poleceń i polecenia wykonywane w środowisku
podpowłoki. Pułapki \fBDEBUG\fP i \fBRETURN\fP nie są normalnie dziedziczone w
takich przypadkach.
.TP  8
\fB\-\-\fP
Jeżeli po tej opcji nie występują żadne argumenty, to parametry pozycyjne są
kasowane. W przeciwnym razie, parametry pozycyjne ustawiane są na
\fIargument\fPy, nawet jeśli niektóre z nich zaczynają się od znaku \fB\-\fP.
.TP  8
\fB\-\fP
Sygnalizuje koniec opcji, powodując przypisanie wszystkich pozostałych
\fIargument\fPów do parametrów pozycyjnych.  Opcje \fB\-x\fP i \fB\-v\fP są wyłączane.
Jeżeli nie ma \fIargumentów\fP, to parametry pozycyjne pozostają bez zmian.
.PD
.PP
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
\fB$\-\fP.  Zwracanym kodem jest zawsze prawda, chyba że napotkano nieprawidłową
opcję.
.RE
.TP 
\fBshift\fP [\fIn\fP]
Parametrom pozycyjnym od \fIn\fP+1 ... zmienia nazwy na \fB$1\fP
\&\fB....\fP. Parametry reprezentowane przez liczby \fB$#\fP w dół do \fB$#\fP\-\fIn\fP+1
są usuwane.  \fIn\fP musi być liczbą nieujemną mniejszą lub równą \fB$#\fP.
Jeżeli \fIn\fP wynosi 0, parametry nie są zmieniane.  Jeżeli nie podano \fIn\fP,
zakłada się, że wynosi 1.  Jeżeli \fIn\fP jest większe od \fB$#\fP, parametry
pozycyjne nie są zmieniane.  Kod zakończenia jest większy od zera jeżeli
\fIn\fP jest większe od \fB$#\fP lub mniejsze od zera; w przeciwnym wypadku 0.
.TP 
\fBshopt\fP [\fB\-pqsu\fP] [\fB\-o\fP] [\fInazwa_opcji\fP ...]
Toggle the values of settings controlling optional shell behavior.  The
settings can be either those listed below, or, if the \fB\-o\fP option is used,
those available with the \fB\-o\fP option to the \fBset\fP builtin command.  With
no options, or with the \fB\-p\fP option, a list of all settable options is
displayed, with an indication of whether or not each is set; if \fIoptnames\fP
are supplied, the output is restricted to those options.  The \fB\-p\fP option
causes output to be displayed in a form that may be reused as input.  Other
options have the following meanings:
.RS
.PD 0
.TP 
\fB\-s\fP
Włącz (ustaw) każdą \fInazwę_opcji\fP.
.TP 
\fB\-u\fP
Wyłącz (usuń) każdą \fInazwę_opcji\fP.
.TP 
\fB\-q\fP
Zaniechaj zwykłego wyświetlania (tryb cichy); zwracany kod wskazuje na to
czy \fInazwa_opcji\fP jest ustawiona czy nie ustawiona.  Jeżeli z \fB\-q\fP podano
wiele argumentów \fInazw_opcji\fP, to zwracanym kodem jest zero, gdy wszystkie
\fInazwy_opcji\fP są włączone; w przeciwnym razie kod jest niezerowy.
.TP 
\fB\-o\fP
Ogranicza wartości \fInazwy_opcji\fP do wartości zdefiniowanych dla opcji \fB\-o\fP
wbudowanego polecenia \fBset\fP.
.PD
.PP
Jeżeli użyto albo \fB\-s\fP albo \fB\-u\fP bez argumentów \fInazw_opcji\fP, \fBshopt\fP
pokazuje jedynie te opcji, które, odpowiednio, są ustawione bądź
nieustawione. Jeżeli nie wskazano inaczej, opcje \fBshopt\fP są domyślnie
wyłączone (nie ustawione).
.PP
Przy listowaniu opcji zwracany jest kod zerowy jeśli wszystkie
\fInazwy_opcji\fP są włączone, niezerowy w przeciwnym wypadku. Przy ustawianiu
lub kasowaniu opcji zwracany jest zerowy kod, chyba że \fInazwa_opcji\fP nie
jest poprawną opcją powłoki.
.PP
Lista opcji \fBshopt\fP obejmuje:
.if  t .sp .5v
.if  n .sp 1v
.PD 0
.TP  8
\fBassoc_expand_once\fP
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.
.TP  8
\fBautocd\fP
Jeśli jest ustawiona, nazwa polecenia będąca nazwą katalogu jest wykonywana
identycznie, jak gdyby była argumentem polecenia \fBcd\fP. Opcja ta jest
używana tylko w powłokach interaktywnych.
.TP  8
\fBcdable_vars\fP
Jeśli jest ustawiona, to nie będący katalogiem argument wbudowanego
polecenia \fBcd\fP uważany jest za nazwę zmiennej; wartością tej zmiennej jest
katalog, na który ma nastąpić zmiana.
.TP  8
\fBcdspell\fP
Jeśli jest ustawiona, to pomniejsze błędy w pisowni składowej katalogu w
poleceniu \fBcd\fP 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.
.TP  8
\fBcheckhash\fP
Jeśli jest ustawiona, \fBbash\fP 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.
.TP  8
\fBcheckjobs\fP
If set, \fBbash\fP 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
.SM
\fBJOB CONTROL\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
The shell always postpones exiting if any jobs are stopped.
.TP  8
\fBcheckwinsize\fP
If set, \fBbash\fP checks the window size after each external (non\-builtin)
command and, if necessary, updates the values of
.SM
\fBLINES\fP and
.SM
\fBCOLUMNS\fP.  This option is enabled by default.
.TP  8
\fBcmdhist\fP
If set, \fBbash\fP 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
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
under
.SM
\fBHISTORY\fP.
.PD 0
.TP  8
\fBcompat31\fP
.TP  8
\fBcompat32\fP
.TP  8
\fBcompat40\fP
.TP  8
\fBcompat41\fP
.TP  8
\fBcompat42\fP
.TP  8
\fBcompat43\fP
.TP  8
\fBcompat44\fP
.TP  8
\fBcompat50\fP
.PD
These control aspects of the shell's compatibility mode (see
.SM
\fBSHELL COMPATIBILITY MODE\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el below).
.TP  8
\fBcomplete_fullquote\fP
Gdy ustawiona, \fBbash\fP cytuje wszystkie metaznaki powłoki w nazwach plików i
katalogów w trakcie wykonywania uzupełniania. Gdy nieustawiona, \fBbash\fP
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.
.TP  8
\fBdirexpand\fP
Gdy ustawiona, \fBbash\fP 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, \fBbash\fP stara
się zachować treść wpisaną przez użytkownika.
.TP  8
\fBdirspell\fP
Jeżeli jest ustawiona, \fBbash\fP stara się poprawić pomyłki w nazwach
katalogów podczas uzupełniania słów, jeśli nazwa katalogu wprowadzonego
pierwotnie, nie istnieje.
.TP  8
\fBdotglob\fP
If set, \fBbash\fP includes filenames beginning with a `.' in the results of
pathname expansion.  The filenames \fB\*(lq.\*(rq\fP and \fB\*(lq..\*(rq\fP must always be
matched explicitly, even if \fBdotglob\fP is set.
.TP  8
\fBexecfail\fP
Jeżeli jest ustawione, to powłoka nie\-interaktywna nie zakończy pracy nie
mogąc wykonać pliku określonego jako argument wbudowanego polecenia
\fBexec\fP.  Powłoka interaktywna nie kończy pracy, jeśli \fBexec\fP zawiedzie.
.TP  8
\fBexpand_aliases\fP
If set, aliases are expanded as described
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
under
.SM
\fBALIASES\fP.  This option is enabled by default for interactive
shells.
.TP  8
\fBextdebug\fP
If set at shell invocation, or in a shell startup file, arrange to execute
the debugger profile before the shell starts, identical to the \fB\-\-debugger\fP
option.  If set after invocation, behavior intended for use by debuggers is
enabled:
.RS
.TP 
\fB1.\fP
Opcja \fB\-F\fP wbudowanego polecenia \fBdeclare\fP wyświetla nazwę pliku
źródłowego i numer wiersza odpowiadający każdej nazwie funkcji podanej jako
argument.
.TP 
\fB2.\fP
Jeśli polecenie uruchomione przez pułapkę \fBDEBUG\fP zwraca wartość niezerową,
kolejne polecenie jest pomijane i nie jest wykonywane.
.TP 
\fB3.\fP
Jeśli polecenie uruchamiane przez pułapkę \fBDEBUG\fP zwróci wartość 2, a
powłoka wykonywana w podprogramie (funkcja powłoki lub skrypt powłoki
wykonywany wbudowanymi \fB.\fP lub \fBsource\fP), to symulowane jest wywołanie do
\fBreturn\fP.
.TP 
\fB4.\fP
.SM
\fBBASH_ARGC\fP and
.SM
\fBBASH_ARGV\fP are updated as described in
their descriptions
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
.TP 
\fB5.\fP
Włączone jest śledzenie funkcji: podstawianie poleceń, funkcje powłoki i
podpowłoki przywołane za pomocą \fB(\fP \fIpolecenie\fP \fB)\fP dziedziczą pułapki
\fBDEBUG\fP i \fBRETURN\fP.
.TP 
\fB6.\fP
Włączone jest śledzenie błędów: podstawianie poleceń, funkcje powłoki i
podpowłoki przywołane za pomocą \fB(\fP \fIpolecenie\fP \fB)\fP dziedziczą pułapkę
\fBERR\fP.
.RE
.TP  8
\fBextglob\fP
If set, the extended pattern matching features described
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
under \fBPathname Expansion\fP are enabled.
.TP  8
\fBextquote\fP
Jeżeli jest włączona, cytowania \fB$\fP\(aq\fIłańcuch\fP\(aq and \fB$\fP"\fIłańcuch\fP"
są przeprowadzane wewnątrz interpretacji \fB${\fP\fIparametr\fP\fB}\fP ujętych w
podwójne cudzysłowy. Opcja jest domyślnie włączona.
.TP  8
\fBfailglob\fP
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).
.TP  8
\fBforce_fignore\fP
If set, the suffixes specified by the
.SM
\fBFIGNORE\fP shell variable cause
words to be ignored when performing word completion even if the ignored
words are the only possible completions.  See
.SM
\fBSHELL VARIABLES\fP
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
for a description of
.SM
\fBFIGNORE\fP.  This option is enabled by default.
.TP  8
\fBglobasciiranges\fP
If set, range expressions used in pattern matching bracket expressions (see
.SM
\fBPattern Matching\fP
.ie  \n(zZ=1 in \fIbash(1)\fP)
.el 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
\fBb\fP will not collate between \fBA\fP and \fBB\fP, and upper\-case and lower\-case
ASCII characters will collate together.
.TP  8
\fBglobskipdots\fP
If set, pathname expansion will never match the filenames \fB\*(lq.\*(rq\fP and
\fB\*(lq..\*(rq\fP, even if the pattern begins with a \fB\*(lq.\*(rq\fP.  This option is
enabled by default.
.TP  8
\fBglobstar\fP
Gdy jest ustawiona, wzorzec \fB**\fP 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 \fB/\fP, to dopasowywane są jedynie
katalogi i podkatalogi.
.TP  8
\fBgnu_errfmt\fP
Jeżeli jest ustawiona, komunikaty błędów powłoki są wypisywane w
standardowym formacie błędów GNU.
.TP  8
\fBhistappend\fP
Jeżeli jest ustawiona, to do pliku o nazwie wskazanej zmienną
.SM
\fBHISTFILE\fP podczas kończenia pracy przez powłokę dodawana jest lista
historii, zamiast nadpisywania tego pliku listą.
.TP  8
\fBhistreedit\fP
Jeżeli jest ustawione, a używane jest \fBreadline\fP, to użytkownik ma
możliwość ponownej edycji nieudanego podstawienia historii historii.
.TP  8
\fBhistverify\fP
Jeżeli jest ustawione, a używane jest \fBreadline\fP, to wyniki podstawiania
historii nie są natychmiast przesyłane do analizatora powłoki. Zamiast tego,
wiersz wynikowy ładowany jest do bufora edycyjnego \fBreadline\fP, pozwalając
na dalsze zmiany.
.TP  8
\fBhostcomplete\fP
If set, and \fBreadline\fP is being used, \fBbash\fP will attempt to perform
hostname completion when a word containing a \fB@\fP is being completed (see
\fBCompleting\fP under
.SM
\fBREADLINE\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
This is enabled by default.
.TP  8
\fBhuponexit\fP
Jeżeli jest ustawione, to \fBbash\fP wyśle
.SM
\fBSIGHUP\fP do wszystkich zadań
podczas kończenia pracy interaktywnej powłoki zgłoszeniowej.
.TP  8
\fBinherit_errexit\fP
Jeśli jest ustawione, uzupełnianie poleceń dziedziczy wartość opcji
\fBerrexit\fP, zamiast kasować ją w środowisku podpowłoki. Opcja ta jest
włączana jeśli włączony jest \fItryb posix\fP.
.TP  8
\fBinteractive_comments\fP
If set, allow a word beginning with \fB#\fP to cause that word and all
remaining characters on that line to be ignored in an interactive shell (see
.SM
\fBCOMMENTS\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
This option is enabled by default.
.TP  8
\fBlastpipe\fP
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.
.TP  8
\fBlithist\fP
Jeśli jest ustawione, a włączona jest opcja \fBcmdhist\fP, 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.
.TP  8
\fBlocalvar_inherit\fP
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.
.TP  8
\fBlocalvar_unset\fP
If set, calling \fBunset\fP 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.
.TP  8
\fBlogin_shell\fP
The shell sets this option if it is started as a login shell (see
.SM
\fBINVOCATION\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
The value may not be changed.
.TP  8
\fBmailwarn\fP
Jeżeli jest ustawione, zaś do pliku, w którym sprawdza pocztę \fBbash\fP
sięgano od czasu ostatniego sprawdzania, to zostanie wyświetlony komunikat
,,The mail in \fIplikpoczty\fP has been read\*(rq (Poczta w \fIplikpoczty\fP została
przeczytana).
.TP  8
\fBno_empty_cmd_completion\fP
Jeśli jest ustawione, i stosowane jest \fBreadline\fP, to \fBbash\fP nie będzie
usiłował szukać w \fBPATH\fP możliwych uzupełnień, gdy próba uzupełniania
wystąpi w pustym wierszu.
.TP  8
\fBnocaseglob\fP
If set, \fBbash\fP matches filenames in a case\-insensitive fashion when
performing pathname expansion (see \fBPathname Expansion\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
.TP  8
\fBnocasematch\fP
Gdy jest ustawiona, \fBbash\fP dopasowuje wzorce ignorując wielkość liter,
podczas wykonywania dopasowania, w czasie wykonywania poleceń warunkowych
\fBcase\fP lub \fB[[\fP, przy wykonywaniu interpretacji zastępowania słów wzorców
lub podczas filtrowania możliwych dopełnień jako części programowalnych
dopełnień.
.TP  8
\fBnoexpand_translation\fP
If set, \fBbash\fP encloses the translated results of $"..." quoting in single
quotes instead of double quotes.  If the string is not translated, this has
no effect.
.TP  8
\fBnullglob\fP
If set, \fBbash\fP allows patterns which match no files (see \fBPathname Expansion\fP
.ie  \n(zZ=1 in \fIbash(1)\fP)
.el above)
to expand to a null string, rather than themselves.
.TP  8
\fBpatsub_replacement\fP
If set, \fBbash\fP expands occurrences of \fB&\fP in the replacement string of
pattern substitution to the text matched by the pattern, as described under
\fBParameter Expansion\fP
.ie  \n(zZ=1 in \fIbash(1)\fP.
.el above.
This option is enabled by default.
.TP  8
\fBprogcomp\fP
If set, the programmable completion facilities (see \fBProgrammable Completion\fP
.ie  \n(zZ=1 in \fIbash(1)\fP)
.el above)
are enabled.  This option is enabled by default.
.TP  8
\fBprogcomp_alias\fP
If set, and programmable completion is enabled, \fBbash\fP treats a command
name that doesn't have any completions as a possible alias and attempts
alias expansion. If it has an alias, \fBbash\fP attempts programmable
completion using the command word resulting from the expanded alias.
.TP  8
\fBpromptvars\fP
If set, prompt strings undergo parameter expansion, command substitution,
arithmetic expansion, and quote removal after being expanded as described in
.SM
\fBPROMPTING\fP
.ie  \n(zZ=1 in \fIbash(1)\fP.
.el above.
This option is enabled by default.
.TP  8
\fBrestricted_shell\fP
The shell sets this option if it is started in restricted mode (see
.SM
\fBRESTRICTED SHELL\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el 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.
.TP  8
\fBshift_verbose\fP
Jeżeli jest ustawiona, to wbudowane \fBshift\fP wypisuje komunikat o błędzie
gdy liczba przesunięć (przez shift) przekracza liczbę parametrów
pozycyjnych.
.TP  8
\fBsourcepath\fP
If set, the \fB.\fP (\fBsource\fP) builtin uses the value of
.SM
\fBPATH\fP to
find the directory containing the file supplied as an argument.  This option
is enabled by default.
.TP  8
\fBvarredir_close\fP
If set, the shell automatically closes file descriptors assigned using the
\fI{varname}\fP redirection syntax (see
.SM
\fBREDIRECTION\fP
.ie  \n(zZ=1 in \fIbash(1)\fP)
.el above)
instead of leaving them open when the command completes.
.TP  8
\fBxpg_echo\fP
Jeżeli jest ustawiona, to dla wbudowanego polecenia \fBecho\fP włączane jest
domyślne interpretowanie sekwencji specjalnych z odwrotnym ukośnikiem.
.RE
.PD
.TP 
\fBsuspend\fP [\fB\-f\fP]
Suspend the execution of this shell until it receives a
.SM
\fBSIGCONT\fP
signal.  A login shell, or a shell without job control enabled, cannot be
suspended; the \fB\-f\fP 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 \fB\-f\fP is not supplied.
.TP 
\fBtest\fP \fIwyraż\fP
.PD 0
.TP 
\fB[\fP \fIwyraż\fP \fB]\fP
Zwraca kod 0 (prawda) lub 1 (fałsz) w zależności od interpretacji wyrażenia
warunkowego \fIwyraż\fP.  każdy operator i operand musi być odrębnym
argumentem.  Wyrażenia składając się ze składowych opisanych
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
w
.SM
\fBWYRAŻENIA\fP \fBWARUNKOWE\fP. \fBtest\fP nie akceptuje żadnych opcji, ani
nie akceptuje i nie ignoruje argumentu \fB\-\-\fP jako wskaźnika końca opcji.
.if  t .sp 0.5
.if  n .sp 1
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.
.RS
.PD 0
.TP 
\fB! \fP\fIwyraż\fP
Prawda jeśli \fIwyraż\fP jest fałszem.
.TP 
\fB( \fP\fIwyraż\fP\fB )\fP
Zwraca wartość \fIwyraż\fP.  Może być stosowane do obejścia zwykłej kolejności
operatorów.
.TP 
\fIwyraż1\fP \-\fBa\fP \fIwyraż2\fP
Prawda jeśli oba: \fIwyraż1\fP i \fIwyraż2\fP są prawdziwe.
.TP 
\fIwyraż1\fP \-\fBo\fP \fIwyraż2\fP
Prawda jeśli \fIwyraż1\fP lub \fIwyraż2\fP jest prawdziwe.
.PD
.PP
\fBtest\fP i \fB[\fP interpretują wyrażenia warunkowe posługując się zestawem
reguł opartych o liczbę argumentów.
.if  t .sp 0.5
.if  n .sp 1
.PD 0
.TP 
0 argumentów
Wyrażenie jest fałszywe.
.TP 
1 argument
Wyrażenie jest prawdziwe wtedy i tylko wtedy gdy argument nie jest pusty
(null).
.TP 
2 argumenty
Jeśli pierwszym argumentem jest \fB!\fP, 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
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
w
.SM
\fBWYRAŻENIA WARUNKOWE\fP, 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.
.TP 
3 argumenty
Następujące warunki są stosowane w wypisanej kolejności. Jeżeli drugi
argument jest jednym z dwuargumentowych operatorów warunkowych podanych
.ie  \n(zZ=1 in \fIbash(1)\fP
.el above
w
.SM
\fBWYRAŻENIA WARUNKOWE\fP, to wynik wyrażenia jest wynikiem
dwuargumentowego testu z zastosowaniem pierwszego i trzeciego argumentu jako
operandów. Operatory \fB\-a\fP i \fB\-o\fP są uważane za dwuargumentowe, jeśli
występują trzy argumenty. Jeśli pierwszym argumentem jest \fB!\fP, to wartość
stanowi negację testu dwuargumentowego przy użyciu drugiego i trzeciego
argumentu.  Jeśli pierwszym argumentem jest dokładnie \fB(\fP a trzecim
argumentem dokładnie \fB)\fP, to wynik jest jednoargumentowym testem drugiego
argumentu.  W pozostałych przypadkach wyrażenie jest fałszywe.
.TP 
4 argumenty
The following conditions are applied in the order listed.  If the first
argument is \fB!\fP, 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 \fB(\fP and
the fourth argument is exactly \fB)\fP, 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.
.TP 
5 lub więcej argumentów
Wyrażenie jest poddawanie analizie składni i interpretowane zgodnie z
priorytetami przy zastosowaniu reguł podanych powyżej.
.if  t .sp 0.5
.if  n .sp 1
.LP
Gdy operatory \fB<\fP i \fB>\fP są używane z \fBtest\fP lub \fB[\fP, sortują
zgodnie z porządkiem leksykograficznym używając kolejności ASCII.
.RE
.PD
.TP 
\fBtimes\fP
Wypisuje sumaryczne czasy użytkownika i systemu dla powłoki i procesów z
niej uruchomionych. Kodem zwracanym jest 0.
.TP 
\fBtrap\fP [\fB\-lp\fP] [\fIargument\fP] [\fIsigspec\fP ...]
Polecenie \fIargument\fP ma zostać odczytane i wykonane, gdy powłoka otrzyma
sygnał(y)  \fIsigspec\fP.  Jeśli nie występuje \fIargument\fP (i występuje
pojedynczy \fIsigspec\fP) lub jest to \fB\-\fP, 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 \fIargument\fP jest łańcuchem pustym, to sygnał
określony przez każde \fIsigspec\fP jest ignorowany przez powłokę i polecenia,
jakie ona wywołuje.  Jeżeli nie wystąpił \fIargument\fP a podano \fB\-p\fP,
wyświetlane są polecenia związane z przechwyceniem każdego z sygnałów
\fIsigspec\fP.  Jeżeli nie podano żadnych argumentów lub jeśli podano tylko
\fB\-p\fP, to \fBtrap\fP wypisuje listę poleceń związanych z każdym z numerów
sygnałów.  Każde \fB\-l\fP powoduje wypisanie przez powłokę listy nazw sygnałów
i odpowiadających im nazw. Każdy \fIsigspec\fP jest albo nazwą sygnału
zdefiniowaną w <\fIsignal.h\fP> albo numerem sygnału.  Wielkość liter
nazw sygnałów nie ma znaczenia, a przedrostek
.SM
\fBSIG\fP jest opcjonalny.
.if  t .sp 0.5
.if  n .sp 1
If a \fIsigspec\fP is
.SM
\fBEXIT\fP (0) the command \fIarg\fP is executed on exit
from the shell.  If a \fIsigspec\fP is
.SM
\fBDEBUG\fP, the command \fIarg\fP is
executed before every \fIsimple command\fP, \fIfor\fP command, \fIcase\fP command,
\fIselect\fP command, every arithmetic \fIfor\fP command, and before the first
command executes in a shell function (see
.SM
\fBSHELL GRAMMAR\fP
.ie  \n(zZ=1 in \fIbash(1)\fP).
.el above).
Refer to the description of the \fBextdebug\fP option to the \fBshopt\fP builtin
for details of its effect on the \fBDEBUG\fP trap.  If a \fIsigspec\fP is
.SM
\fBRETURN\fP, the command \fIarg\fP is executed each time a shell function or a
script executed with the \fB.\fP or \fBsource\fP builtins finishes executing.
.if  t .sp 0.5
.if  n .sp 1
Jeśli \fIsigspec\fP jest
.SM
\fBERR\fP, wówczas polecenie \fIargument\fP
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
.SM
\fBERR\fP nie jest wykonywana gdy polecenie, które
zakończyło się niepowodzeniem jest występuje bezpośrednio po słowach
kluczowych \fIwhile\fP lub \fIuntil\fP, jest częścią testu instrukcji \fIif\fP,
częścią poleceń wykonywanych w listach \fB&&\fP lub \fB||\fP z wyjątkiem polecenia
za ostatnim \fB&&\fP lub \fB||\fP, dowolnym poleceniem w potoku z wyjątkiem
ostatniego lub jeśli wartość zwracana przez to polecenie jest wstawiana za
pomocą \fB!\fP. Identyczne warunki są przestrzegane przez opcję \fBerrexit\fP.
.if  t .sp 0.5
.if  n .sp 1
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 \fIsigspec\fP jest nieprawidłowy; w przeciwnym
razie \fBtrap\fP zwraca true.
.TP 
\fBtype\fP [\fB\-aftpP\fP] \fInazwa\fP [\fInazwa\fP ...]
Bez opcji wskazuje, jak powinna być interpretowana każda z \fInazw\fP, jeśli
zostanie użyta jako nazwa polecenia.  Jeżeli użyto opcji \fB\-t\fP, to \fBtype\fP
wypisuje łańcuch będący jednym z \fIalias\fP, \fIkeyword\fP, \fIfunction\fP,
\fIbuiltin\fP lub \fIfile\fP, jeśli \fInazwa\fP jest odpowiednio aliasem,
zastrzeżonym słowem powłoki, funkcją, poleceniem wbudowanym lub plikiem
dyskowym.  Jeśli nie znaleziono \fInazwy\fP, to nie jest wypisywane nic i jako
kod zakończenia zwracany jest fałsz.  Jeśli posłużono się opcją \fB\-p\fP to
\fBtype\fP zwraca albo nazwę pliku dyskowego, który zostałby wykonany jeśli
\fInazwa\fP zostałaby podana jako nazwa polecenia, albo nic jeśli
.if  t \f(CWtype -t name\fP
.if  n ``type -t name''
nie zwróciłoby \fIfile\fP. Opcja \fB\-P\fP wymusza na
.SM
\fBPATH\fP wyszukiwanie
każdego \fIname\fP, nawet jeśli
.if  t \f(CWtype -t name\fP
.if  n ``type -t name''
nie zwróciłoby \fIfile\fP. Jeśli polecenie zostało zapamiętane poleceniem hash,
to \fB\-p\fP i \fB\-P\fP wypisuje jego wartość, który niekoniecznie jest plikiem
pojawiającym się jako pierwszy w
.SM
\fBPATH\fP. Jeśli użyto opcji \fB\-a\fP, to
\fBtype\fP wypisuje wszystkie miejsca zawierające plik wykonywalny o nazwie
\fInazwa\fP. Aliasy i funkcje są uwzględniane wyłącznie jeśli nie podano
również opcji \fB\-p\fP. Tablica zapamiętanym poleceń nie jest sprawdzana, jeśli
użyto \fB\-a\fP. Opcja \fB\-f\fP przesłania funkcję wyszukiwania powłoki jak
wbudowanym \fBcommand\fP. \fBtype\fP zwraca prawdę jeśli odnaleziono wszystkie
argumenty i fałsz, gdy któregoś z nich nie odnaleziono.
.TP 
\fBulimit\fP [\fB\-HS\fP] \fB\-a\fP
.PD 0
.TP 
\fBulimit\fP [\fB\-HS\fP] [\fB\-bcdefiklmnpqrstuvxPRT\fP [\fIlimit\fP]]
.PD
Zapewnia kontrolę nad zasobami dostępnymi powłoce i procesów jakie ona
uruchamia, na systemach umożliwiających taką kontrolę.  Opcje \fB\-H\fP i \fB\-S\fP
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 \fB\-H\fP ani \fB\-S\fP,
to ustawiane jest zarówno ograniczenie miękkie jak i twarde.  Ograniczenie
\fIlimit\fP może być liczbą w jednostkach określonych dla zasobu lub jedną ze
specjalnych wartości: \fBhard\fP, \fBsoft\fP lub \fBunlimited\fP, oznaczających
odpowiednio: bieżące twarde ograniczenie, bieżące miękkie ograniczenie oraz
brak ograniczenia.  Jeżeli pominięto \fIlimit\fP, wypisywana jest bieżąca
wartość ograniczenia miękkiego danego zasobu, chyba że podano opcję
\fB\-H\fP. 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:
.RS
.PD 0
.TP 
\fB\-a\fP
Podawane są wszystkie bieżące ograniczenia; nie są ustawiane limity
.TP 
\fB\-b\fP
Maksymalny rozmiar bufora gniazda
.TP 
\fB\-c\fP
Maksymalny rozmiar tworzonych plików core
.TP 
\fB\-d\fP
Maksymalny rozmiar segmentu danych procesu
.TP 
\fB\-e\fP
Maksymalny priorytet planisty ("nice")
.TP 
\fB\-f\fP
Maksymalny rozmiar plików zapisywanych przez powłokę i jej potomków
.TP 
\fB\-i\fP
Maksymalna liczba oczekujących sygnałów
.TP 
\fB\-k\fP
Maksymalna liczba kqueue które można przypisać
.TP 
\fB\-l\fP
Maksymalny rozmiar, jaki może zostać zablokowany w pamięci
.TP 
\fB\-m\fP
Maksymalny rozmiar części rezydentnej (wiele systemów nie przestrzega tego
limitu)
.TP 
\fB\-n\fP
Maksymalna liczba otwartych deskryptorów pliku (większość systemów nie
pozwala na ustawianie tej wartości)
.TP 
\fB\-p\fP
Rozmiar potoku w blokach 512\-bajtowych (może nie być ustawione)
.TP 
\fB\-q\fP
Maksymalny rozmiar kolejek komunikatów POSIX, w bajtach
.TP 
\fB\-r\fP
Maksymalny priorytet rzeczywisty planisty
.TP 
\fB\-s\fP
Maksymalny rozmiar stosu
.TP 
\fB\-t\fP
Maksymalny czas CPU w sekundach
.TP 
\fB\-u\fP
Maksymalna liczba procesów dostępnych dla pojedynczego użytkownika
.TP 
\fB\-v\fP
Maksymalna wielkość pamięci wirtualnej dostępna dla powłoki i, w niektórych
systemach, dla jej potomków.
.TP 
\fB\-x\fP
Maksymalna liczba plików blokad
.TP 
\fB\-P\fP
Maksymalna liczba pseudoterminali
.TP 
\fB\-R\fP
The maximum time a real\-time process can run before blocking, in
microseconds
.TP 
\fB\-T\fP
Maksymalna liczba wątków
.PD
.PP
If \fIlimit\fP is given, and the \fB\-a\fP option is not used, \fIlimit\fP is the new
value of the specified resource.  If no option is given, then \fB\-f\fP is
assumed.  Values are in 1024\-byte increments, except for \fB\-t\fP, which is in
seconds; \fB\-R\fP, which is in microseconds; \fB\-p\fP, which is in units of
512\-byte blocks; \fB\-P\fP, \fB\-T\fP, \fB\-b\fP, \fB\-k\fP, \fB\-n\fP, and \fB\-u\fP, which are
unscaled values; and, when in posix mode, \fB\-c\fP and \fB\-f\fP, 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.
.RE
.TP 
\fBumask\fP [\fB\-p\fP] [\fB\-S\fP] [\fItryb\fP]
Maska praw dostępu dla plików tworzonych przez użytkownika ustawiana jest na
\fItryb\fP.  Jeżeli \fItryb\fP rozpoczyna się od cyfry, jest interpretowany jako
liczba ósemkowa; w przeciwnym razie interpretowany jest jako maska w trybie
symbolicznym, podobnie jak akceptowane przez \fIchmod\fP(1).  Jeżeli pominięto
\fItryb\fP wypisywana jest aktualna wartość maski.  Opcja \fB\-S\fP powoduje, że
maska zostanie wypisana w postaci symbolicznej; domyślne wyjście jest w
postaci liczby ósemkowej.  Jeżeli podano opcję \fB\-p\fP i pominięto \fItryb\fP, 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 \fItryb\fP, zaś fałsz w pozostałych sytuacjach.
.TP 
\fBunalias\fP [\-\fBa\fP] [\fInazwa\fP ...]
Usuwa każdą z \fInazw\fP z listy zdefiniowanych aliasów. Jeżeli podano \fB\-a\fP,
to usuwane są definicje wszystkich aliasów. Zwracanym kodem jest prawda,
chyba że podana \fInazwa\fP nie jest zdefiniowanym aliasem.
.TP 
\fBunset\fP [\-\fBfv\fP] [\-\fBn\fP] [\fInazwa\fP ...]
For each \fIname\fP, remove the corresponding variable or function.  If the
\fB\-v\fP option is given, each \fIname\fP refers to a shell variable, and that
variable is removed.  Read\-only variables may not be unset.  If \fB\-f\fP is
specified, each \fIname\fP refers to a shell function, and the function
definition is removed.  If the \fB\-n\fP option is supplied, and \fIname\fP is a
variable with the \fInameref\fP attribute, \fIname\fP will be unset rather than
the variable it references.  \fB\-n\fP has no effect if the \fB\-f\fP option is
supplied.  If no options are supplied, each \fIname\fP 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
.SM
\fBBASH_ALIASES\fP,
.SM
\fBBASH_ARGV0\fP,
.SM
\fBBASH_CMDS\fP,
.SM
\fBBASH_COMMAND\fP,
.SM
\fBBASH_SUBSHELL\fP,
.SM
\fBBASHPID\fP,
.SM
\fBCOMP_WORDBREAKS\fP,
.SM
\fBDIRSTACK\fP,
.SM
\fBEPOCHREALTIME\fP,
.SM
\fBEPOCHSECONDS\fP,
.SM
\fBFUNCNAME\fP,
.SM
\fBGROUPS\fP,
.SM
\fBHISTCMD\fP,
.SM
\fBLINENO\fP,
.SM
\fBRANDOM\fP,
.SM
\fBSECONDS\fP, or
.SM
\fBSRANDOM\fP are unset, they lose
their special properties, even if they are subsequently reset.  The exit
status is true unless a \fIname\fP is readonly or may not be unset.
.TP 
\fBwait\fP [\fB\-fn\fP] [\fB\-p\fP \fIvarname\fP] [\fIid ...\fP]
Wait for each specified child process and return its termination status.
Each \fIid\fP 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 \fIid\fP is not
given, \fBwait\fP waits for all running background jobs and the last\-executed
process substitution, if its process id is the same as \fB$!\fP, and the return
status is zero.  If the \fB\-n\fP option is supplied, \fBwait\fP waits for a single
job from the list of \fIid\fPs or, if no \fIid\fPs 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 \fB\-p\fP option is
supplied, the process or job identifier of the job for which the exit status
is returned is assigned to the variable \fIvarname\fP named by the option
argument.  The variable will be unset initially, before any assignment.
This is useful only when the \fB\-n\fP option is supplied.  Supplying the \fB\-f\fP
option, when job control is enabled, forces \fBwait\fP to wait for \fIid\fP to
terminate before returning its status, instead of returning when it changes
status.  If \fIid\fP specifies a non\-existent process or job, the return status
is 127.  If \fBwait\fP is interrupted by a signal, the return status will be
greater than 128, as described under \fBSIGNALS\fP
.ie  \n(zZ=1 in \fIbash(1)\fP.
.el above.
Otherwise, the return status is the exit status of the last process or job
waited for.
.SH "TRYB KOMPATYBILNOŚCI POWŁOKI"
Bash\-4.0 wprowadził pojęcie \fIpoziomu kompatybilności powłoki\fP, określonego
jako zbiór opcji do wbudowanego polecenia powłoki shopt (\fBcompat31\fP,
\fBcompat32\fP, \fBcompat40\fP, \fBcompat41\fP itd.). Istnieje tylko jeden aktualny
poziom kompatybilności \[em] 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.
.PP
Niniejszy rozdział nie wspomina o zachowaniu, które jest standardem dla
danej wersji (np. ustawienie \fBcompat32\fP 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).
.PP
Jeśli użytkownik włączy np. \fBcompat32\fP, 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 \fBbash\fP,
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 \fB[[\fP, pojawiła się w powłoce bash\-4.1, natomiast
wcześniejsze wersje korzystały z porównań ASCII, dlatego włączenie
\fBcompat32\fP 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.
.PP
Bash\-4.3 wprowadził nową zmienną powłoki:
.SM
\fBBASH_COMPAT\fP. Wartość
przypisana tej zmiennej (jest to dziesiętny numer wersji, taki jak 4.2; albo
liczba całkowita odpowiadająca opcji \fBcompat\fP\fINN\fP, taka jak 42) określa
poziom kompatybilności.
.PP
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
.SM
\fBBASH_COMPAT\fP.
.PP
Bash\-5.0 jest ostatnią wersją, w której będą istniały oddzielne opcje shopt
dla poprzedniej wersji. Użytkownicy powinni korzystać z
.SM
\fBBASH_COMPAT\fP w powłoce bash\-5.0 i kolejnych wersjach.
.PP
Poniższa tabela opisuje zmiany zachowania kontrolowane przez każde
ustawienie poziomu kompatybilności. Znacznik \fBcompat\fP\fINN\fP jest używany
jako skrótowe ukazanie ustawienia poziomu kompatybilności na \fINN\fP 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
\fBcompat\fP\fINN\fP. W powłoce bash\-4.3 i późniejszych, preferowane jest
korzystanie ze zmiennej
.SM
\fBBASH_COMPAT\fP, natomiast w powłoce bash\-5.1
i późniejszych jest ono wymagane.
.TP 
\fBcompat31\fP
.PD 0
.RS
.IP \(bu
quoting the rhs of the \fB[[\fP command's regexp matching operator (=~)  has no
special effect
.RE
.PD
.TP 
\fBcompat32\fP
.PD 0
.RS
.IP \(bu
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)
.RE
.PD
.TP 
\fBcompat40\fP
.PD 0
.RS
.IP \(bu
the \fB<\fP and \fB>\fP operators to the \fB[[\fP 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 \fIstrcmp\fP(3); bash\-4.1
and later use the current locale's collation sequence and \fIstrcoll\fP(3).
.RE
.PD
.TP 
\fBcompat41\fP
.PD 0
.RS
.IP \(bu
w trybie \fIposix\fP, po \fBtime\fP mogą występować opcje i będzie to wciąż
rozpoznawane jako słowo zastrzeżone (jest to interpretacja POSIX nr 267)
.IP \(bu
in \fIposix\fP mode, the parser requires that an even number of single quotes
occur in the \fIword\fP 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)
.RE
.PD
.TP 
\fBcompat42\fP
.PD 0
.RS
.IP \(bu
the replacement string in double\-quoted pattern substitution does not
undergo quote removal, as it does in versions after bash\-4.2
.IP \(bu
in posix mode, single quotes are considered special when expanding the
\fIword\fP 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
.RE
.PD
.TP 
\fBcompat43\fP
.PD 0
.RS
.IP \(bu
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=\(aq(1 2)\(aq). Later versions warn that this usage is deprecated
.IP \(bu
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)
.IP \(bu
when executing a shell function, the loop state (while/until/etc.)  is not
reset, so \fBbreak\fP or \fBcontinue\fP in that function will break or continue
loops in the calling context. Bash\-4.4 and later reset the loop state to
prevent this
.RE
.PD
.TP 
\fBcompat44\fP
.PD 0
.RS
.IP \(bu
the shell sets up the values used by
.SM
\fBBASH_ARGV\fP and
.SM
\fBBASH_ARGC\fP so they can expand to the shell's positional parameters even if
extended debugging mode is not enabled
.IP \(bu
a subshell inherits loops from its parent context, so \fBbreak\fP or
\fBcontinue\fP will cause the subshell to exit.  Bash\-5.0 and later reset the
loop state to prevent the exit
.IP \(bu
variable assignments preceding builtins like \fBexport\fP and \fBreadonly\fP that
set attributes continue to affect variables with the same name in the
calling environment even if the shell is not in posix mode
.RE
.PD
.TP 
\fBcompat50\fP
.PD 0
.RS
.IP \(bu
Bash\-5.1 changed the way
.SM
\fB$RANDOM\fP 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
.SM
\fBRANDOM\fP
will produce the same sequence as in bash\-5.0
.IP \(bu
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 \fB\-l\fP option
is supplied.
.RE
.PD
.TP 
\fBcompat51\fP
.PD 0
.RS
.IP \(bu
The \fBunset\fP builtin treats attempts to unset array subscripts \fB@\fP and \fB*\fP
differently depending on whether the array is indexed or associative, and
differently than in previous versions.
.RE
.PD
.if  \n(zZ=1 .ig zZ
.\" bash_builtins
.SH "POWŁOKA OKROJONA"
.\" rbash.1
.zY
.PP
Jeśli \fBbash\fP uruchomiony jest pod nazwą \fBrbash\fP, lub przy jego wywołaniu
posłużono się opcją \fB\-r\fP, 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 \fBbash\fP z wyjątkiem
tego, że poniższe nie są dozwolone lub nie są wykonywane:
.IP \(bu
zmiana katalogów przy pomocy \fBcd\fP
.IP \(bu
ustawianie lub kasowanie wartości
.SM
\fBSHELL\fP,
.SM
\fBPATH\fP,
.SM
\fBHISTFILE\fP,
.SM
\fBENV\fP lub
.SM
\fBBASH_ENV\fP
.IP \(bu
podawanie nazw poleceń zawierających \fB/\fP
.IP \(bu
podawanie nazw plików zawierających \fB/\fP jako argumentu wbudowanego
polecenia \fB.\fP (kropka).
.IP \(bu
podawanie nazwy pliku zawierającej ukośnik jako argument do wbudowanego
polecenia \fBhistory\fP.
.IP \(bu
podawanie nazwy pliku zawierającej ukośnik jako argument do opcji \fB\-p\fP
wbudowanego polecenia \fBhash\fP.
.IP \(bu
importowanie definicji funkcji ze środowiska powłoki przy uruchamianiu
.IP \(bu
analiza wartości
.SM
\fBSHELLOPTS\fP ze środowiska powłoki przy uruchamianiu
.IP \(bu
przekierowywanie wyjścia przy pomocy operatorów >, >|, <>,
>&, &> i >>
.IP \(bu
posługiwanie się wbudowanym poleceniem \fBexec\fP w celu zastąpienia powłoki
innym poleceniem
.IP \(bu
dodawanie lub usuwanie poleceń przy pomocy opcji \fB\-f\fP i \fB\-d\fP wbudowanego
polecenia \fBenable\fP
.IP \(bu
używanie wbudowanego polecenia \fBenable\fP do włączania wyłączonych
wbudowanych poleceń powłoki
.IP \(bu
podawanie opcji \fB\-p\fP wbudowanego polecenia \fBcommand\fP
.IP \(bu
wyłączanie trybu okrojonego za pomocą \fBset +r\fP lub \fBshopt \-u restricted_shell\fP.
.PP
Powyższe ograniczenia wymuszane są po przeczytaniu plików uruchomieniowych.
.PP
.ie  \n(zY=1 When a command that is found to be a shell script is executed,
.el \{ When a command that is found to be a shell script is executed
(see
.SM
.B "COMMAND EXECUTION"
above),
\}
\fBrbash\fP wyłącza wszelkie ograniczenia w powłoce zrodzonej do wykonania
skryptu.
.if  \n(zY=1 .ig zY
.\" end of rbash.1
.SH "ZOBACZ TAKŻE"
.PD 0
.TP 
\fIBash Features\fP, Brian Fox i Chet Ramey
.TP 
\fIThe Gnu Readline Library\fP, Brian Fox i Chet Ramey
.TP 
\fIThe Gnu History Library\fP, Brian Fox i Chet Ramey
.TP 
\fIPortable Operating System Interface (POSIX) Part 2: Shell and Utilities\fP, IEEE \-\-
http://pubs.opengroup.org/onlinepubs/9699919799/
.TP 
http://tiswww.case.edu/~chet/bash/POSIX \-\- opis trybu posix
.TP 
\fIsh\fP(1), \fIksh\fP(1), \fIcsh\fP(1)
.TP 
\fIemacs\fP(1), \fIvi\fP(1)
.TP 
\fIreadline\fP(3)
.PD
.SH PLIKI
.PD 0
.TP 
.FN /bin/bash
Plik wykonywalny powłoki \fBbash\fP
.TP 
.FN /etc/profile
Ogólnosystemowy plik inicjujący, wykonywany dla powłok zgłoszeniowych
.TP 
.FN /etc/bash.bashrc
Ogólnosystemowy plik startowy dla powłoki interaktywnej
.TP 
.FN /etc/bash.bash.logout
Ogólnosystemowy plik porządkujący dla powłoki zgłoszeniowej, wykonywany
podczas kończenia przez nią pracy
.TP 
.FN ~/.bash_profile
Osobisty plik inicjujący, wykonywany dla powłok zgłoszeniowych
.TP 
.FN ~/.bashrc
Indywidualny plik startowy dla powłoki trybu interaktywnego
.TP 
.FN ~/.bash_logout
Indywidualny plik porządkujący dla powłoki zgłoszeniowej, wykonywany podczas
kończenia przez nią pracy
.TP 
.FN ~/.bash_history
Domyślna wartość \fBHISTFILE\fP \[em] pliku, w którym bash przechowuje historię
poleceń
.TP 
.FN ~/.inputrc
Indywidualny plik inicjujący do \fIreadline\fP
.PD
.SH AUTORZY
Brian Fox, Free Software Foundation
.br
bfox@gnu.org
.PP
Chet Ramey, Case Western Reserve University
.br
chet.ramey@case.edu
.SH "ZGŁOSZENIA BŁĘDÓW"
Jeśli znajdziesz w \fBbash\fP 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 \fBbash\fP jaką masz. Jest ona zawsze dostępna pod adresem
\fIftp://ftp.gnu.org/pub/gnu/bash/\fP i
\fIhttp://git.savannah.gnu.org/cgit/bash.git/snapshot/bash\-master.tar.gz\fP.
.PP
Po ustaleniu, że błąd faktycznie istnieje, użyj polecenia \fIbashbug\fP 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 \fIbug\-bash@gnu.org\fP lub wysyłane na
grupę dyskusyjną \fBgnu.bash.bug\fP.
.PP
WSZYSTKIE zgłoszenia błędów powinny zawierać:
.PP
.PD 0
.TP  20
Numer wersji \fBbash\fP
.TP 
Sprzęt i system operacyjny
.TP 
Użyty kompilator
.TP 
Opis błędnego zachowania
.TP 
Krótki skrypt lub przepis na uzyskanie błędu
.PD
.PP
\fIbashbug\fP wstawia pierwsze trzy pozycje automatycznie do szablonu jaki
udostępnia w celu wypełnienia zgłoszenia błędów.
.PP
Komentarze i zgłoszenia błędów dotyczące tej strony podręcznika [oryginału]
powinny być kierowane na adres \fIchet.ramey@case.edu\fP.
.SH USTERKI
Jest za duży i zbyt wolny.
.PP
Istnieje trochę subtelnych różnic pomiędzy \fBbash\fP a tradycyjnymi wersjami
\fBsh\fP, głównie z powodu specyfikacji
.SM
\fBPOSIX\fP.
.PP
Aliasy w niektórych zastosowaniach wprawiają w zakłopotanie.
.PP
Poleceń wbudowanych powłoki i funkcji nie można zatrzymywać/wznawiać.
.PP
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ść.
.PP
Zmienne tablicowe nie mogą być (na razie) eksportowane.
.PP
Może istnieć tylko jeden aktywny koproces w danym czasie.
.zZ
.zY
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Wojtek Kotwica <wkotwica@post.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
