BASH(1)                                                   BASH(1)


NAZWA
       bash - GNU Bourne-Again SHell

SKŁADNIA
       bash [opcje] [plik]

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

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

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

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

       -c łańcuch
                 Jeśli  występuje opcja -c, to polecenia odczyty­
                 wane są z łańcucha.  Jeżeli po łańcuchu istnieją
                 argumenty,  to są one przypisywane do argumentów
                 pozycyjnych, poczynając od $0.
       -r        Jeżeli występuje opcja -r, to powłoka staje  się
                 powłoką  okrojoną  (restricted).  Zobacz poniżej
                 POWŁOKA OKROJONA.
       -i        Jeżeli  występuje  opcja  -i,  to  powłoka  jest
                 interaktywna.
       -s        Jeśli  występuje  opcja  -s lub po przetworzeniu
                 opcji nie pozostają żadne argumenty, to  polece­
                 nia  odczytywane  są  ze  standardowego wejścia.
                 Opcja  ta  umożliwia  na  ustawienie  parametrów
                 pozycyjnych podczas wywołania powłoki interakty­
                 wnej.
       -D        Na standardowym wyjściu  wypisywana  jest  lista
                 wszystkich    podwójnie   cytowanych   łańcuchów
                 poprzedzonych znakiem $.  Są to łańcuchy  będące
                 przedmiotem  tłumaczenia  języka,  gdy  bieżącym
                 ustawieniem regionalnym (locale) nie jest C  ani
                 POSIX.  Implikuje to opcję -n; nie zostaną wyko­
                 nane żadne polecenia.
       [-+]O [opcja_shopt]
                 opcja_shopt jest jedną z  ocpji  powłoki  akcep­
                 towanych przez polecenie wbudowane shopt (zobacz
                 WBUDOWANE  POLECENIA  POWŁOKI  poniżej).   Jeśli
                 występuje  opcja_shopt, to -O nadaje wartość tej
                 opcji, zaś +O unieważnia ją.  Jeżeli nie  podano



GNU Bash-2.05a          13 listopada 2001                       1





BASH(1)                                                   BASH(1)


                 opcji_shopt,  to na standardowym wyjściu wypisy­
                 wane są nazwy i wartości  opcji  powłoki  akcep­
                 towanych  przez  shopt.   Jeśli  opcją wywołania
                 jest +O, tworzone  wyjście  jest  formatowane  w
                 taki  sposób,  by można było wykorzystać je jako
                 wejście.
       --        Zapis -- sygnalizuje koniec opcji i wyłącza dal­
                 sze ich przetwarzanie.  Argumenty występujące po
                 -- traktowane są jako nazwy plików i  argumenty.
                 Argument - jest równoważnikiem --.

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

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

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

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

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

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

       --posix
              Zmienia   zachowanie   bash   tam,  gdzie  operacja
              domyślna różni się od standardu POSIX  1003.2  tak,



GNU Bash-2.05a          13 listopada 2001                       2





BASH(1)                                                   BASH(1)


              by dostosować się do niego (tryb posix).

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


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

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

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

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                       3





BASH(1)                                                   BASH(1)


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

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

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                       4





BASH(1)                                                   BASH(1)


       pozwala na ich podanie.

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

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

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

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

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

       Wartością   zwracaną  polecenia  prostego  jest  jego  kod



GNU Bash-2.05a          13 listopada 2001                       5





BASH(1)                                                   BASH(1)


       zakończenia lub  128+n  jeżeli  polecenie  przerwane  jest
       sygnałem n.

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

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

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

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

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

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

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

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

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

       Operatory  sterujące  &&  i || oznaczają odpowiednio listy



GNU Bash-2.05a          13 listopada 2001                       6





BASH(1)                                                   BASH(1)


       AND i OR. Lista AND ma postać


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

       Lista OR ma postać

              polecenie1 || polecenie2


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

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

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

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

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

       [[ wyrażenie ]]
              Zwraca kod 0 lub 1 w  zależności  od  interpretacji
              wyrażenia  warunkowego wyrażenie. Wyrażenia złożone
              są ze składowych (primaries)  opisanych  poniżej  w
              opcji  WYRAŻENIA WARUNKOWE.  Na słowach pomiędzy [[
              a ]] nie są wykonywane rozwinięcia nazw plików  ani



GNU Bash-2.05a          13 listopada 2001                       7





BASH(1)                                                   BASH(1)


              podział  na  słowa; są natomiast wykonywane: inter­
              pretacja tyld, parametrów  i  zmiennych,  interpre­
              tacja  wyrażeń arytmetycznych, podstawianie wyników
              poleceń, podstawianie wyników procesów i  usunięcia
              cytowań.

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

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

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

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

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

       for (( wyr1 ; wyr2 ; wyr3 )) ; do lista ; done
              Na początku obliczane jest  wyrażenie  arytmetyczne
              wyr1,   zgodnie  z  zasadami  opisanymi  poniżej  w
              OBLICZANIE   WYRAŻEŃ   ARYTMETYCZNYCH.    Następnie



GNU Bash-2.05a          13 listopada 2001                       8





BASH(1)                                                   BASH(1)


              wielokrotnie obliczane jest wyr2, aż do osiągnięcia
              przez nie wartości zero.  Każdorazowo gdy obliczone
              wyr2   jest  niezerowe,  wykonywana  jest  lista  i
              obliczane jest wyrażenie arytmetyczne wyr3.   Jeśli
              pominięto  któreś  z  wyrażeń, to zachowuje się ono
              tak, jakby przyjmowało wartość 1.  Zwracanym  kodem
              jest  kod zakończenia ostatniego wykonanego polece­
              nia listy, lub fałsz jeśli któreś  z  wyrażeń  jest
              niepoprawne.

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

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

       if  lista;  then  lista;  [  elif lista; then lista; ] ...
              [ else lista; ] fi
              Wykonywana  jest  lista  występująca po if.  Jeżeli
              jej kod zakończenia jest zerowy, to wykonywana jest
              lista  klauzuli then. W przeciwnym wypadku, wykony­
              wana jest lista każdego elif po  kolei;  jeśli  kod
              zakończenia  którejś  wynosi  0, to wykonywana jest



GNU Bash-2.05a          13 listopada 2001                       9





BASH(1)                                                   BASH(1)


              lista then i polecenie jest  kończone.  Jeżeli  nie
              wystąpił  żaden z powyższych przypadków, to wykony­
              wana jest lista występująca po klauzuli else, jeśli
              takowa  istnieje. Kodem zakończenia jest kod ostat­
              niego wykonanego polecenia  listy  lub  zero  jeśli
              żaden z warunków nie okazał się prawdziwy.

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

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

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

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

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

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

       Istnieją     trzy     mechanizmy      cytowania:      znak



GNU Bash-2.05a          13 listopada 2001                      10





BASH(1)                                                   BASH(1)


       specjalny(escapecharacter),   apostrofy  (pojedyncze  cud­
       zysłowy) i cudzysłowy zwykłe (podwójne).

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

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

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

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

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

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

       Ujęty w cudzysłowy łańcuch poprzedzony znakiem dolara  ($)
       spowoduje,  że  łańcuch zostanie zinterpretowany zgodnie z
       bieżącymi  ustawieniami   regionalnymi   (locale).   Jeśli



GNU Bash-2.05a          13 listopada 2001                      11





BASH(1)                                                   BASH(1)


       ustawione  są  one  na  C  lub  POSIX, to znak dolara jest
       ignorowany. Jeżeli łańcuch jest tłumaczony  i  zamieniany,
       to zastąpienie jest podwójnie cytowane.

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

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

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

              nazwa=[wartość]

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

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




GNU Bash-2.05a          13 listopada 2001                      12





BASH(1)                                                   BASH(1)


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

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



GNU Bash-2.05a          13 listopada 2001                      13





BASH(1)                                                   BASH(1)


              sprawdzania poczty parametr ten  przechowuje  nazwę
              aktualnie sprawdzanego pliku poczty.

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

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

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

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

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

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

       COMP_WORDS
              Zmienna    tablicowa    (patrz   Tablice   poniżej)
              składająca się z  pojedynczych  słów  z  aktualnego



GNU Bash-2.05a          13 listopada 2001                      14





BASH(1)                                                   BASH(1)


              wiersza   poleceń.    Zmienna   ta   jest  dostępna
              wyłącznie  w  funkcjach  powłoki  wywołanych  przez
              usługi programowalnego uzupełniania (zobacz poniżej
              Programowalne uzupełnianie).

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

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

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

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

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

       HOSTNAME
              Automatycznie  ustawiane na nazwę aktualnego hosta.

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

       LINENO Przy każdym odwołaniu  do  tego  parametru  powłoka



GNU Bash-2.05a          13 listopada 2001                      15





BASH(1)                                                   BASH(1)


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

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

       OLDPWD Poprzedni katalog roboczy ustawiony poleceniem  cd.

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

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

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

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

       PPID   Identyfikator procesu macierzystego  powłoki.  Zmi­
              enna ta jest tylko do odczytu.

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

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

       REPLY  Ustawiona  na  wiersz  wejścia odczytany wbudowanym
              poleceniem read jeśli nie podano żadnych jego argu­
              mentów.

       SECONDS
              Każdorazowo,   gdy   występuje  odwołanie  do  tego
              parametru,  zwracana  jest  liczba  sekund,   jakie



GNU Bash-2.05a          13 listopada 2001                      16





BASH(1)                                                   BASH(1)


              upłynęły  od  wywołania  powłoki. Jeżeli do SECONDS
              zostanie przypisana wartość,  to  wartość  zwracana
              przez  kolejne  odwołania  równa  liczbie sekund od
              czasu przypisania plus przypisana wartość.   Jeżeli
              SECONDS  jest  unieważnione, to traci swe specjalne
              właściwości, nawet jeżeli jest  następnie  ponownie
              ustawione.

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

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

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

       Poniższe zmienne są używane przez  powłokę.  W  niektórych
       przypadkach  bash  przypisuje  im domyślne wartości; przy­
       padki te są odnotowane niżej.

       BASH_ENV
              Jeżeli parametr ten jest ustawiony podczas  wykony­
              wania przez bash skryptu, to jego wartość interpre­
              towana jest jako nazwa pliku zawierającego  polece­
              nia  do  zainicjowania  powłoki,  jak  w ~/.bashrc.
              Wartość BASH_ENV podlega interpretacji  parametrów,
              podstawianiu   wyników   poleceń  i  interpretacjom
              wyrażeń arytmetycznych przed interpretacją jej jako
              nazwy  pliku.   Zmienna  PATH  nie  jest używana do
              znalezienia pliku o powstałej w ten sposób  nazwie.
       CDPATH Ścieżka  wyszukiwania  dla  polecenia  cd.  Jest to
              lista  rozdzielonych   dwukropkami   katalogów,   w
              których powłoka szuka katalogów docelowych podanych
              przez polecenie  cd.   Przykładową  wartością  jest
              ,,.:~:/usr''.
       COLUMNS
              Używana  przez  polecenie  wbudowane select do wyz­
              naczenia szerokości terminala przy wypisywaniu list
              wyboru.  Ustawiana automatycznie po otrzymaniu SIG­
              WINCH.
       COMPREPLY
              Zmienna tablicowa,  z  której  bash  czyta  możliwe



GNU Bash-2.05a          13 listopada 2001                      17





BASH(1)                                                   BASH(1)


              uzupełnienia   tworzone   przez   funkcję   powłoki
              wywołaną przez usługę programowalnego  uzupełniania
              (zobacz poniżej Programowalne uzupełnianie).
       FCEDIT Domyślny edytor dla wbudowanego polecenia fc.
       FIGNORE
              Lista  rozdzielonych dwukropkami przyrostków, jakie
              mają  być  ignorowane  podczas  uzupełniania   nazw
              plików  (zobacz  READLINE  poniżej).  Nazwa pliku o
              przyrostku pasującym do jednej  z  pozycji  FIGNORE
              wyłączana  jest  z  listy dopasowanych nazw plików.
              Przykładową wartością jest ,,.o:~''.
       GLOBIGNORE
              Lista     rozdzielonych     dwukropkami     wzorców
              definiujących  zestaw  nazw  plików, jakie mają być
              ignorowane podczas rozwijania nazw plików.   Jeżeli
              plik   pasujący   do   wzorca  rozwijającego  nazwę
              ścieżkową pasuje również do któregoś  z  wzorców  w
              GLOBIGNORE,  to  jest  on  usuwany  z  listy  dopa­
              sowanych.
       HISTCONTROL
              Jeżeli  posiada  wartość  ignorespace,  to  wiersze
              rozpoczynające   się   od   znaku   spacji  nie  są
              wprowadzane  do  listy  historii.   Jeśli   posiada
              wartość  ignoredups,  to wiersze pasujące do ostat­
              niego wiersza historii nie są wprowadzane.  Wartość
              ignoreboth łączy obie te możliwości.  Jeśli zmienna
              ta nie jest zdefiniowana lub  ma  wartość  inną  od
              powyższych,  to wszystkie wiersze przeczytane przez
              analizator składni zachowywane  są  w  liście  his­
              torii,  stosownie  do wartości HISTIGNORE.  Funkcja
              tej  zmiennej  jest  zastąpiona  przez  HISTIGNORE.
              Drugi   i   kolejne   wiersze  złożonego  polecenia
              wielowierszowego nie są sprawdzane i są dodawane do
              historii bez względu na wartość
       HISTFILE
              Nazwa  pliku,  w  którym  zachowywana jest historia
              poleceń  (zobacz  HISTORIA   poniżej).    Wartością
              domyślną jest ~/.bash_history. Jeśli ustawienie tej
              zmiennej zostanie skasowane,  to  historia  poleceń
              nie  będzie  zachowana po zakończeniu pracy powłoki
              interaktywnej.
       HISTFILESIZE
              Maksymalna liczba wierszy zawartych  w  pliku  his­
              torii. Podczas przypisywania wartości tej zmiennej,
              jeżeli jest to niezbędne, plik historii jest  obci­
              nany tak, by nie zawierał więcej wierszy.  Domyślną
              wartością jest 500.  Plik historii jest także obci­
              nany  do  tego  rozmiaru  po  zapisaniu go w czasie
              kończenia pracy przez powłokę interaktywną.
       HISTIGNORE
              Lista rozdzielonych dwukropkami  wzorców  służących
              do  decydowania,  jakie wiersze poleceń powinny być
              zachowane  w  liście  historii.  Każdy  z   wzorców
              zakotwiczony   jest  na  początku  wiersza  i  musi



GNU Bash-2.05a          13 listopada 2001                      18





BASH(1)                                                   BASH(1)


              pasować do całego wiersza (nie jest dodawane  żadne
              niejawne  `*').  Każdy  z wzorców sprawdzany jest z
              bieżącym wierszem po wykonaniu kontroli określonych
              przez  HISTCONTROL.   Oprócz  zwykłych znaków dopa­
              sowywania  wzorców  używanych  przez  powłokę,  `&'
              dopasowuje  poprzedni  wiersz historii. Literał `&'
              można uzyskać poprzedzając go odwrotnym ukośnikiem;
              odwrotny ukośnik jest usuwany przed próbą dopasowa­
              nia.  Druga i kolejne wiersze  złożonego  polecenia
              wielowierszowego nie są sprawdzane i są dodawane do
              historii bez względu na wartość HISTIGNORE.
       HISTSIZE
              Liczba poleceń do zapamiętania w  historii  poleceń
              (zobacz HISTORIA poniżej).  Wartością domyślną jest
              500.
       HOME   Katalog  domowy  bieżącego  użytkownika;   domyślny
              argument  wbudowanego  polecenia  cp.   Wartość tej
              zmiennej wykorzystywana jest też  przy  wykonywaniu
              interpretacji tyld.
       HOSTFILE
              Zawiera   nazwę  pliku  o  tym  samym  formacie  co
              /etc/hosts który pownien być czytany,  gdy  powłoka
              potrzebuje  uzupełnić nazwę hosta.  Listę możliwych
              uzupełnień można zmieniać  podczas  pracy  powłoki.
              Następnym   razem,   gdy   wykonywana   jest  próba
              uzupełnienia  nazwy  hosta  bash  dodaje  zawartość
              nowego  pliku  do  już  istniejącej  listy.  Jeżeli
              HOSTFILE jest ustawione, ale nie posiada  wartości,
              bash  usiłuje  uzyskać  listę  możliwych uzupełnień
              nazw hostów czytając /etc/hosts Gdy  HOSTFILE  jest
              unieważniane, lista hostów jest czyszczona.
       IFS    Wewnętrzny Separator Pól (Internal Field Separator)
              używany do podziału na słowa po  interpretacjach  i
              dzielenia  wierszy na słowa we wbudowanym poleceniu
              read.  Jego domyślną wartością jest ,,<spacja><tab­
              ulacja><nowalinia>''.
       IGNOREEOF
              Steruje   działaniem   powłoki  interaktywnej  przy
              otrzymaniu przez nią znaku EOF jako jedynego  znaku
              wejścia. Jeżeli jest ustawiona, to jej wartość jest
              liczbą kolejnych znaków EOF jakie muszą być wpisane
              jako  pierwsze  znaki  wiersza  wprowadzania  przed
              zakończeniem pracy przez bash.   Jeśli  zmienna  ta
              istnieje,  ale nie zawiera wartości numerycznej lub
              nie ma wartości, to  wartością  domyślną  jest  10.
              Jeżeli nie istnieje, to EOF wskazuje powłoce koniec
              wprowadzanych danych.
       INPUTRC
              nazwa pliku startowego dla readline, unieważniająca
              domyślną ~/.inputrc (zobacz READLINE poniżej).
       LANG   Służy  do  wyznaczania kategorii locale dla wszyst­
              kich kategorii nie wyszczególnionych przez  zmienne
              rozpoczynające się od znaków LC_.
       LC_ALL Zmienna  ta  unieważnia  wartość  LANG  i wszelkich



GNU Bash-2.05a          13 listopada 2001                      19





BASH(1)                                                   BASH(1)


              innych  zmiennych   LC_   określających   kategorie
              locale.
       LC_COLLATE
              Ta  zmienna  wyznacza  kolejność  (collation order)
              używaną przy  sortowaniu  wyników  rozwijania  nazw
              plików,  decyduje  też  o zachowaniu wielu wyrażeń,
              klas równoważnych i sekwencje sortowania (collating
              sequences) w rozwijaniu nazw plików i dopasowywaniu
              wzorców.
       LC_CTYPE
              Ta  zmienna  decyduje  o  interpretacji  znaków   i
              zachowaniu się klas znaków wewnątrz rozwijania nazw
              plików i dopasowywania wzorców.
       LC_MESSAGES
              Ta zmienna decyduje o ustawieniu locale używanym do
              tłumaczenia ujętych w cudzysłowy łańcuchów poprzed­
              zonych znakiem $.
       LC_NUMERIC
              Ta zmienna określa kategorię locale używaną do for­
              matowania liczb.
       LINES  Używana  przez  polecenie  wbudowane select do wyz­
              naczenia  długości  kolumn  przy  wypisywaniu  list
              wyboru.  Ustawiana automatycznie po otrzymaniu SIG­
              WINCH.
       MAIL   Jeżeli  parametrowi  temu  jest  przypisana   nazwa
              pliku,  a  nie  jest ustawiona zmienna MAILPATH, to
              bash informuje użytkownika o  nadejściu  poczty  do
              podanego pliku.
       MAILCHECK
              Określa  jak  często  (w  sekundach)  bash sprawdza
              pocztę. Domyślnie jest to 60 sekund. Gdy  nadchodzi
              pora  sprawdzenia poczty, powłoka wykonuje to przed
              wyświetleniem głównej zachęty.   Jeśli  zmienna  ta
              nie  jest ustawiona, to powłoka wyłącza sprawdzanie
              poczty.
       MAILPATH
              Lista  rozdzielonych  dwukropkami  nazw  plików,  w
              jakich  ma być sprawdzana poczta. Można podać komu­
              nikat, jaki ma zostać wyświetlony,  gdy  do  danego
              pliku  przybędzie wiadomość pocztowa, przez oddzie­
              lenie nazwy pliku od komunikatu znakiem '?'.  Użyte
              w  tekście  komunikatu, $_ interpretowane jest jako
              nazwa bieżącego pliku pocztowego.  Przykład:
              MAILPATH='/var/mail/bfox?"You                  have
              mail":~/shell-mail?"$_ has mail!"'
              Bash  zapewnia  tej  zmiennej wartość domyślną, ale
              położenie plików pocztowych użytkownika, jakim  się
              posługuje  zależy od systemu (np. /var/mail/$USER).
       OPTERR Jeżeli ustawiono na wartość 1, bash wyświetla komu­
              nikaty   o  błędach  generowanych  przez  wbudowane
              polecenie  getopts  (zobacz   WBUDOWANE   POLECENIA
              POWŁOKI  poniżej).   OPTERR  inicjowane  jest  na 1
              każdorazowo,  gdy  wywoływana  jest   powłoka   lub
              wykonywany jest skrypt powłoki.



GNU Bash-2.05a          13 listopada 2001                      20





BASH(1)                                                   BASH(1)


       PATH   Ścieżka   wyszukiwania   poleceń.   Jest  to  lista
              rozdzielanych  dwukropkami  katalogów,  w   których
              powłoka  szuka  poleceń (zobacz WYKONYWANIE POLECEŃ
              poniżej). Domyślna  ścieżka  zależy  od  systemu  i
              ustawiana  jest  przez administratora instalującego
              bash.        Powszechną       wartością        jest
              ,,/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:.''.
       POSIXLY_CORRECT
              Jeśli podczas uruchamiania bash w  środowisku  ist­
              nieje  ta zmienna, to powłoka przed odczytem plików
              startowych wchodzi w tryb posix, tak jakby przy jej
              wywołaniu  podano  opcję --posix.  Jeśli zmienna ta
              zostanie ustawiona podczas pracy powłoki,  to  bash
              włącza  tryb  posix,  tak  jakby  zostało  wykonane
              polecenie set -o posix.
       PROMPT_COMMAND
              Jeżeli jest ustawiona, to jej wartość jest  wykony­
              wana  jwko polecenie przed każdym wysłaniem zachęty
              głównej.
       PS1    Wartość tego parametru jest interpretowana  (zobacz
              poniżej  ZACHĘTA)  i  używana  jako  główny łańcuch
              zachęty. Jego wartością domyślną jest ,,\s-\v\$ ''.
       PS2    Wartość  tego parametru jest interpretowana jak PS1
              i używana jako wtórny (secondary) łańcuch  zachęty.
              Domyślnie jest to ,,> ''.
       PS3    Wartość tego parametru służy jako zachęta w polece­
              niu select (zobacz powyżej GRAMATYKA POWŁOKI).
       PS4    Wartość tego parametru interpretowana jest jak  PS1
              i  wypisywana  przed każdym poleceniem wyświetlanym
              przez bash podczas śledzenia wykonywania.  Pierwszy
              znak   PS4,   w  razie  potrzeby,  powtarzany  jest
              wielokrotnie,  by  wskazać  wiele   pozionów   zag­
              nieżdżenia.  Domyślnie jest to ,,+ ''.
       TIMEFORMAT
              Wartość  tego  parametru służy jako łańcuch formatu
              określającego, jak powinna być wyświetlana informa­
              cja o czasach dla potoków poprzedzonych słowem zas­
              trzeżonym time.  Znak % rozpoczyna sekwencję  spec­
              jalną, która jest interpretowana jako wartość czasu
              lub inna  informacja.  Sekwencje  specjalne  i  ich
              znaczenie   są   następujące;   nawiasy  kwadratowe
              opisują części opcjonalne.
              %%        Literał %.
              %[p][l]R  Czas, jaki upłynął, w sekundach.
              %[p][l]U  Liczba sekund, jakie CPU zużył  w  trybie
                        użytkownika.
              %[p][l]S  Liczba  sekund,  jakie CPU zużył w trybie
                        systemowym.
              %P        Procent wykorzystania CPU,  liczony  jako
                        (%U + %S) / %R.

              Opcjonalne  p  jest  cyfrą  określającą  dokładność
              (precision),  liczbę  cyfr  ułamkowych  po   kropce
              dziesiętnej.   Wartość zero powoduje, że nie będzie



GNU Bash-2.05a          13 listopada 2001                      21





BASH(1)                                                   BASH(1)


              wyświetlana  ani  kropka   dziesiętna   ani   część
              ułamkowa.  Mogą być podane co najwyżej trzy miejsca
              po kropce dziesiętnej;  wartości  p  większe  od  3
              zmieniane są na 3.  Jeżeli nie podano p, to używana
              jest wartość 3.

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

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

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

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

       histchars
              Dwa lub trzy znaki sterujące interpretacją historii
              i  podziałem  na  leksemy (zobacz poniżej INTERPRE­
              TACJA HISTORII).  Pierwszy znak jest znakiem inter­
              pretacjihistorii,      sygnalizującym      początek



GNU Bash-2.05a          13 listopada 2001                      22





BASH(1)                                                   BASH(1)


              interpretacji historii,  zwykle  `!'.   Drugi  znak
              jest  znakiem szybkiego podstawiania , ("quick sub­
              stitution"),  służącym  jako  skrót  do  powtórnego
              uruchamiania  poprzednio  wprowadzonego  polecenia,
              podstawiającym w poleceniu jeden łańcuch  za  inny.
              Domyślnym  znakiem szybkiego podstawiania jest `^'.
              Opcjonalny, trzeci znak jest  znakiem  wskazującym,
              że  pozostała  część wiersza, w którym występuje on
              jako pierwszy znak słowa, jest komentarzem.  Zwykle
              znakiem  tym  jest  `#'.  Znak  komentarza historii
              powoduje, że dla pozostałych słów wiersza  podstaw­
              ianie   historii   jest   pomijane.   Niekoniecznie
              powoduje to traktowanie reszty wiersza jako  komen­
              tarza przez analizator składni powłoki.

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

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

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

       Do   elementu   tablicy   można   odwoływac  się  używając
       ${nazwa[wskaźnik]}. Nawiasy są wymagane, by  uniknąć  kon­
       fliktów  z rozwijaniem nazw plików. Jeśli wskaźnikiem jest
       @ lub  *,  to  powyższe  słowo  interpretowane  jest  jako



GNU Bash-2.05a          13 listopada 2001                      23





BASH(1)                                                   BASH(1)


       wszystkie  elementy  nazwy.  Wskaźniki te różnią się tylko
       wtedy, gdy słowo pojawia się w cudzysłowach.  Jeśli  słowo
       ujęto  w  cudzysłowy,  to  ${nazwa[*]} interpretowane jest
       jako pojedyncze  słowo  o  wartości  wszystkich  elementów
       tablicy  rozdzielonych pierwszym znakiem zmiennej specjal­
       nej IFS, zaś ${nazwa[@]} interpretuje  każdy  z  elementów
       nazwa  jako odrębne słowo. Jeśli brak jest elementów tabl­
       icy, to ${nazwa[@]} interpretowane jest jako nic. Jest  to
       zachowanie  analogiczne  do interpretacji parametrów spec­
       jalnych  *  i  @  (zobacz  powyżej  Parametry  specjalne).
       ${#nazwa[wskaźnik]}   interpretowane   jest  jako  długość
       ${nazwa[wskaźnik]}. Jeśli wskaźnikiem jest  *  lub  @,  to
       interpretacją  jest liczba elementów w tablicy.  Odwoływa­
       nia się do zmiennej tablicowej bez podania wskaźnika  jest
       równoważne odwołaniu do elementu numer zero.

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

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

INTERPRETACJA
       Interpretacja wykonywana jest na wierszu poleceń  po  jego
       podziale  na słowa.  Istnieje siedem rodzajów wykonywanych
       interpretacji: interpretacja nawiasów  (brace  expansion),
       interpretacja   tyld   (tilde   expansion),   podstawianie
       parametrów i interpretacja zmiennych (parameter and  vari­
       able  expansion),  podstawienie  wyników  poleceń (command
       substitution),   interpretacja   wyrażeń    arytmetycznych
       (arithmetic  expansion), podział na słowa (word splitting)
       i rozwinięcie nazw plików (pathname expansion).

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

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

       Tylko  interpretacja  nawiasów,  dzielenie  na   słowa   i
       rozwinięcie nazw plików mogą zmienić liczbę słów interpre­
       towanego  wyrażenia;  pozostałe  interpretacje   rozwijają
       pojedyncze  słowo  w pojedyncze słowo.  Jedynymi wyjątkami



GNU Bash-2.05a          13 listopada 2001                      24





BASH(1)                                                   BASH(1)


       są interpretacje "$@" i "${nazwa[@]}"  wyjaśnione  powyżej
       (zobacz PARAMETRY).

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

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

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

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

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

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

       Interpretacja nawiasów wprowadza niewielką  niezgodność  z
       historycznymi  wersjami  sh.   sh  nie  traktuje  nawiasów
       otwierających i zamykających w specjalny sposób gdy pojaw­
       iają się one jako część słowa, i zachowuje je w wyniku.  W
       bash konsekwencją  interpretacji  nawiasów  jest  usuwanie
       nawiasów  ze  słów.   Na przykład, słowo wprowadzone do sh



GNU Bash-2.05a          13 listopada 2001                      25





BASH(1)                                                   BASH(1)


       jako  plik{1,2}  pojawi  się  w  identycznej  postaci   na
       wyjściu.  To  samo  słowo po interpretacji przez bash daje
       plik1 plik2.  Jeżeli pożądana jest ścisła zgodność  z  sh,
       uruchom  bash z opcją +B lub wyłącz interpretację nawiasów
       przy pomocy  opcji  +B  polecenia  set  (zobacz  WBUDOWANE
       POLECENIA POWŁOKI poniżej).

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

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

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

       Każde z przypisań do zmiennej sprawdzane jest na  obecność
       niecytowanych  przedrostków tyldy występujących bezpośred­
       nio po : lub =.  W tych przypadkach również  jest  wykony­
       wana  jest  interpretacja  tyldy.   Na  skutek tego, można
       posługiwać się nazwami plików z tyldami w przypisaniach do
       PATH,  MAILPATH  i  CDPATH, a powłoka przypisze zinterpre­
       towaną wartość.

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



GNU Bash-2.05a          13 listopada 2001                      26





BASH(1)                                                   BASH(1)


       zostać zinterpretowane jako część nazwy.

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

       ${parametr}
              Podstawiana jest wartość parametru.  Nawiasy  wyma­
              gane  są  gdy parametr jest parametrem pozycyjnym o
              więcej niż jednej cyfrze,  lub  gdy  po  parametrze
              występuje  znak,  który  nie powinien być interpre­
              towany jako część jego nazwy.

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

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

       ${parametr:-słowo}
              Używa wartości  domyślnych.  Jeżeli  parametr  jest
              nieustawiony lub pusty, to podstawiane jest zinter­
              pretowane słowo.  W przeciwnym  razie,  podstawiana
              jest wartość parametru.
       ${parametr:=słowo}
              Przypisuje wartości domyślne.  Jeżeli parametr jest
              nieustawiony lub pusty,  to  jest  mu  przypisywane
              zinterpretowane  słowo.  Następnie podstawiana jest
              wartość parametru.  Nie można w ten  sposób  przyp­
              isywać    wartości    parametrom   pozycyjnym   ani
              parametrom specjalnym.
       ${parametr:?słowo}
              Wyświetla  błąd  jeśli  pusty   lub   nieustawiony.
              Jeżeli  parametr jest nieustawiony lub pusty, to na
              standardowe wyjście błędów zapisywane jest  zinter­
              pretowane  słowo  (lub  komunikat  o  takim wyniku,
              jeśli brak słowa).  Jeśli powłoka nie jest interak­
              tywna, to kończy pracę.  W przeciwnym wypadku, pod­
              stawiana jest wartość parametru.
       ${parametr:+słowo}
              Używa wartości alternatywnej.  Jeżeli parametr jest
              nieustawiony   lub   pusty,   to   nic   nie   jest



GNU Bash-2.05a          13 listopada 2001                      27





BASH(1)                                                   BASH(1)


              podstawiane, w przeciwnym  razie  podstawiane  jest
              zinterpretowane słowo.
       ${parametr:offset}
       ${parametr:offset:długość}
              Interpretacja    podłańcuchów.    Interpretuje   co
              najwyżej długość  znaków  parametru  poczynając  od
              znaków  określonych  przez  offset. Jeśli pominięto
              długość,  to  interpretuje   podłańcuch   parametru
              poczynając   od  znaku  określonego  przez  offset.
              długość  i  offset  są  wyrażeniami  arytmetycznymi
              (zobacz OBLICZANIE WYRAŻEŃ ARYTMETYCZNYCH poniżej).
              długość musi dawać w  wyniku  liczbę  większą  bądź
              równą  zero.   Jeżeli  offset  daje w wyniku liczbę
              mniejszą od zera, to uzyskana wartość używana  jest
              jako  offset  liczony  od końca wartości parametru.
              Jeżeli parametrem jest @, to wynikiem jest  długość
              parametrów pozycyjnych, począwszy od offset. Jeżeli
              parametr jest nazwą tablicy  indeksowanej  przez  @
              lub  *,  to  wynikiem jest długość członków tablicy
              począwszy  od  ${parametr[offset]}.    Indeksowanie
              podłańcucha   rozpoczyna  się  od  zera,  chyba  że
              używane  są  parametry  pozycyjne,  wówczas  indek­
              sowanie zaczyna się od 1.

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

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

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



GNU Bash-2.05a          13 listopada 2001                      28





BASH(1)                                                   BASH(1)


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

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

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


              $(polecenie)
       lub
              `polecenie`

       Bash   wykonuje   interpretację   wykonując   polecenie  i
       zastępując podstawiane polecenie jego utworzonym standard­
       owym wyjściem, z usuniętymi końcowymi znakami nowej linii.



GNU Bash-2.05a          13 listopada 2001                      29





BASH(1)                                                   BASH(1)


       Zawarte wewnątrz wyniku znaki nowej linii nie są  usuwane,
       ale nogą być usunięte podczas podziału na słowa.  Podstaw­
       ienie  wyniku  polecenia  $(cat   plik)   można   zastąpić
       równoważnym, ale szybszym $(< plik).

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

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

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

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

              $((wyrażenie))

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

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

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




GNU Bash-2.05a          13 listopada 2001                      30





BASH(1)                                                   BASH(1)


       Gdy jest to możliwe, podstawianie wyników procesu  wykony­
       wane jest równocześnie z interpretacją parametrów i zmien­
       nych,  podstawianiem  wyników  poleceń   i   interpretacją
       wyrażeń arytmetycznych.

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

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                      31





BASH(1)                                                   BASH(1)


       opis shopt w sekcji  WBUDOWANE  POLECENIA  POWŁOKI,  gdzie
       znajdziesz  omówienie opcji powłoki nocaseglob, nullglob i
       dotglob.

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

       Dopasowanie wzorca

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                      32





BASH(1)                                                   BASH(1)


              tej klasy.

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

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

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

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                      33





BASH(1)                                                   BASH(1)


       (deskryptor pliku 1).

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

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

              ls > dirlist 2>&1

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

              ls 2>&1 > dirlist

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

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

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

       Nieudane    otwarcie   lub   utworzenie   pliku   powoduje
       niepowodzenie przekierowania.





GNU Bash-2.05a          13 listopada 2001                      34





BASH(1)                                                   BASH(1)


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

       Ogólny format przekierowania wejścia:

              [n]<słowo

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

       Ogólny format przekierowania wyjścia:

              [n]>słowo

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

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

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

              [n]>>słowo


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

       Istnieją dwie postaci takiego przekierowania:

              &>słowo
       i



GNU Bash-2.05a          13 listopada 2001                      35





BASH(1)                                                   BASH(1)


              >&słowo

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

              >słowo 2>&1

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

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

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

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

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

   Powielanie deskryptorów plików
       Operator przekierowania

              [n]<&słowo

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

       Operator



GNU Bash-2.05a          13 listopada 2001                      36





BASH(1)                                                   BASH(1)


              [n]>&słowo

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

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

              [n]<>słowo

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

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

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

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

       Aliasy   nie  są  interpretowane,  gdy  powłoka  nie  jest



GNU Bash-2.05a          13 listopada 2001                      37





BASH(1)                                                   BASH(1)


       interaktywna,   chyba   że   ustawiono    opcję    powłoki
       expand_aliases  przy  pomocy  shopt  (zobacz  opis shopt w
       sekcji WBUDOWANE POLECENIA POWŁOKI poniżej).

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

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                      38





BASH(1)                                                   BASH(1)


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

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

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

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


       Jako operandy dozwolone są zmienne powłoki;  interpretacja
       parametrów    przeprowadzana    jest   przed   obliczeniem
       wyrażenia.  Wewnątrz wyrażenia, do zmiennych powłoki można
       się  też  odwoływać przez nazwę, bez użycia składni inter­
       pretacji  parametrów.   Gdy  wystąpi  odwołanie   się   do



GNU Bash-2.05a          13 listopada 2001                      39





BASH(1)                                                   BASH(1)


       zmiennej,  jej wartość obliczana jest jako wyrażenie aryt­
       metyczne.  Zmienna powłoki nie musi mieć włączonego  atry­
       butu liczby całkowitej by mogła być użyta w wyrażeniu.

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

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

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

       -a plik
              Prawda jeśli plik istnieje.
       -b plik
              Prawda jeśli plik istnieje i jest blokowym  plikiem
              specjalnym.
       -c plik
              Prawda  jeśli plik istnieje i jest znakowym plikiem
              specjalnym.
       -d plik
              Prawda jeśli plik istnieje jest katalogiem.
       -e plik
              Prawda jeśli plik istnieje.
       -f plik
              Prawda jeśli plik istnieje i jest plikiem  zwykłym.
       -g plik
              Prawda  jeśli plik istnieje i ma ustawiony bit set-
              group-id.
       -h plik
              Prawda jeśli plik istnieje i jest dowiązaniem  sym­
              bolicznym.
       -k plik
              Prawda  jeśli  plik  istnieje  i  ma  ustawiony bit



GNU Bash-2.05a          13 listopada 2001                      40





BASH(1)                                                   BASH(1)


              ochrony (sticky bit).
       -p plik
              Prawda jeśli plik istnieje i jest potokiem nazwanym
              (FIFO).
       -r plik
              Prawda jeśli plik istnieje i daje się czytać.
       -s plik
              Prawda jeśli plik istnieje i ma rozmiar większy niż
              zero.
       -t fd  Prawda jeśli deskryptor pliku  fd  jest  otwarty  i
              odnosi się do terminala.
       -u plik
              Prawda  jeśli plik istnieje i ma ustawiony bit set-
              user-id.
       -w plik
              Prawda jeśli plik istnieje i daje się doń  zapisać.
       -x plik
              Prawda jeśli plik istnieje i jest wykonywalny.
       -O plik
              Prawda jeśli plik istnieje i jego właścicielem jest
              efektywny id użytkownika.
       -G plik
              Prawda jeśli plik istnieje i jego właścicielem jest
              efektywny id grupy.
       -L plik
              Prawda  jeśli plik istnieje i jest dowiązaniem sym­
              bolicznym.
       -S plik
              Prawda jeśli plik istnieje i jest gniazdem.
       -N plik
              Prawda jeśli plik istnieje i być zmieniany od czasu
              ostatniego jego odczytu.
       plik1 -nt plik2
              Prawda  jeśli  plik1 jest nowszy (według daty mody­
              fikacji) od pliku2.
       plik1 -ot plik2
              Prawda jeśli plik1 jest starszy niż plik2.
       plik1 -ef plik2
              Prawda jeśli plik1  i  plik2  mają  ten  sam  numer
              urządzenia i i-węzła.
       -o nazwa_opcji
              Prawda   jeśli   opcja   powłoki  nazwa_opcji  jest
              włączona.  Zobacz zestawienie opcji w opisie  opcji
              -o wbudowanego set, poniżej.
       -z łańcuch
              Prawda jeśli długość łańcucha wynosi zero.
       -n łańcuch
       łańcuch
              Prawda jeśli łańcuch ma długość niezerową.
       łańcuch1 == łańcuch2
              Prawda  jeśli  łańcuchy  są równe. Zamiast == można
              użyć =.
       łańcuch1 != łańcuch2
              Prawda jeśli łańcuchy nie są równe.



GNU Bash-2.05a          13 listopada 2001                      41





BASH(1)                                                   BASH(1)


       łańcuch1 < łańcuch2
              Prawda jeśli łańcuch1 przy sortowaniu  występowałby
              przed   łańcuchem2   według   bieżącego  ustawienia
              locale.
       łańcuch1 > łańcuch2
              Prawda jeśli łańcuch1 przy sortowaniu  występowałby
              po łańcuchu2 według bieżącego ustawienia locale.
       arg1 OP arg2
              OP  jest  jednym z -eq, -ne, -lt, -le, -gt lub -ge.
              Te arytmetyczne operatory  dwuargumentowe  zwracają
              prawdę  jeśli arg1 jest odpowiednio równe (eq), nie
              równe(n), mniejsze niż (lt), mniejsze bądź  równe
              (le),  większe niż (gt) lub większe bądź równe (ge)
              arg2.  Arg1 i arg2 mogą być dodatnimi lub  ujemnymi
              liczbami całkowitymi.

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

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

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

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

       4.     W   każdym  przypisaniu  zmiennej  tekst  po  znaku
              równości = podlega interpretacji  tyldy,  interpre­
              tacji  parametrów,  podstawianiu  wyników  poleceń,
              interpretacji  wyrażeń  arytmetycznych  i  usuwaniu
              cudzysłowów, zanim zostanie przypisany do zmiennej.

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

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




GNU Bash-2.05a          13 listopada 2001                      42





BASH(1)                                                   BASH(1)


       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 wyko­
       nanych kroków  było  podstawienie  wyników  polecenia,  to
       zwracany  kod zakończenia jest kodem ostatniego wykonanego
       podstawienia polecenia. Jeśli nie  wystąpiło  podstawianie
       poleceń, to polecenie kończy pracę z kodem zerowym.

WYKONYWANIE POLECEŃ
       Po  podziale  polecenia na słowa, jeśli jego wynikiem jest
       polecenie proste z  opcjonalną  listą  argumentów,  podej­
       mowane są poniższe akcje.

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

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

       Jeżeli poszukiwanie było pomyślne lub jeśli nazwa  polece­
       nia  zawiera  jeden lub więcej ukośników, powłoka wykonuje
       zadany program w odrębnym środowisku wykonania.   Argumen­
       towi  0 przypisywana jest podana nazwa, a pozostałym argu­
       mentom polecenia podane argumenty, jeśli były takowe.

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

       Jeżeli program jest plikiem o  zawartości  rozpoczynającej
       się  od  #!,  to  reszta pierwszego wiersza określa inter­
       preter dla tego programu.  Powłoka uruchamia podany inter­
       preter na systemach operacyjnych, które same nie obsługują
       tego formatu  wykonywalnego.  Argumenty  dla  interpretera
       składają   się   z   pojedynczego  opcjonalnego  argumentu



GNU Bash-2.05a          13 listopada 2001                      43





BASH(1)                                                   BASH(1)


       występującego po nazwie interpretera w  pierwszym  wierszu
       programu,   następującej   po   nim   nazwy   programu   i
       następujących po niej  argumentów  polecenia,  jeśli  były
       takowe.

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


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

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

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

       ˇ      bieżące pułapki ustawione przez trap

       ˇ      parametry  powłoki ustawione przez przypisania zmi­
              ennych  przy  pomocy  set  albo  odziedziczone   ze
              środowiska rodzica powłoki

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

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

       ˇ      opcje włączone przez shopt

       ˇ      aliasy powłoki zdefiniowane przy pomocy alias

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

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


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

       ˇ      bieżący katalog roboczy

       ˇ      maska trybu tworzonych plików



GNU Bash-2.05a          13 listopada 2001                      44





BASH(1)                                                   BASH(1)


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

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

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

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

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

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

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

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

       Jeżeli  ustawiona  jest  opcja  -k  (zobacz  poniżej  opis



GNU Bash-2.05a          13 listopada 2001                      45





BASH(1)                                                   BASH(1)


       wbudowanego   polecenia  set),  to  wszystkie  przypisania
       parametrów umieszczane są w środowisku  polecenia,  a  nie
       tylko te, które poprzedzają nazwę polecenia.

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

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

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

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

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

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

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

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

       Powłoka  domyślnie  kończy  pracę  po  otrzymaniu  SIGHUP.
       Przed zakończeniem, powłoka interaktywna rozsyła otrzymany



GNU Bash-2.05a          13 listopada 2001                      46





BASH(1)                                                   BASH(1)


       SIGHUP do wszystkich zadań, pracujących lub  zatrzymanych.
       Do  zatrzymanych  zadań  wysyłany  jest SIGCONT by upewnić
       się, że otrzymują SIGHUP.  Chcąc uniknąć wysłania  sygnału
       przez  powłokę  do konkretnego zadania, należy usunąć je z
       tablicy zadań przy  pomocy  wbudowanego  polecenia  disown
       (zobacz   poniżej   WBUDOWANE   POLECENIA   POWŁOKI)   lub
       oznakować, by nie otrzymywało SIGHUP, posługując się  dis­
       own -h.

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

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

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

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

              [1] 25647

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

       Dla ułatwienia  implementacji  interfejsu  użytkownika  do
       kontroli  zadań,  system  operacyjny  utrzymuje pojęcie ID
       grupy procesów bieżącego terminala (current terminal  pro­
       cess  group  ID).   Elementy  tej grupy procesów (procesy,
       których ID grupy procesów jest  równy  ID  grupy  procesów
       bieżącego  terminala)  otrzymują  generowane  z klawiatury
       sygnały, takie jak SIGINT.  Mówimy, że procesy te  pracują
       pierwszoplanowo.   Procesy  tła to takie, których ID grupy
       procesów różni się od terminala; procesy takie są  odporne



GNU Bash-2.05a          13 listopada 2001                      47





BASH(1)                                                   BASH(1)


       na  sygnały pochodzące z klawiatury.  Tylko procesom pier­
       wszoplanowym wolno czytać z lub pisać  na  terminalu.   Do
       procesów   tła  usiłujących  czytać  (pisać)  z  terminala
       wysyłany jest przez  sterownik  terminala  sygnał  SIGTTIN
       (SIGTTOU), który, jeśli nie zostanie przechwycony, wstrzy­
       muje proces.

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                      48





BASH(1)                                                   BASH(1)


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

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



GNU Bash-2.05a          13 listopada 2001                      49





BASH(1)                                                   BASH(1)


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

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

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

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

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

   Inicjalizacja Readline
       Readline   dostosowywane   jest   przy   pomocy    poleceń
       umieszczanych  w  pliku inicjującym (plik inputrc).  Nazwa
       tego pliku brana jest z wartości zmiennej INPUTRC.  Jeżeli
       zmienna   ta  nie  jest  ustawiona,  domyślną  nazwą  jest



GNU Bash-2.05a          13 listopada 2001                      50





BASH(1)                                                   BASH(1)


       ~/.inputrc.  Gdy  startuje  program  używający  biblioteki
       readline, odczytywany jest plik inicjujący, po czym ustaw­
       iane są przypisania klawiszy i  zmienne.   Istnieje  tylko
       kilka  podstawowych konstrukcjii dozwolonych w pliki inic­
       jacji readline.  Puste  wiersze  są  ignorowane.   Wiersze
       rozpoczynające   się   od   #  są  komentarzami.   Wiersze
       rozpoczynające się od $  wskazują  konstrukcje  warunkowe.
       Inne  wiersze wyznaczają przypisania klawiszy i ustawienia
       zmiennych.

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

       Na przykład, umieszczenie

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

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

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

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

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

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

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

       W drugiej postaci,  "sekw-klaw":nazwa-funkcji  lub  makro,
       sekw-klaw  różni  się  od nazwa-klaw powyżej tym, że przez



GNU Bash-2.05a          13 listopada 2001                      51





BASH(1)                                                   BASH(1)


       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 sym­
       boliczne nazwy znaków:

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

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

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

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

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

   Zmienne Readline
       Readline   posiada   zmienne,   których  można  używać  do



GNU Bash-2.05a          13 listopada 2001                      52





BASH(1)                                                   BASH(1)


       dodatkowego dostosowania jej zachowania. Zmienna może  być
       ustawiana w pliku inputrc przy pomocy instrukcji postaci

              set nazwa-zmiennej wartość

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

       bell-style (audible)
              Kontroluje,  co  dzieje  się gdy readline chce użyć
              sygnału dźwiękowego terminala. Jeśli  ustawiona  na
              none,  readline  nigdy  nie emituje sygnału.  Jeśli
              ustawiona  na  visible,  readline   posługuje   się
              "widzialnym  dzwonkiem"  (visible bell), jeśli jest
              dostępny.  Jeżeli ustawiona  na  audible,  readline
              usiłuje uzyskać sygnał dźwiękowy z terminala.
       comment-begin (,,#'')
              Łańcuch  wstawiany,  gdy  wykonywane jest polecenie
              insert-comment readline.  Polecenie to jest  przyp­
              isane  do M-# w trybie emacs, zaś do # w trybie vi.
       completion-ignore-case (Off)
              Jeżeli ustawiona na  On,  readline  wykonuje  dopa­
              sowywanie i uzupełnianie nazw plików bez rozróżnia­
              nia wielkości liter.
       completion-query-items (100)
              Określa, kiedy użytkownik jest pytany  o  oglądanie
              takiej liczby możliwych uzupełnień tworzonych przez
              polecenie possible-completions.  Może być ustawiona
              na dowolną liczbę całkowitą większą lub równą zero.
              Jeżeli liczba  możliwych  uzupełnień  jest  większa
              bądź  równa  wartości  tej  zmiennej, to użytkownik
              jest pytany czy  chce  je  oglądnąć;  w  przeciwnym
              razie są one po prostu pokazywane na terminalu.
       convert-meta (On)
              Jeśli  ustawione  na  On, readline będzie zamieniał
              znaki z ustawionym ósmym bitem na  sekwencje  klaw­
              iszy  ASCII przez obcięcie ósmego bitu i poprzedze­
              nie znakiem escape (w efekcie, używając escape jako
              przedrostka meta).
       disable-completion (Off)
              Jeśli  ustawione na On, readline zabroni uzupełnia­
              nia słów. Znaki uzupełniania  zostaną  wstawione  w
              wiersz  tak,  jakby  zostały  przypisane  do  self-
              insert.
       editing-mode (emacs)
              Kontroluje czy readline rozpoczyna pracę z zestawem
              przypisań  klawiszy  podobnym  do  emacs czy do vi.
              editing-mode może być ustawiane albo na emacs  albo
              na vi.
       enable-keypad (Off)
              Gdy  jest ustawione na On, readline będzie usiłować
              włączyć  numeryczny  blok  klawiatury  (application
              keypad)    przy    wywołaniu.    Niektóre   systemy



GNU Bash-2.05a          13 listopada 2001                      53





BASH(1)                                                   BASH(1)


              potrzebują tego do włączenia klawiszy strzałek.
       expand-tilde (Off)
              Jeżeli ustawione na on, podczas próby  uzupełniania
              słów readline wykonuje interpretację tyldy.
       history-preserve-point
              Ustawione  na  on powoduje, że kod obsługi historii
              poleceń usiłuje w każdym wierszu poleceń odzyskanym
              za   pomocą   previous-history   lub   next-history
              umieścić punkt  (bieżącą  pozycję  kursora)  w  tym
              samym miejscu.
       horizontal-scroll-mode (Off)
              Ustawione na On powoduje, że readline do wyświetla­
              nia  posługuje  się  pojedynczym  wierszem.   Jeśli
              wejście  jest dłuższe niż szerokość ekranu, to jego
              zawartość jest  wówczas  przewijana  w  poziomie  w
              pojedynczym  wierszu  ekranu,  zamiast zawijania do
              następnego wiersza.
       input-meta (Off)
              Jeśli ustawiona na On, readline dopuści ośmiobitowe
              wejście  (to znaczy, nie będzie obcinać ósmego bitu
              z odczytywanych znaków),  bez  względu  na  to,  co
              twierdzi   terminal  o  możliwości  obsługi.  Nazwa
              meta-flag jest synonimem tej zmiennej.
       isearch-terminators (,,C-[C-J'')
              Łańcuch znaków, który powinien  przerywać  wyszuki­
              wanie krokowe (incremental search) bez późniejszego
              wykonywania znaku jako polecenia.  Jeżeli  zmiennej
              tej  nie  nadano  wartości, to wyszukiwanie krokowe
              będą przerywać ESC i C-J.
       keymap (emacs)
              Ustawia  bieżące  mapowanie  klawiatury   readline.
              Zestawami  poprawnych mapowań są emacs, emacs-stan­
              dard,  emacs-meta,  emacs-ctlx,  vi,  vi-command  i
              vi-insert.   vi jest równoważnikiem dla vi-command;
              emacs  jest  równoważne  emacs-standard.   Domyślną
              wartością  jest emacs; wartość editing-mode również
              wpływa na domyślne mapowanie.
       mark-directories (On)
              Jeżeli ustawione na On, to uzupełniane nazwy  kata­
              logów mają dołączany końcowy ukośnik.
       mark-modified-lines (Off)
              Jeżeli  ustawione  na  On,  wiersze historii, które
              zostały zmienione wyświetlane są z poprzedzającą je
              gwiazdką (*).
       match-hidden-files (On)
              Ta  zmienna, gdy jest ustawiona na On, powoduje, że
              readline wykonując uzupełnianie nazw  plików  dopa­
              sowuje pliki, których nazwy zaczynają się od kropki
              `.' (pliki ukryte), chyba że użytkownik podał  taką
              początkową   kropkę   w   nazwie,   jaka   ma   być
              uzupełniona.
       output-meta (Off)
              Jeżeli ustawione na On, readline wyświetla znaki  z
              ustawionym   ósmym   bitem   wprost   zamiast  jako



GNU Bash-2.05a          13 listopada 2001                      54





BASH(1)                                                   BASH(1)


              sekwencje specjalne z meta-przedrostkiem.
       print-completions-horizontally (Off)
              Jeżeli ustawione na On,  readline  wyświetla  dopa­
              sowane   uzupełnienia  w  kolejności  alfabetycznej
              poziomo, zamiast w dół ekranu.
       show-all-if-ambiguous (Off)
              Zmienia to domyślne zachowanie  funkcji  uzupełnia­
              nia.  Jeżeli  jest ustawione na on, to słowa mające
              więcej niż jedno możliwe uzupełnienie powodują,  że
              natychmiast   zostaną  podane  dopasowania  zamiast
              wyemitowania sygnału dźwiękowego.
       visible-stats (Off)
              Jeżeli  ustawione  na  On,  to  przy   wyświetlaniu
              możliwych   uzupełnień   do  nazwy  pliku  zostanie
              dołączony znak  określający  typ  pliku  wskazywany
              przez stat(2).

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

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

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

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

              aplikacja
                     Konstrukcja  aplikacja  służy  do  włączania
                     ustawień  specyficznych dla aplikacji. Każdy
                     program korzystający z  biblioteki  readline
                     ustawia  nazwę aplikacji (application name),
                     a plik inicjujący może sprawdzić czy ma  ona



GNU Bash-2.05a          13 listopada 2001                      55





BASH(1)                                                   BASH(1)


                     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  sek­
                     wencję  klawiszy wykonującą w bash cytowanie
                     bieżącego lub poprzedniego słowa:

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

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

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

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

              $include  /etc/inputrc

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

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

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



GNU Bash-2.05a          13 listopada 2001                      56





BASH(1)                                                   BASH(1)


       historii.

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

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

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

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

   Polecenia operujące na historii
       accept-line (Newline, Return)
              Akceptuje  wiersz bez względu na to, gdzie znajduje
              się kursor. Jeżeli wiersz ten nie  jest  pusty,  to
              dodaje go do listy historii stosownie do stanu zmi­
              ennej HISTCONTROL.  Jeżeli wiersz  jest  zmienionym
              wierszem  historii,  to odtwarza wiersz historii do
              stanu pierwotnego.




GNU Bash-2.05a          13 listopada 2001                      57





BASH(1)                                                   BASH(1)


       previous-history (C-p)
              Śprowadza poprzednie polecenie  z  listy  historii,
              przesuwając się wstecz listy.
       next-history (C-n)
              Ściąga  następne  polecenie z listy historii, prze­
              suwając się do przodu na liście.
       beginning-of-history (M-<)
              Przesuwa na pierwszy wiersz w historii.
       end-of-history (M->)
              Przesuwa na koniec historii wprowadzania, tj. obec­
              nie wprowadzanego wiersza.
       reverse-search-history (C-r)
              Wyszukuje  wstecz poczynając od bieżącego wiersza i
              przesuwając się, w razie potrzeby,  'w  górę'  his­
              torii. Jest to wyszukiwanie krokowe.
       forward-search-history (C-s)
              Wyszukuje w przód poczynając od bieżącego wiersza i
              przesuwając się, w razie  potrzeby,  'w  dół'  his­
              torii. Jest to wyszukiwanie krokowe.
       non-incremental-reverse-search-history (M-p)
              Wyszukuje  wstecz  poczynając  od bieżącego wiersza
              posługując się wyszukiwaniem nie-krokowym  podanego
              przez użytkownika łańcucha.
       non-incremental-forward-search-history (M-n)
              Wyszukuje  w  przód poczynając od bieżącego wiersza
              posługując się wyszukiwaniem nie-krokowym  podanego
              przez użytkownika łańcucha.
       history-search-forward
              Wyszukuje   w  przód  w  historii  łańcucha  znaków
              pomiędzy początkiem bieżącego  wiersza  a  punktem.
              Jest to wyszukiwanie nie-krokowe.
       history-search-backward
              Wyszukuje   wstecz   w   historii  łańcucha  znaków
              pomiędzy początkiem  bieżącego  wiersza  a  bieżącą
              pozycją kursora (punkt).  Jest to wyszukiwanie nie-
              krokowe.
       yank-nth-arg (M-C-y)
              Wstawia pierwszy  argument  poprzedniego  polecenia
              (zwykle  drugie  słowo  z  poprzedniego  wiersza) w
              punkt (bieżącą pozycję kursora).  Z  argumentem  n,
              wstawia  n-te słowo poprzedniego polecenia (słowa w
              poprzednim poleceniu zaczynają  się  od  słowa  0).
              Argument   ujemny   wstawia  n-te  słowo  od  końca
              poprzedniego polecenia.
       yank-last-arg (M-., M-_)
              Wstawia  ostatni  argument  poprzedniego  polecenia
              (ostatnie  słowo  poprzedniej  pozycji historii). Z
              argumentem,  zachowuje  się  dokładnie   tak,   jak
              yank-nth-arg.    Kolejne   wywołania  yank-last-arg
              przesuwają wstecz  listy  historii,  wstawiając  po
              kolei ostatni argument każdego wiersza.
       shell-expand-line (M-C-e)
              Interpretuj  wiersz, jak czyni to powłoka. Wykonuje
              to aliasy i  interpretację  historii,  jak  również



GNU Bash-2.05a          13 listopada 2001                      58





BASH(1)                                                   BASH(1)


              interpretację  słów  powłoki.  Zobacz INTERPRETACJA
              HISTORII poniżej.
       history-expand-line (M-^)
              Wykonuje interpretację  powłoki  w  odniesieniu  do
              bieżącego  wiersza.   Zobacz INTERPRETACJA HISTORII
              poniżej.
       magic-space
              Wykonuje interpretację  powłoki  w  odniesieniu  do
              bieżącego  wiersza i wstawia spację.  Zobacz INTER­
              PRETACJA HISTORII poniżej.
       alias-expand-line
              Wykonuje interpretację  aliasów  w  odniesieniu  do
              bieżącego wiersza.  Zobacz ALIASY powyżej.
       history-and-alias-expand-line
              Wykonuje   interpretację   historii   i  aliasów  w
              odniesieniu do bieżącego wiersza.
       insert-last-argument (M-., M-_)
              Synonim yank-last-arg.
       operate-and-get-next (C-o)
              Akceptuje do wykonania bieżący wiersz i  ściąga  do
              edycji  następny  względem  bieżącego wiersz z his­
              torii. Argumenty są ignorowane.

   Polecenia zmiany tekstu
       delete-char (C-d)
              Usuwa znak w punkcie (pod kursorem).  Jeżeli  punkt
              jest  początkiem  wiersza,  nie ma żadnych znaków w
              wierszu, a ostatni wpisany znak  został  przypisany
              do delete-char, to zwraca EOF.
       backward-delete-char (Rubout)
              Usuwa  znak  przed kursorem. Jeżeli podano argument
              numeryczny,  zachowuje  usunięty  tekst  na  stosie
              usunięć.
       forward-backward-delete-char
              Usuwa  znak  pod kursorem, chyba że kursor znajduje
              się na końcu wiersza,  wówczas  usuwany  jest  znak
              przed kursorem.
       quoted-insert (C-q, C-v)
              Dodaje  następny  znak  do wiersza dosłownie. W ten
              sposób wstawiane są znaki takie,  jak  na  przykład
              C-q.
       tab-insert (C-v TAB)
              Wstawia znak tabulacji.
       self-insert (a, b, A, 1, !, ...)
              Wstawia wpisany znak.
       transpose-chars (C-t)
              Zamienia  miejscami znak sprzed punktu ze znakiem w
              punkcie, równocześnie przesuwając  punkt  w  przód.
              Jeżeli  punkt  jest na końcu wiersza to zamienia to
              miejscami dwa znaki przed punktem. Argumenty ujemne
              nie skutkują.
       transpose-words (M-t)
              Zamienia miejscami słowo sprzed punktu ze słowem za
              punktem,   przesuwając   równocześnie   punkt    za



GNU Bash-2.05a          13 listopada 2001                      59





BASH(1)                                                   BASH(1)


              przesunięte  sprzed niego słowo.  Jeżeli punkt jest
              na końcu  wiersza  to  zamienia  to  miejscami  dwa
              ostanie słowa wiersza.
       upcase-word (M-u)
              Zamienia  na  wielkie litery bieżące (lub następne)
              słowo. Z argumentem  ujemnym  zamienia  na  wielkie
              litery poprzednie słowo, ale nie przesuwa punktu.
       downcase-word (M-l)
              Zamienia  na  małe  litery  bieżące  (lub następne)
              słowo. Z argumentem ujemnym zamienia na małe litery
              poprzednie słowo, ale nie przesuwa punktu.
       capitalize-word (M-c)
              Zamienia  na  kapitaliki  (pierwsza  litera wielka,
              pozostałe małe) bieżące (następne) słowo.  Z  argu­
              mentem  ujemnym  zamienia  na kapitaliki poprzednie
              słowo, ale nie przesuwa punktu.

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




GNU Bash-2.05a          13 listopada 2001                      60





BASH(1)                                                   BASH(1)


       yank (C-y)
              Wkleja  wierzchołek  stosu  usunięć  do  bufora   w
              punkcie (w miejscu kursora).
       yank-pop (M-y)
              Obraca  stos  usunięć  i  wkleja  nowy wierzchołek.
              Działa tylko następując po yank lub yank-pop.

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

   Uzupełnianie
       complete (TAB)
              Usiłuje  przeprowadzić  uzupełnianie  tekstu  przed
              punktem.  Bash próbuje uzupełniania traktując tekst
              kolejno:  jako zmienną (jeżeli tekst zaczyna się od
              $), nazwę użytkownika (jeśli tekst zaczyna  się  od
              ~),  nazwę  hosta  (i jeśli tekst zaczyna się od @)
              lub polecenie (łącznie  z  aliasami  i  funkcjami).
              Jeżeli  żadne z powyższych nie daje dopasowania, to
              próbowane jest uzupełnianie nazw plików.
       possible-completions (M-?)
              Pokazuje możliwe uzupełnienia tekstu przed punktem.
       insert-completions (M-*)
              Wstawia  przed  punktem wszystkie uzupełnienia tek­
              stu,  które  zostałyby  wygenerowane  przez  possi­
              ble-completions.
       menu-complete
              Podobne  do complete, ale zastępuje słowo, jakie ma
              zostać  uzupełnione  pojedynczym  uzupełnieniem   z
              listy  możliwych.   Powtarzane  wykonanie menu-com­
              plete powoduje krokowe  przechodzenie  przez  listę
              możliwych uzupełnień i wstawianie każdego z nich po
              kolei  (zamiast  uzupełnianego  słowa).   Na  końcu
              listy  uzupełnień  emitowany  jest sygnał dźwiękowy
              (zależny od ustawienia  bell-style)  i  przywracany
              jest   pierwotny  tekst.   Argument  n  przesuwa  n



GNU Bash-2.05a          13 listopada 2001                      61





BASH(1)                                                   BASH(1)


              pozycji w przód na liście dopasowań; do przesuwania
              się wstecz można użyć argumentu ujemnego. Polecenie
              w zamierzeniu ma być przypisane  do  klawisza  TAB,
              ale domyślnie nie jest przypisane.
       delete-char-or-list
              Usuwa znak pod kursorem, jeśli nie jest to początek
              bądź koniec wiersza  (jak  delete-char).  Na  końcu
              wiersza,   zachowuje  się  identycznie  jak  possi­
              ble-completions.  To   polecenie   jest   domyślnie
              nieprzypisane.
       complete-filename (M-/)
              Usiłuje wykonać uzupełnianie nazw plików na tekście
              sprzed kursora.
       possible-filename-completions (C-x /)
              Pokazuje możliwe uzupełnienia  tekstu  sprzed  kur­
              sora, traktując go jak nazwę pliku.
       complete-username (M-~)
              Usiłuje wykonać uzupełnianie tekstu sprzed kursora,
              traktując go jak nazwę użytkownika.
       possible-username-completions (C-x ~)
              Pokazuje możliwe uzupełnienia  tekstu  sprzed  kur­
              sora, traktując go jak nazwę użytkownika.
       complete-variable (M-$)
              Usiłuje wykonać uzupełnianie tekstu sprzed kursora,
              traktując go jak zmienną powłoki.
       possible-variable-completions (C-x $)
              Pokazuje możliwe uzupełnienia  tekstu  sprzed  kur­
              sora, traktując go jak zmienną powłoki.
       complete-hostname (M-@)
              Usiłuje wykonać uzupełnianie tekstu sprzed kursora,
              traktując go jak nazwę hosta.
       possible-hostname-completions (C-x @)
              Pokazuje możliwe uzupełnienia  tekstu  sprzed  kur­
              sora, traktując go jak nazwę hosta.
       complete-command (M-!)
              Usiłuje uzupełnić tekst sprzed punktu, traktując go
              jak  nazwę   polecenia.    Uzupełnianie   polecenia
              próbuje  dopasować  tekst  kolejno do aliasów, słów
              zastrzeżonych, funkcji powłoki, poleceń wbudowanych
              powłoki i wreszcie nazw plików wykonywalnych.
       possible-command-completions (C-x !)
              Pokazuje  możliwe  uzupełnienia  tekstu sprzed kur­
              sora, traktując go jak nazwę polecenia.
       dynamic-complete-history (M-TAB)
              Usiłuje uzupełnić  tekst  sprzed  kursora,  w  celu
              odnalezienia  możliwych  uzupełnień porównując go z
              wierszami listy historii.
       complete-into-braces (M-{)
              Wykonuje uzupełnianie nazwy pliku i  wstawia  listę
              możliwych  uzupełnień ujętą w nawiasy klamrowe, tak
              że jest ona dostępna dla  powłoki  (zobacz  powyżej
              Interpretacja nawiasów).





GNU Bash-2.05a          13 listopada 2001                      62





BASH(1)                                                   BASH(1)


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

   Różne
       re-read-init-file (C-x C-r)
              Odczytuje zawartość pliku inputrc i dołącza  wszys­
              tkie  znalezione  tam przypisania klawiszy i zmien­
              nych.
       abort (C-g)
              Zaniechuje bieżącego  polecenia  edycji  i  emituje
              sygnał  dźwiękowy terminala (zgodnie z ustawieniami
              bell-style).
       do-uppercase-version (M-a, M-b, M-x, ...)
              Jeżeli poprzedzony przedrostkiem meta znak  x  jest
              małą  literą, uruchamia plecenie, które jest przyp­
              isane do odpowiedniej wielkiej litery.
       prefix-meta (ESC)
              Poprzedź przedrostkiem meta następny wpisany  znak.
              ESC f jest równoważne Meta-f.
       undo (C-_, C-x C-u)
              Krokowe  cofnięcie operacji, pamiętane odrębnie dla
              każdego wiersza.
       revert-line (M-r)
              Cofa wszystkie  zmiany  wykonane  na  tym  wierszu.
              Podobne  do  wykonania polecenia undo wystarczająco
              wiele  razy,  by   przywrócić   wiersz   do   stanu
              początkowego.
       tilde-expand (M-&)
              Wykonuje   interpretację  tyldy  w  odniesieniu  do
              bieżącego słowa.
       set-mark (C-@, M-<space>)
              ustawia znacznik (mark) w bieżącym punkcie.  Jeżeli
              podano argument numeryczny, znacznik jest ustawiany
              na takiej pozycji.
       exchange-point-and-mark (C-x C-x)
              Zamień punkt ze znacznikiem. Aktualna pozycja  kur­
              sora ustawiana jest na zapamietaną, a dotychczasowa
              pozycja zachowywana jako znacznik.
       character-search (C-])
              Odczytywany jest  znak  a  punkt  przesuwa  się  na
              następne  wystąpienie  tego  znaku.  Licznik ujemny
              wyszukuje poprzednie wystąpienia.
       character-search-backward (M-C-])
              Odczytywany jest  znak  a  punkt  przesuwa  się  na



GNU Bash-2.05a          13 listopada 2001                      63





BASH(1)                                                   BASH(1)


              poprzednie  wystąpienie  tego znaku. Licznik ujemny
              wyszukuje kolejne wystąpienia.
       insert-comment (M-#)
              Na początek bieżąceg wiersza wstawiana jest wartość
              zmiennej  comment-begin  readline,  a  wiersz  jest
              akceptowany  tak,  jakby  wprowadzono  znak   nowej
              linii.  Domyślna wartość comment-begin powoduje, że
              polecenie  to  czyni  bieżący  wiersz   komentarzem
              powłoki.
       glob-expand-word (C-x *)
              Słowo  sprzed  kursora  traktowane jest jak wzorzec
              rozwijania  nazw  plików  i  wstawiana  jest  lista
              pasujących nazw, zastępując słowo-wzorzec.
       glob-list-expansions (C-x g)
              Wyświetlana  jest  lista rozwinięć, jakie zostałyby
              utworzone przez  glob-expand-word,  a  wiersz  jest
              ponownie wyświetlany.
       dump-functions
              Wypisuje  do strumienia wyjściowego readline wszys­
              tkie funkcje i  ich  przypisania  klawiszy.  Jeżeli
              podano  argument  numeryczny,  wyjście  jest forma­
              towane w taki sposób, by można  zrobić  je  częścią
              pliku inputrc.
       dump-variables
              Wypisuje  do strumienia wyjściowego readline wszys­
              tkie ustawialne zmienne readline  i  ich  wartości.
              Jeżeli  podano  argument  numeryczny,  wyjście jest
              formatowane w  taki  sposób,  by  można  zrobić  je
              częścią pliku inputrc.
       dump-macros
              Wypisuje   wszystkie  sekwencje  klawiszy  readline
              przypisane do makr i łańcuchy jakie dają w  wyniku.
              Jeżeli  podano  argument  numeryczny, wyjście  jest
              formatowane w  taki  sposób,  by  można  zrobić  je
              częścią pliku inputrc.
       display-shell-version (C-x C-v)
              Wyświetla  informację  o  wersji  aktualnego egzem­
              plarza bash.

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

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



GNU Bash-2.05a          13 listopada 2001                      64





BASH(1)                                                   BASH(1)


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

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

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

       Następnie,  brany jest pod uwagę łańcuch podany jako argu­
       ment opcji -W.  Łańcuch jest najpierw rozbijany przy  zas­
       tosowaniu  znaków  ze zmiennej specjalnej IFS jako separa­
       toró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, podstaw­
       iania wyników poleceń i rozwijania nazw  ścieżkowych,  jak
       opisano  powyżej w sekcji INTERPRETACJA.  Wyniki są rozbi­
       jane z zastosowaniem  reguł  opisanych  powyżej  w  sekcji
       Podział  na  słowa.   Wyniki interpretacji są dopasowywane
       przedrostkiem z  uzupełnianym  słowem,  a  pasujące  słowa
       stają się możliwymi uzupełnieniami.

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

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

       Następnie, wywoływane jest polecenie określone  opcją  -C,



GNU Bash-2.05a          13 listopada 2001                      65





BASH(1)                                                   BASH(1)


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

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

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

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

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

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

       Przy uruchamianiu, historia  inicjowana  jest  z  pliku  o
       nazwie  wskazanej zmienną HISTFILE (domyślnie ~/.bash_his­
       tory). Plik o nazwie  wziętej  z  wartości  HISTFILE  jest
       obcinany,  jeśli zachodzi potrzeba, by zawierał nie więcej



GNU Bash-2.05a          13 listopada 2001                      66





BASH(1)                                                   BASH(1)


       wierszy niż określono to wartością zmiennej  HISTFILESIZE.
       Podczas  kończenia  pracy  powłoki interaktywnej, ostatnie
       $HISTSIZE wierszy  kopiowane  jest  z  listy  historii  do
       $HISTFILE.   Jeżeli włączona jest opcja powłoki histappend
       (zobacz opis shopt w sekcji  WBUDOWANE  POLECENIA  POWŁOKI
       poniżej), to wiersze są dodawane na koniec pliku historii,
       w przeciwnym razie plik historii jest nadpisywany.  Jeżeli
       HISTFILE nie jest ustawione lub plik historii nie daje się
       zapisać, to historia nie jest zachowywana.  Po  zapisaniu,
       plik  historii  jest  obcinany, by nie zawierał więcej niż
       HISTFILESIZE wierszy. Jeśli HISTFILESIZE nie  jest  ustaw­
       ione, to obcinanie nie jest wykonywane.

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

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

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

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

       Interpretacja historii przeprowadzana jest bezpośrednio po
       przeczytaniu  pełnego  wiersza,  przed  jego  podziałem na
       słowa przez powłokę.  Odbywa się w dwu  częściach.   Pier­
       wszą  jest  określenie,  który  wiersz z listy historii ma
       zostać użyty podczas podstawiania.   Drugą  stanowi  wybór



GNU Bash-2.05a          13 listopada 2001                      67





BASH(1)                                                   BASH(1)


       części  tego  wiersza  do  włączenia w bieżący.  Wybrany z
       historii wiersz jest zdarzeniem (event), a jego części  na
       których  wykonywane  są działania są słowami.  Dostępne są
       różne modyfikatory  do  manipulowania  wybranymi  słowami.
       Wiersz  rozbijany  jest na słowa w ten sam sposób jak pod­
       czas odczytu  wejścia,  tak  że  kilka  słów  separowanych
       metaznakami  ujętych  w  cudzysłowy  traktowanych jest jak
       jedno  słowo.   Interpretacja  historii   wprowadzana   są
       obecnością  znaku rozwijającego historię, którym domyślnie
       jest !.  Cytować ten znak mogą wyłącznie odwrotny  ukośnik
       (\) i pojedyncze cudzysłowy.

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

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

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

       !      Rozpoczyna podstawianie historii, z wyjątkiem sytu­
              acji,  gdy  występuje  po  nim  odstęp,  znak nowej
              linii, = lub (.
       !n     Wskazuje na n-ty wiersz poleceń.
       !-n    Wskazuje na wiersz poleceń bieżący minus n.
       !!     Wskazuje na poprzednie polecenie. jest  to  synonim
              `!-1'.
       !łańcuch
              Wskazuje  na ostatnie poleceniem rozpoczynające się
              od łańcucha.
       !?łańcuch[?]
              Wskazuje na ostatnie polecenie zawierające łańcuch.
              Kończące  ?  można  pominąć  jeśli  bezpośrednio po
              łańcuchu występuje znak nowej linii.
       ^łańcuch1^łańcuch2^
              Szybkie podstawianie. Powtarza ostatnie  polecenie,



GNU Bash-2.05a          13 listopada 2001                      68





BASH(1)                                                   BASH(1)


              wymieniając   łańcuch1   na  łańcuch2.   Rónoważnik
              ,,!!:s/łańcuch1/łańcuch/''  (zobacz  poniżej  Mody­
              fikatory).
       !#     Cały wiersz poleceń wpisany do tego momentu.

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

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

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

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

       h      Usuwa końcową składową nazwy  pliku,  pozostawiając
              tylko początek.
       t      Usuwa  wszystkie  początkowe  składowe nazwy pliku,
              pozostawiając koniec.
       r      Usuwa kończący przyrostek postaci  .xxx,  pozostaw­
              iając główną część nazwy (basename).
       e      Usuwa wszystko prócz końcowego przyrostka.
       p      Wypisuje nowe polecenie, ale go nie wykonuje.
       q      Cytuje  podstawiane  słowa, zabezpieczając je przed
              dalszym podstawianiem.
       x      Cytuje podstawiane słowa  jak  q,  ale  rozbija  na
              słowa w miejscach odstępów i znaków nowej linii.
       s/stary/nowy/
              Zastępuje  nowym  pierwsze  wystąpienie  starego  w
              wierszu zdarzenia.  Zamiast  /  może  zostać  użyty
              dowolny   ogranicznik.   Końcowy  ogranicznik  jest



GNU Bash-2.05a          13 listopada 2001                      69





BASH(1)                                                   BASH(1)


              opcjonalny jeżeli  jest  ostatnim  znakiem  wiersza
              zdarzenia.  Separator  może  być cytowany w nowym i
              starym   przy   pomocy   pojedynczego    odwrotnego
              ukośnika.  Jeżeli  w  nowym  pojawia się &, to jest
              zastępowany starym.   Pojedynczy  odwrotny  ukośnik
              będzie  cytował  &.  Jeżeli  stary  jest  pusty, to
              ustawiany jest na ostatni  podstawiany  stary  lub,
              jeśli  nie  było  poprzednich  podstawień historii,
              ostatni łańcuch w wyszukiwaniu !?łańcuch[?].
       &      Powtarza poprzednie podstawienie.
       g      Powoduje, że zmiany zostaną zastosowane  do  całego
              wiersza  zdarzenia.   Używany  w  połączeniu z `:s'
              (np. `:gs/old/new/') lub `:&'. Jeśli użyty z  `:s',
              to  zamiast  /  można posłużyć się dowolnym separa­
              torem, a ostatni separator jest  opcjonalny  jeżeli
              jest ostatnim znakiem wiersza zdarzenia.

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

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

       alias [-p] [nazwa[=wartość] ...]
              Alias bez argumentów bądź z opcją  -p  wypisuje  na
              standardowym  wyjściu listę aliasów w postaci alias
              nazwa=wartość.  Jeśli nie dostarczono argumenty, to
              definiowany  jest alias (synonim) dla każdej nazwy,



GNU Bash-2.05a          13 listopada 2001                      70





BASH(1)                                                   BASH(1)


              dla której podano  wartość.   Początkowa  spacja  w
              wartości  powoduje, że podczas interpretacji aliasu
              następne słowo będzie  sprawdzane  na  podstawianie
              aliasów.   Dla każdej nazwy z listy argumentów, dla
              której nie podano wartości, wypisywana jest nazwa i
              wartość  aliasu.   Alias  zwraca  prawdę,  chyba że
              podano nazwę, dla której  nie  został  zdefiniowany
              żaden alias.

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

       bind [-m keymap] [-lpsvPSV]
       bind [-m keymap] [-q funkcja] [-u funkcja] [-r sekw_klaw]
       bind [-m keymap] -f plik
       bind [-m keymap] -x sekw_klaw:polec_powłoki
       bind [-m keymap] sekw_klaw:nazwa_funkcji
              Wyświetla bieżące ustawienia  przypisań  (bindings)
              klawiszy  i  funkcji  readline  lub przypisuje sek­
              wencję klawiszy  to  funkcji  lub  makra  readline.
              Składnia  tych  przypisań  jest  identyczna jak dla
              .inputrc, ale każde z przypisań musi być  przesłane
              jako    osobny    argument;    np.,    '"\C-x\C-r":
              re-read-init-file'. Opcje, jeśli  je  podano,  mają
              następujące znaczenie:
              -m keymap
                     Wykorzystuje  keymap  jako mapę klawiszy, do
                     której mają być zastosowane następne  przyp­
                     isania.   Akceptowanymi nazwami map klawiszyemacs,   emacs-standard,    emacs-meta,
                     emacs-ctlx,   vi,   vi-move,   vi-command  i
                     vi-insert.  vi równoważne  jest  vi-command;
                     emacs jest równoważne emacs-standard.
              -l     Podaje nazwy wszystkich funkcji readline.
              -p     Wyświetla nazwy funkcji i przypisania w taki
                     sposób, że mogą być ponownie odczytane.
              -P     Podaje bieżące przypisania i  nazwy  funkcji
                     readline.
              -v     Wyświetla  nazwy  i wartości zmiennych read­
                     line w taki sposób,  że  mogą  być  ponownie
                     odczytane.
              -V     Podaje  bieżące  nazwy  i wartości zmiennych
                     readline.
              -s     Wyświetla sekwencje klawiszy readline przyp­
                     isane  do makr i łańcuchy jakie one wysyłają
                     w taki sposób, że mogą być  ponownie  odczy­
                     tane.



GNU Bash-2.05a          13 listopada 2001                      71





BASH(1)                                                   BASH(1)


              -S     Wyświetla sekwencje klawiszy readline przyp­
                     isane do makr i łańcuchy jakie one wysyłają.
              -f plik
                     Czyta przypisania klawiszy z pliku.
              -q funkcja
                     Podaje,   które   klawisze  wywołują  podaną
                     funkcję.
              -u funkcja
                     Odwołuje  przypisania  wszystkich   klawiszy
                     przypisanych do danej funkcji.
              -r sekw_klaw
                     Usuwa   bieżące  przypisania  dla  sekwencji
                     klawiszy.
              -x sekw_klaw:polec_powłoki
                     Powoduje, że  za  każdym  naciśnięciem  sek­
                     wencji  klawiszy zostanie wykonane polecenie
                     powłoki.

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

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

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

       cd [-LP] [katalog]
              Zmienia  bieżący  katalog  roboczy  na dir. Zmienna
              HOME jest  domyślnym  katalogiem.   Zmienna  CDPATH
              definiuje  ścieżkę  przeszukiwań  dla katalogu zaw­
              ierającego katalog.  Alternatywne nazwy katalogów w
              CDPATH  rozdzielane są dwukropkiem (:)> Pusta nazwa
              katalogu  w  CDPATH  jest  tym  samym,  co  katalog
              bieżący,  tj.  ,,.''. Jeżeli katalog rozpoczyna się
              ukośnikiem (/), to CDPATH nie jest  używane.  Opcja
              -P  nakazuje  użycie  fizycznej struktury katalogów
              zamiast  podążania  za  dowiązaniami  symbolicznymi
              (zobacz  też  opcja  -P wbudowanego polecenia set);
              Opcja  -L   wymusza   podążanie   za   dowiązaniami



GNU Bash-2.05a          13 listopada 2001                      72





BASH(1)                                                   BASH(1)


              symbolicznymi.  Argument - jest równoważny $OLDPWD.
              Wartością  zwracaną  jest  prawda  jeśli  pomyślnie
              zmieniono katalog; w przeciwnym przypadku fałsz.

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

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

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

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

       complete [-abcdefgjkvu] [-o opcjacomp] [-A akcja] [-G
              wzglob] [-W   listasłów] [-P przedrostek] [-S przy­
              rostek]
              [-X  wzfiltr]  [-F  funkcja]  [-C  polecenie] nazwa
              [nazwa ...]
       complete -pr [nazwa ...]
              Określa, w jaki sposób będą  uzupełniane  argumenty
              dla każdej z nazw.  Jeżeli podano opcję -p, lub nie
              podano żadnych opcji, to wypisywane  są  istniejące



GNU Bash-2.05a          13 listopada 2001                      73





BASH(1)                                                   BASH(1)


              specyfikacje uzupełniania - w sposób, który pozwala
              na ich ponowne wykorzystanie jako  wejścia.   Opcja
              -r  usuwa  specyfikację  uzupełniania  dla każdej z
              nazw, lub jeśli nazw nie podano,  wszystkie  specy­
              fikacje uzupełniania.

              Proces stosowania tych specyfikacji uzupełnień pod­
              czas prób  uzupełniania  słów  omówiono  powyżej  w
              sekcji Programowalne uzupełnianie.

              Pozostałe   opcje,  jeśli  je  podano,  mają  niżej
              opisane znaczenie.  Argumenty opcji -G, -W i -X (i,
              jeśli  to  niezbędne, -P i -S) powinny być cytowane
              dla ochrony przed interpretacją jaka wystąpi  zanim
              zostanie wywołane polecenie complete.
              -o opcjacomp
                      Wartość  opcjacomp  reguluje kilka aspektów
                      zachowania się compspec wykraczających poza
                      zwykłe   tworzenie  uzupełnień.   opcjacomp
                      przyjmuje jedną z wartości:
                      default Stosuje domyślne uzupełnianie read­
                              line  jeśli  compspec  nie  utworzy
                              żadnych dopasowań.
                      dirnames
                              Wykonuje  uzupełnianie  nazw  kata­
                              logów  jeśli  compspec  nie utworzy
                              żadnych dopasowań.
                      filenames
                              Powiadamia  readline,  że  compspec
                              tworzy  nazwy  plików,  zatem  może
                              wykonać  przetwarzanie  specyficzne
                              dla   takich   nazw   (jak  dodanie
                              ukośnika  do  nazw  katalogów   czy
                              usunięcie końcowych spacji). Zapro­
                              jektowane do stosowania z funkcjami
                              powłoki.
              -A akcja
                      akcja   może   być   jedną   z  poniższych,
                      tworzących listę możliwych dopasowań:
                      alias   Nazwy aliasów. Można też podać jako
                              -a.
                      arrayvar
                              Nazwy zmiennych tablicowych.
                      binding Nazwy  przypisań klawiszy readline.
                      builtin Nazwy wbudowanych poleceń  powłoki.
                              Można też podać jako -b.
                      command Nazwy poleceń. Można też podać jako
                              -c.
                      directory
                              Nazwy katalogów.  Można  też  podać
                              jako -d.
                      disabled
                              Nazwy   wyłączonych   poleceń  wbu­
                              dowanych powłoki.



GNU Bash-2.05a          13 listopada 2001                      74





BASH(1)                                                   BASH(1)


                      enabled Nazwy   włączonych   poleceń   wbu­
                              dowanych powłoki.
                      export  Nazwy   wyeksportowanych  zmiennych
                              powłoki. Można też podać jako -e.
                      file    Nazwy plików. Można też podać  jako
                              -f.
                      function
                              Nazwy funkcji powłoki.
                      group   Nazwy  grup.  Można  też podać jako
                              -g.
                      helptopic
                              Tematy  pomocy  akceptowane   przez
                              wbudowane polecenie help.
                      hostname
                              Nazwy   hostów,   pobrane  z  pliku
                              określonego przez  zmienną  powłoki
                              HOSTFILE.
                      job     Nazwy  zadań,  jeżeli  aktywne jest
                              sterowanie  zadaniami.  Można   też
                              podać jako -j.
                      keyword Zastrzeżone  słowa  powłoki.  Można
                              też podać jako -k.
                      running Nazwy  działających  zadań,  jeżeli
                              aktywne  jest sterowanie zadaniami.
                      setopt  Dozwolone   argumenty   opcji    -o
                              polecenia wbudowanego set.
                      shopt   Nazwy  opcji  powłoki, takie, jakie
                              akceptuje    polecenie    wbudowane
                              shopt.
                      signal  Nazwy sygnałów.
                      stopped Nazwy   zatrzymanych  zadań,  jeśli
                              aktywne jest sterowanie  zadaniami.
                      user    Nazwy użytkowników. Można też podać
                              jako -u.
                      variable
                              Nazwy wszystkich zmiennych powłoki.
                              Można też podać jako -v.
              -G wzglob
                      Wzorzec  rozwijania nazw plików wzglob jest
                      rozwijany,    tworząc    listę    możliwych
                      uzupełnień.
              -W listasłów
                      listasłów  jest rozbijana przy zastosowaniu
                      znaków ze zmiennej specjalnej IFS jako sep­
                      aratorów,  a  każde ze słów wynikowych jest
                      interpretowane.   Możliwe  uzupełnienia  są
                      elementami  listy  wynikowej, pasującymi do
                      uzupełnianego słowa.
              -C polecenie
                      polecenie wykonywane jest w środowisku pod­
                      powłoki,  a  jego wyjście używane jest jako
                      możliwe uzupełnienia.
              -F funkcja
                      Funkcja powłoki funkcja wykonywana  jest  w



GNU Bash-2.05a          13 listopada 2001                      75





BASH(1)                                                   BASH(1)


                      bieżącym   środowisku   powłoki.    Po  jej
                      zakończeniu, możliwe uzupełnienia pobierane
                      są  z  wartości zmiennej tablicowej COMPRE­
                      PLY.
              -X wzfiltr
                      wzfiltr jest wzorcem używanym do rozwijania
                      nazw   plików.   Stosowany  jest  do  listy
                      możliwych   uzupełnień   utworzonej   przez
                      poprzedzające go opcje i argumenty, a każde
                      pasujące do niego uzupełnienie jest usuwane
                      z  listy.   Początkowy ! w wzfiltr powoduje
                      negację   wzorca;   usuwane   są    wówczas
                      uzupełnienia nie pasujące do wzfiltr.
              -P przedrostek
                      Po  zastosowaniu wszystkich innych opcji na
                      początku  każdego  możliwego   uzupełnienia
                      jest dodawany przedrostek.
              -S przyrostek
                      Po  zastosowaniu wszystkich innych opcji na
                      końcu każdego możliwego  uzupełnienia  jest
                      dołączany przyrostek.

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

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

       declare [-afFirx] [-p] [nazwa[=wartość]]
       typeset [-afFirx] [-p] [nazwa[=wartość]]
              Deklaruje zmienne i/lub nadaje im atrybuty.   Jeśli
              nie  podano żadnych nazw, wyświetla wartości zmien­
              nych.   Opcja  -p  będzie  wyświetlać  atrybuty   i
              wartości   każdej  nazwy.   Gdy  używane  jest  -p,
              ignorowane są dodatkowe opcje.  Opcja  -F  zabrania
              wyświetlania definicji funkcji; wypisywane są tylko
              nazwy i atrybuty funkcji.  Opcja -F  implikuje  -f.
              Poniższych opcji można użyć do ograniczenia wyników
              do zmiennych o określonym atrybucie lub do  nadania
              zmiennym atrybutów:
              -a     Każda  z nazw jest zmienną tablicową (zobacz
                     Tablice powyżej).
              -f     Używa wyłącznie nazw funkcji.
              -i     Zmienna jest traktowana jak  całkowita;  gdy



GNU Bash-2.05a          13 listopada 2001                      76





BASH(1)                                                   BASH(1)


                     zmiennej  jest przypisywana wartość, wykony­
                     wana jest  interpretacja  wyrażeń  arytmety­
                     cznych  (zobacz OBLICZANIE WYRAŻEŃ ARYTMETY­
                     CZNYCH).
              -r     Powoduje, że dane nazwy stają się  tylko-do-
                     odczytu  (readonly).   Nazwom  tym nie można
                     przypisać  wartości  następnymi  poleceniami
                     przypisania.   Nie  można  też ich usunąć za
                     pomocą unset.
              -x     Zaznacza  nazwę  do  wyeksportowania   przez
                     środowisko do kolejnych poleceń.

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

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

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



GNU Bash-2.05a          13 listopada 2001                      77





BASH(1)                                                   BASH(1)


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

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

       enable [-adnps] [-f plik] [nazwa ...]
              Włącza  i  wyłącza  wbudowane  polecenia   powłoki.
              Wyłączenie  poleceń wbudowanych umożliwia wykonanie
              polecenia dyskowego mającego tę samą nazwę, co wbu­
              dowane, bez podawania jego pełnej nazwy ścieżkowej,
              mimo iż powłoka normalnie szuka poleceń wbudowanych
              przed  poleceniami dyskowymi.  Jeżeli posłużono się
              opcją -n, wyłączana jest każda z nazw; w przeciwnym
              razie  nazwy   włączone.  Na przykład, chcąc użyć
              pliku binarnego test znalezionego przez PATH  zami­
              ast  wersji  wbudowanej w powłokę, należy uruchomić



GNU Bash-2.05a          13 listopada 2001                      78





BASH(1)                                                   BASH(1)


              ,,enable -n test''.  Opcja -f  oznacza  załadowanie
              nowego   polecenia   wbudowanego  nazwa  z  obiektu
              dzielonego  (shared  object)  plik,  na   systemach
              obsługujących   dynamiczne   ładowanie.   Opcja  -d
              usunie polecenie  wbudowane  załadowane  poprzednio
              przez  -f.   Jeżeli  nie  podano żadnych argumentów
              nazwa lub jeśli podano opcję  -p,  wypisywana  jest
              lista  poleceń  wbudowanych  powłoki.   Bez  innych
              argumentów opcyjnych, lista ta składa się ze wszys­
              tkich włączonych poleceń wbudowanych.  Jeśli podano
              -n, wypisywane są tylko  wyłączone  polecenia  wbu­
              dowane.  Jeżeli podano -a, wypisywana lista zawiera
              wszystkie polecenia wbudowane, ze  wskazaniem  przy
              każdym  czy  jest ono włączone czy też nie.  Jeżeli
              podano -s, wyjście ograniczone jest  do  POSIXowych
              ,,specjalnych''   poleceń  wbudowanych.   Wartością
              zwracaną jest 0, chyba że nazwa nie jest poleceniem
              wbudowanym   powłoki   lub  wystąpił  błąd  podczas
              ładowania nowego polecenia  wbudowanego  z  obiektu
              dzielonego.

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

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

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



GNU Bash-2.05a          13 listopada 2001                      79





BASH(1)                                                   BASH(1)


              EXIT.

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

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

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

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



GNU Bash-2.05a          13 listopada 2001                      80





BASH(1)                                                   BASH(1)


              ostatnie polecenie.

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

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

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

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

              getopts  normalnie  analizuje  parametry pozycyjne,
              ale jeśli w argumentach, podano więcej  argumentów,



GNU Bash-2.05a          13 listopada 2001                      81





BASH(1)                                                   BASH(1)


              to  getopts  przetwarza je zamiast parametrów pozy­
              cyjnych.

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

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

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

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

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

       help [-s] [wzorzec]
              Wyświetla pomocne  informacje  o  poleceniach  wbu­
              dowanych.  Jeżeli  podano  wzorzec,  to  help  daje
              szczegółową  pomoc  dotyczącą  wszystkich   poleceń
              pasujących do wzorca; w przeciwnym razie wypisywana



GNU Bash-2.05a          13 listopada 2001                      82





BASH(1)                                                   BASH(1)


              jest pomoc dla  wszystkich  poleceń  wbudowanych  i
              struktur  sterujących  powłoki.  Opcja -s ogranicza
              wyświetlaną informację do krótkiego opisu  składni.
              Zwracany  jest  kod 0, chyba że żadne z poleceń nie
              pasuje do wzorca.

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

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

       jobs [-lnprs] [ zadanie ... ]




GNU Bash-2.05a          13 listopada 2001                      83





BASH(1)                                                   BASH(1)


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

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

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

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

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

       local [opcja] [nazwa[=wartość] ...]
              Dla każdego argumentu tworzona jest zmienna lokalna



GNU Bash-2.05a          13 listopada 2001                      84





BASH(1)                                                   BASH(1)


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

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

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

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

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

              W   razie   potrzeby   format  wykorzystywany  jest



GNU Bash-2.05a          13 listopada 2001                      85





BASH(1)                                                   BASH(1)


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

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

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

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

       read  [-ers] [-t timeout] [-a anazwa] [-p zachęta] [-n
              nznak] [-d sep] [nazwa ...]
              Ze  standardowego  wejścia  czytany jest pojedynczy
              wiersz, a jego pierwsze słowo jest przypisywane  do



GNU Bash-2.05a          13 listopada 2001                      86





BASH(1)                                                   BASH(1)


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

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

       readonly [-apf] [nazwa ...]
              Podane  nazwy  oznaczane są jako readonly; wartości
              tych nazw  nie  mogą  być  zmieniane  następującymi



GNU Bash-2.05a          13 listopada 2001                      87





BASH(1)                                                   BASH(1)


              później  przypisaniami.   Jeśżli  podano  opcję -f,
              oznaczane są funkcje o nazwach odpowiadających naz­
              wom.   Opcja -a ogranicza zmienne do tablic.  Jeśli
              nie podano argumentów nazw lub jeśli  podano  opcję
              -p,  wypisywane  jest zestawienie wszystkich nazw o
              atrybucie readonly.  Opcja -p powoduje,  że  wyniki
              będą   wyświetlane   w  formacie,  który  może  być
              ponownie wykorzystany jako wejście.  Zwracany  jest
              kod  równy  0,  chyba  że  napotkano  nieprawidłową
              opcję, jedna z nazw nie jest poprawną nazwą  zmien­
              nej  powłoki  lub podano -f z nazwą, która nie jest
              funkcją.

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

       set [--abefhkmnptuvxBCHP] [-o opcja] [arg ...]
              Bez opcji, wyświetlane są nazwa i wartość każdej ze
              zmiennych   powłoki,  w  formacie  który  może  być
              ponownie wykorzystany jako wejście.  Wyniki są sor­
              towane  zgodnie  z  bieżącymi  ustawieniami locale.
              Gdy podane są opcje, ustawiają one lub kasują atry­
              buty powłoki.  Argumenty pozostałe po przetworzeniu
              opcji traktowane są jako wartości parametrów  pozy­
              cyjnych  i  przypisywane,  kolejno,  do $1, $2, ...
              $n.   Opcje,  jeśli  je  podano,  mają  następujące
              znaczenie:
              -a      Automatycznie zaznacza zmienione lub utwor­
                      zone zmienne i funkcje  do  wyeksportowania
                      ich do środowiska kolejnych poleceń.
              -b      Natychmiast   podaje   status  zakończonych
                      zadań  drugoplanowych,  zamiast  czynić  to
                      przed  następną  podstawową zachętą. Działa
                      tylko jeśli włączona jest kontrola zadań.
              -e      Zakończ natychmiast jeśli polecenie  proste
                      (zobacz  GRAMATYKA  POWŁOKI powyżej) kończy
                      pracę  z  kodem  niezerowym.  Powłoka   nie
                      kończy  pracy,  jeśli  polecenie, które się
                      nie powiodło jest częścią pętli  until  lub
                      while, częścią instrukcji if, częścią listy
                      &&  lub  ||  lub  wartość  zwrócona   przez
                      polecenie została odwrócona przez !.  Przed
                      zakończeniem pracy powłoki wykonywana  jest
                      pułapka   na   sygnał   ERR,   jeśli   była



GNU Bash-2.05a          13 listopada 2001                      88





BASH(1)                                                   BASH(1)


                      ustawiona.
              -f      Wyłącza rozwijanie nazw plików.
              -h      Zapamiętuje położenie poleceń przy wyszuki­
                      wania    ich   do   wykonania.    Domyślnie
                      włączone.
              -k      Wszystkie argumenty występujące  w  postaci
                      instrukcji  przypisania  umieszczane  są  w
                      środowisku polecenia,  nie  zaś  tylko  te,
                      które poprzedzają nazwę polecenia.
              -m      Tryb  monitorowania. Włączona jest kontrola
                      zadań. Opcja ta jest domyślnie włączona dla
                      powłok   interaktywnych   na  systemach  ją
                      obsługujących (zobacz STEROWANIE  ZADANIAMI
                      powyżej).  Procesy  drugoplanowe działają w
                      odrębnej grupie procesów a po ich zakończe­
                      niu  wypisywany jest wiersz zawierający ich
                      kod zakończenia.
              -n      Odczytuje  polecenia,  ale  nie   ich   nie
                      wykonuje.    Może   być   wykorzystane   do
                      sprawdzenia  błędów  składni   w   skrypcie
                      powłoki.  Ignorowane przez powłoki interak­
                      tywne.
              -o nazwa-opcji
                      Nazwą opcji może być jedna z poniższych:
                      allexport
                              To samo, co -a.
                      braceexpand
                              To samo, co -B.
                      emacs   Użyj  interfejsu   edycji   wiersza
                              poleceń  w  stylu  emacsa. Włączone
                              domyślnie,   jeśli   powłoka   jest
                              interaktywna, chyba że została uru­
                              chomiona z opcją --noediting.
                      errexit To samo, co -e.
                      hashall To samo, co -h.
                      histexpand
                              To samo, co -H.
                      history Włącza   historię   poleceń,    jak
                              opisano  powyżej w sekcji HISTORII.
                              Opcja ta jest domyślnie włączona  w
                              powłokach interaktywnych.
                      ignoreeof
                              Efekt   jest  taki,  jakby  zostało
                              wykonane     polecenie      powłoki
                              ,,IGNOREEOF=10''   (zobacz  powyżej
                              Zmienne powłoki).
                      keyword To samo, co -k.
                      monitor To samo, co -m.
                      noclobber
                              To samo, co -C.
                      noexec  To samo, co -n.
                      noglob  To samo, co -f.
                      nolog   Obecnie ignorowane.
                      notify  To samo, co -b.



GNU Bash-2.05a          13 listopada 2001                      89





BASH(1)                                                   BASH(1)


                      nounset To samo, co -u.
                      onecmd  To samo, co -t.
                      physical
                              To samo, co -P.
                      posix   Zmienia zachowanie bash tam,  gdzie
                              domyślne  działanie  różni  się  od
                              standardu  POSIX  1003.2,  tak   by
                              spełniać standard (tryb posix).
                      privileged
                              To samo, co -p.
                      verbose To samo, co -v.
                      vi      Używa   interfejsu  edycji  wiersza
                              poleceń w stylu vi.
                      xtrace  To samo, co -x.
                      Jeżeli podano -o bez nazwy-opcji,  to  wyp­
                      isywane   są   wartości   bieżących  opcji.
                      Jeżeli podano +o bez nazwy-opcji, na  stan­
                      dardowym  wyjściu  wyświetlana  jest  seria
                      poleceń  set  potrzebnych  do   odtworzenia
                      aktualnych ustawień opcji.
              -p      Włącza tryb uprzywilejowany (privileged). W
                      tym trybie pliki $ENV i  $BASH_ENV  nie  są
                      przetwarzane,   funkcje   powłoki   nie  są
                      dziedziczone ze środowiska, a zmienna SHEL­
                      LOPTS,  jeśli  występuje w środowisku, jest
                      ignorowana.   Jeśli  powłoka  została  uru­
                      chomiona   z   efektywnym   id  użytkownika
                      (grupy) różnych od id rzeczywistego  a  nie
                      podano  opcji -p, to podejmowane są opisane
                      wyżej akcje a efektywny id użytkownika jest
                      ustawiany   na  identyfikator  rzeczywisty.
                      Jeżeli przy uruchamianiu podano  opcję  -p,
                      to  efektywny identyfikator użytkownika nie
                      jest  resetowany.   Wyłączenie  tej   opcji
                      powoduje,   że   identyfikatory   efektywne
                      użytkownika i grupy  zostaną  ustawione  na
                      identyfikatory rzeczywiste.
              -t      Kończy  pracę  po  przeczytaniu i wykonaniu
                      jednego polecenia.
              -u      Podczas interpretacji  parametrów  traktuje
                      nieustawione  zmienne  jako  błąd.   Jeżeli
                      wykonywana   jest    próba    interpretacji
                      nieustawionej zmiennej, to powłoka wypisuje
                      komunikat  o  błędzie  i,  jeśli  nie  jest
                      interaktywna,  kończy  pracę  z  niezerowym
                      kodem.
              -v      Wypisuje wiersze wejściowe powłoki przy ich
                      odczytywaniu.
              -x      Po    interpretacji    każdego    polecenia
                      prostego, wyświetla zinterpretowaną wartość
                      PS4,  po  której następuje polecenie i jego
                      zinterpretowane argumenty.
              -B      Powłoka  wykonuje  interpretacją   nawiasów
                      (zobacz  Interpretacja  nawiasów  powyżej).



GNU Bash-2.05a          13 listopada 2001                      90





BASH(1)                                                   BASH(1)


                      Domyślnie włączone.
              -C      Jeśli włączone,  bash  nie  nadpisuje  ist­
                      niejącego   pliku  przy  użyciu  operatorów
                      przekierowania >, >& i <>.  Można to ominąć
                      tworząc  pliki wyjściowe przy użyciu opera­
                      tora przekierowania >| zamiast >.
              -H      Włącza zastępowanie  historii  w  stylu  !.
                      Opcja   ta   jest  domyślnie  włączona  dla
                      powłoki interaktywnej.
              -P      Jeżeli  jest  ustawiona,  to  powłoka   nie
                      podąża  za  dowiązaniami symbolicznymi pod­
                      czas  wykonywania   poleceń   zmieniających
                      bieżący  katalog  roboczy,  jak  cd.  Używa
                      zamiast tego fizycznej struktury katalogów.
                      Domyślnie,   bash   podąża   za   logicznym
                      łańcuchem  katalogów  podczas   wykonywania
                      poleceń   zmieniających   bieżący   katalog
                      roboczy.
              --      Jeżeli po tej  opcji  nie  występują  żadne
                      argumenty,   to   parametry   pozycyjne  są
                      kasowane.  W  przeciwnym  razie,  parametry
                      pozycyjne  ustawiane są na argumenty, nawet
                      jeśli niektóre  z  nich  zaczynają  się  od
                      znaku -.
              -       Sygnalizuje  koniec opcji, powodując przyp­
                      isanie wszystkich pozostałych argumentów do
                      parametrów  pozycyjnych.   Opcje -x i -v są
                      wyłączane.  Jeżeli nie  ma  argumentów,  to
                      parametry pozycyjne pozostają bez zmian.

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

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

       shopt [-pqsu] [-o] [nazwa_opcji ...]
              Przełącza wartości zmiennych sterujących  opcjonal­
              nym zachowaniem powłoki.  Bez żadnych opcji, albo z
              opcją  -p,  wyświetlana   jest   lista   wszystkich



GNU Bash-2.05a          13 listopada 2001                      91





BASH(1)                                                   BASH(1)


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

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

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

              Lista opcji shopt obejmuje:

              cdable_vars
                      Jeśli jest ustawiona, to nie będący katalo­
                      giem  argument  wbudowanego  polecenia   cd
                      uważany  jest  za nazwę zmiennej; wartością
                      tej zmiennej  jest  katalog,  na  który  ma
                      nastąpić zmiana.
              cdspell Jeśli jest ustawiona, to pomniejsze błędy w
                      pisowni składowej katalogu w  poleceniu  cd
                      będą poprawiane.  Sprawdzenie takich błędów
                      obejmuje znaki zamienione miejscami,  znaki
                      pominięte i pojedyncze zbędne znaki. Jeżeli
                      znaleziono   poprawkę,   wypisywana    jest
                      poprawna nazwa pliku a polecenie kontynuuje
                      działanie.  Opcja  ta  jest  wykorzystywana
                      tylko przez powłoki interaktywne.
              checkhash
                      Jeśli  jest  ustawiona, bash sprawdza przed
                      próbą wykonania  polecenia  znalezionego  w
                      tablicy  mieszającej, czy polecenie to ist­
                      nieje. Jeżeli już nie istnieje, to  wykony­
                      wane jest zwykłe przeszukiwanie ścieżki.




GNU Bash-2.05a          13 listopada 2001                      92





BASH(1)                                                   BASH(1)


              checkwinsize
                      Jeżeli   jest   ustawione,   bash  sprawdza
                      rozmiar okna po każdym poleceniu  i,  jeśli
                      zachodzi   potrzeba,   aktualizuje  wartość
                      LINES i COLUMNS.
              cmdhist Jeżeli jest ustawione, bash usiłuje zapisać
                      wszystkie   wiersze   polecenia  wielowier­
                      szowego  w  tej  samej  pozycji   historii.
                      Pozwala  to na łatwą ponowną edycję poleceń
                      obejmujących wiele wierszy.
              dotglob Jeżeli jest ustawione, to bash  do  wyników
                      rozwinięcia  nazw plików włącza także nazwy
                      plików rozpoczynające się kropką `.'.
              execfail
                      Jeżeli  jest  ustawione,  to  powłoka  nie-
                      interaktywna  nie  zakończy pracy nie mogąc
                      wykonać  pliku  określonego  jako  argument
                      wbudowanego polecenia exec.  Powłoka inter­
                      aktywna nie kończy pracy, jeśli  exec  zaw­
                      iedzie.
              expand_aliases
                      Jeżeli  jest ustawiona, aliasy są interpre­
                      towane jak opisano powyżej w ALIASY.  Opcja
                      ta   jest  włączona  domyślnie  dla  powłok
                      interaktywnych.
              extglob Jeśli jest włączona, włączane  są  rozszer­
                      zone  funkcje dopasowywania wzorców opisane
                      powyżej w Rozwijanie nazw plików.
              histappend
                      Jeżeli jest ustawiona, to do pliku o nazwie
                      wskazanej    zmienną    HISTFILE    podczas
                      kończenia pracy przez powłokę dodawana jest
                      lista  historii,  zamiast nadpisywania tego
                      pliku listą.
              histreedit
                      Jeżeli jest ustawione, a używane jest read­
                      line,  to  użytkownik ma możliwość ponownej
                      edycji  nieudanego  podstawienia   historii
                      historii.
              histverify
                      Jeżeli jest ustawione, a używane jest read­
                      line, to wyniki podstawiania  historii  nie
                      są  natychmiast  przesyłane  do analizatora
                      powłoki.  Zamiast  tego,  wiersz   wynikowy
                      ładowany  jest  do  bufora edycyjnego read­
                      line, pozwalając na dalsze zmiany.
              hostcomplete
                      Jeżeli jest ustawione, a używane jest read­
                      line,    bash   będzie   usiłować   wykonać
                      uzupełnianie nazwy hosta podczas uzupełnia­
                      nia    słowa    zawierającego   @   (zobacz
                      Uzupełnianie    w    READLINE     powyżej).
                      Domyślnie włączone.




GNU Bash-2.05a          13 listopada 2001                      93





BASH(1)                                                   BASH(1)


              huponexit
                      Jeżeli jest ustawione, to bash wyśle SIGHUP
                      do wszystkich zadań podczas kończenia pracy
                      interaktywnej powłoki zgłoszeniowej.
              interactive_comments
                      Jeśli   jest  włączone,  pozwala  by  słowo
                      rozpoczynające   się   od   #    powodowało
                      pominięcie    tego   słowa   i   wszystkich
                      pozostałych znaków wiersza w powłoce inter­
                      aktywnej   (zobacz   powyżej   KOMENTARZE).
                      Opcja domyślnie włączona.
              lithist Jeśli jest ustawione, a włączona jest opcja
                      cmdhist,    to   polecenia   wielowierszowe
                      zachowywane   są   w   historii   w   miarę
                      możliwości z osadzonymi znakami nowej linii
                      zamiast przy użyciu średników jako  separa­
                      torów.
              login_shell
                      Powłoka  ustawia  tę  opcję  jeśli zostanie
                      uruchomiona   jako   zgłoszeniowa   (zobacz
                      WYWOŁANIE  powyżej).   Ta  wartość nie może
                      być zmieniona.
              mailwarn
                      Jeżeli jest  ustawione,  zaś  do  pliku,  w
                      którym  sprawdza  pocztę  bash  sięgano  od
                      czasu ostatniego sprawdzania,  to  zostanie
                      wyświetlony   komunikat   ,,The   mail   in
                      plikpoczty  has  been  read''   (Poczta   w
                      plikpoczty została przeczytana).
              no_empty_cmd_completion
                      Jeśli  jest  ustawione,  i  stosowane  jest
                      readline,  to  bash  nie  będzie   usiłował
                      szukać  w  PATH  możliwych  uzupełnień, gdy
                      próba uzupełniania wystąpi w  pustym  wier­
                      szu.
              nocaseglob
                      Jeśli   zostało  ustawione,  to  bash  przy
                      rozwijaniu nazw plików  dopasowuje  je  nie
                      zwracając  uwagi  na wielkość liter (zobacz
                      Rozwijanie nazw plików powyżej).
              nullglob
                      Jeśli jest ustawione, to, bash  pozwala  by
                      wzorce   nie  dopasowujące  żadnych  plików
                      (zobacz  Rozwijanie  nazw  plików  powyżej)
                      rozwijały  się  w łańcuch pusty, zamiast na
                      same siebie.
              progcomp
                      Jeżeli  jest  ustawione,  to  włączone   są
                      usługi programowalnego uzupełniania (zobacz
                      powyżej    Programowalne     uzupełnianie).
                      Domyślnie włączone.
              promptvars
                      Jeżeli  jest ustawione, to łańcuchy zachęty
                      podlegają   interpretacji    zmiennych    i



GNU Bash-2.05a          13 listopada 2001                      94





BASH(1)                                                   BASH(1)


                      podstawianiu  parametrów  po  interpretacji
                      zachęty opisanej w ZACHĘTA  powyżej.  Opcja
                      ta jest domyślnie włączona.
              restricted_shell
                      Powłoka ustawia tę opcję jeśli została uru­
                      chomiona w trybie okrojonym (zobacz POWŁOKA
                      OKROJONA poniżej).  Wartość ta nie może być
                      zmieniona.  Nie jest ona resetowana podczas
                      odczytu plików startowych, pozwalając im na
                      odkrycie czy powłoka jest okrojona czy nie.
              shift_verbose
                      Jeżeli  jest  ustawiona, to wbudowane shift
                      wypisuje komunikat  o  błędzie  gdy  liczba
                      przesunięć  (przez shift) przekracza liczbę
                      parametrów pozycyjnych.
              sourcepath
                      Jeśli jest  ustawiona,  to  polecenie  wbu­
                      dowane  source  (.) posługuje się wartością
                      PATH do znalezienia katalogu  zawierającego
                      plik podany jako argument.  Opcja domyślnie
                      włączona.
              xpg_echo
                      Jeżeli jest ustawiona, to  dla  wbudowanego
                      polecenia   echo   włączane  jest  domyślne
                      interpretowanie  sekwencji  specjalnych   z
                      odwrotnym ukośnikiem.
       suspend [-f]
              Zawiesza  wykonywanie  tej  powłoki  do  otrzymania
              przez nią sygnału SIGCONT.  Opcja -f mówi,  by  nie
              narzekać,    jeśli    użyto   suspend   w   powłoce
              zgłoszeniowej; po prostu zawiesić  mimo  to.  Kodem
              zwracanym  jest  0,  chyba  że powłoka jest powłoką
              zgłoszeniową i nie podano opcji  -f,  lub  gdy  nie
              jest włączona kontrola zadań.
       test wyraż
       [ wyraż ]
              Zwraca  kod  0  lub 1 w zależności od interpretacji
              wyrażenia  warunkowego  wyraż.   każdy  operator  i
              operand  musi  być  odrębnym argumentem.  Wyrażenia
              składając się ze  składowych  opisanych  powyżej  w
              WYRAŻENIA WARUNKOWE.

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




GNU Bash-2.05a          13 listopada 2001                      95





BASH(1)                                                   BASH(1)


              wyraż1 -o wyraż2
                     Prawda   jeśli   wyraż1   lub   wyraż2  jest
                     prawdziwe.

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

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




GNU Bash-2.05a          13 listopada 2001                      96





BASH(1)                                                   BASH(1)


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

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

       type [-atp] nazwa [nazwa ...]
              Bez  opcji wskazuje, jak powinna być interpretowana
              każda z  nazw,  jeśli  zostanie  użyta  jako  nazwa
              polecenia.  Jeżeli użyto opcji -t, to type wypisuje
              łańcuch będący jednym z alias,  keyword,  function,
              builtin  lub  file,  jeśli  nazwa  jest odpowiednio
              aliasem,  zastrzeżonym  słowem  powłoki,   funkcją,
              poleceniem  wbudowanym lub plikiem dyskowym.  Jeśli
              nie znaleziono nazwy, to nie jest wypisywane nic  i
              jako  kod  zakończenia  zwracany jest fałsz.  Jeśli
              posłużono się opcją -p to type  zwraca  albo  nazwę



GNU Bash-2.05a          13 listopada 2001                      97





BASH(1)                                                   BASH(1)


              pliku  dyskowego,  który  zostałby  wykonany  jeśli
              nazwa zostałaby podana jako nazwa  polecenia,  albo
              nic  jeśli  ! .if t type -t nazwa ! .if n ,,type -t
              nazwa'' nie zwróciłoby file.  Jeśli polecenie  ist­
              nieje  w tablicy mieszającej, -p wypisuje wartość z
              tablicy, niekoniecznie plik, który pojawia się jako
              pierwszy  w  PATH.   Jeżeli użyto opcji -a, to type
              wypisuje wszystkie miejsca zawierajace  wykonywalną
              nazwę.  Obejmuje to aliasy i funkcje, wtedy i tylko
              wtedy gdy użyto również opcji -p.  Przy  użyciu  -a
              nie  korzysta  się  z  tablicy mieszającej poleceń.
              type zwraca prawdę  jeśli  znaleziono  jakieś  jego
              argumenty, fałsz jeśli nie znaleziono żadnych.

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



GNU Bash-2.05a          13 listopada 2001                      98





BASH(1)                                                   BASH(1)


                     dostępna dla powłoki

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

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

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

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





GNU Bash-2.05a          13 listopada 2001                      99





BASH(1)                                                   BASH(1)


       wait [n]
              Czeka  na  określony  proces  i  zwraca  jego   kod
              zakończenia.   n  może  być identyfikatorem procesu
              lub określeniem zadania;  jeśli  podano  określenie
              zadania,  to  nastąpi oczekiwanie na wszystkie pro­
              cesy w potoku tego zadania.  Jeżeli nie  podano  n,
              następuje  oczekiwanie na wszystkie aktualnie akty­
              wne procesy potomne i  zwracany  jest  kod  zerowy.
              Jeśli  n  określa nieistniejący proces lub zadanie,
              to zwracany jest kod 127.  W  pozostałych  przypad­
              kach  zwracany jest kod zakończenia ostatniego pro­
              cesu lub zadania na jakie czekano.

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

       ˇ      zmiana katalogów przy pomocy cd

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

       ˇ      podawanie nazw poleceń zawierających /

       ˇ      podawanie  nazw  plików  zawierających / jako argu­
              mentu wbudowanego polecenia .  (kropka).

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

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

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

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

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

       ˇ      podawanie opcji -p wbudowanego polecenia command

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

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



GNU Bash-2.05a          13 listopada 2001                     100





BASH(1)                                                   BASH(1)


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

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

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

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

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

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

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




GNU Bash-2.05a          13 listopada 2001                     101





BASH(1)                                                   BASH(1)


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

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

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

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

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

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

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

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

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

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

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















GNU Bash-2.05a          13 listopada 2001                     102