EXPR(1L)                                                 EXPR(1L)


NAZWA
       expr - wykonaj wyrażenia

SKŁADNIA
       expr wyrażenie...
       expr {--help,--version}

OPIs
       Ta  strona  podręcznika  man  opisuje  wersję GNU programu
       expr.  expr wykonuje obliczenie  i  zapisuje  rezultat  na
       standardowe  wyjście.  Każdy żeton wyrażenia musi być odd­
       zielnym  argumentem.  Operandy  mogą  być  liczbami,   lub
       ciągami znaków. Ciągi znaków nie cytuje się dla expr, choć
       możesz  być  zmuszonym  do  tego,  by  ochronić  je  przed
       shellem.   expr rzutuje wszystko znajdujące się po stronie
       operandowej na integer, lub string,  zależnie  od  rodzaju
       operacji.

       Operatory (w kolejności zwiększającego się znaczenia) to:

       |      Wydaje  swój  pierwszy  argument w wypadku gdy jest
              niezerowy, lub drugi w przeciwnym wypadku. Jest  to
              zwykła operacja `or'.

       &      Wydaje swój pierwszy argument w wypadku gdy żaden z
              argumentów nie jest zerowy.  W  przeciwnym  wypadku
              zwraca zero.

       <  <=  =  ==  !=  >=  >
              Porównuje  argumenty  i zwraca 1 jeśli relacja jest
              prawdziwa, lub zero w przeciwnym wypadku. (==  jest
              synonimem  =.)   expr próbuje rzutować obydwa argu­
              menty na liczby i dokonać porównania  numerycznego;
              jeśli     to    zawiedzie,    próbuje    porównania
              leksykalnego.

       +  -   Dokonuje operacji arytmetycznych. Obydwa  argumenty
              są   rzutowane  na  liczby;  jeśli  to  niemożliwe,
              pojawia się błąd.

       *  /  %
              Dokonuje operacji arytmetycznych (`%' jest operacją
              modulo,  jak w C). Obydwa argumenty są rzutowane na
              liczby; jeśli to niemożliwe, pojawia się błąd.

       :      Dokonaj porównania wzorców. Argumenty są  rzutowane
              na stringi, a drugi jest uważany za wyrażenie regu­
              larne.  Jeśli  porównanie  jest  pomyślne  i  część
              stringu   zawarta  jest  w `\(' i `\)', to ta część
              jest wartością wyrażenia :;  w  przeciwnym  wypadku
              jest  nią  integer,  którego  wartością jest liczba
              zwróconych  znaków.  Jeśli  porównanie   zawiedzie,
              operator  zwraca  string zerowy (jeśli użyto `\(' i
              `\)' ) lub zero w przeciwnym  wypadku.  Można  użyć



FSF                   Narzędzia shellowe GNU                    1





EXPR(1L)                                                 EXPR(1L)


              tylko jednej pary `\(' i `\)'.

       Dodatkowo, rozpoznawane sa następujące słowa kluczowe:

       match string regex
              Alternatywna  droga  porównywania  wzorców. Jest to
              identyczne z ``string : regex''.

       substr string pozycja długość
              Zwróć string będący częścią stringu string,  zaczy­
              nającą  się  w  pozycji  i będącą długości najwyżej
              długość. Jeśli position lub length jest  negatywne,
              lub nienumeryczne, zwracany jest string null.

       index string klasa-znakowa
              Zwróć pierwszą pozycję w string gdzie znaleźć można
              pierwszy  znak   z   klasy-znakowej.    Jeśli   nie
              znaleziono żadnego znaku z klasy-znakowej, zwróć 0.

       length string
              Zwróć długość stringu string.

       Nawiasy są używane zazwyczaj do grupowania. Słowa kluczowe
       nie mogą być używane jako stringi.

   OPCJE
       Gdy  uruchomi  się  GNU  expr z jednym argumentem, rozpoz­
       nawane są następujące opcje:

       --help Wydrukuj na stdout informację o użyciu  programu  i
              zakończ go.

       --version
              Wydrukuj  na  stdout informację o wersji programu i
              zakończ go.

PRZYKŁADY
       Aby dodać 1 do zmiennej shellowej a:

              a=`expr $a + 1`

       Następujące może zostać uzyte do  wydrukowania  niekatalo­
       gowej  części  nazwy  pliku,  przechowywanej  w zmiennej a
       (wartość w a nie musi zawierać `/'):

              expr $a : ´.*/\(.*\)´ ´|´ $a

       Zauważ cytowane metaznaki shella.

       expr zwraca następujący status wyjścia:

       0 jeśli wyrażenie nie jest ani null, ani 0.
       1 jeśli wyrażenie jest null lub 0,
       2 dla nieprawidłowych wyrażeń.



FSF                   Narzędzia shellowe GNU                    2