expr

EXPR(1)                   NarzÄdzia powÅokowe GNU 2.0                  EXPR(1)



NAZWA
       expr - wykonaj wyrażenia

SKÅADNIA
       expr wyrażenie...
       expr [--help] [--version]

OPIS
       Ta strona podrÄcznika man opisuje polecenie expr w wersji GNU.

       expr wykonuje obliczenie i zapisuje rezultat na standardowe wyjÅcie.
       Każdy żeton wyrażenia musi byÄ oddzielnym argumentem. Operandy mogÄ
       byÄ liczbami lub ciÄgami znaków. ÅaÅcuchów znaków nie cytuje siÄ dla
       expr, choÄ możesz byÄ zmuszonym do tego, by ochroniÄ je przed powÅokÄ
       (znaki i ÅaÅcuchy o specjalnym znaczeniu dla powÅoki, np. spacja).
       expr rzutuje wszystko znajdujÄce siÄ po stronie operandowej na integer
       lub ÅaÅcuch, zależnie od rodzaju operacji.

       Operatory mogÄ byÄ podawane jako symbole wrostkowe lub kluczowe sÅowa
       przedrostkowe. Do grupowania można w zwykÅy sposób korzystaÄ z
       nawiasów.  (nawiasy muszÄ byÄ jednak cytowane, by ochroniÄ je przed
       rozwiniÄciem przez powÅokÄ).

OPERACJE
       Operatory (w kolejnoÅci rosnÄcego priorytetu) to:

   Wyrażenia ÅaÅcuchowe
       expr obsÅuguje dopasowywanie wzorców i inne operatory ÅaÅcuchowe.
       MajÄ one niższy priorytet niż operatory numeryczne czy relacyjne (w
       nastÄpnych sekcjach).

       ÅaÅcuch : regex
              Dokonuje porównania wzorców. Argumenty sÄ rzutowane na
              ÅaÅcuchy, a drugi jest uważany za (podstawowe, a la GNU `grep')
              wyrażenie regularne, poprzedzone niejawnym `^'. NastÄpnie
              pierwszy argument jest dopasowywany do tego wyrażenia
              regularnego.  JeÅli porównanie jest pomyÅlne a wyrażenie
              regularne korzysta z `\(' i `\)', to wyrażenie : zwraca czÄÅÄ
              ÅaÅcucha dopasowanÄ tym podwyrażeniem. W przeciwnym zwracana
              jest liczba dopasowanych znaków.

              JeÅli porównanie zawiedzie, operator `:' zwraca ÅaÅcuch pusty
              jeÅli w wyrażeniu regularnym użyto `\(' i `\)' lub zero w
              przeciwnym wypadku.

              Tylko pierwsza para nawiasów `\(' i `\)' jest istotna dla
              zwracanej wartoÅci. Dodatkowe majÄ znaczenie tylko przy
              grupowaniu operatorów wyrażenie regularnego.

              W wyrażeniu regularnym znaki `\+',  `\?' i `\|' sÄ operatorami
              dopasowujÄcymi odpowiednio jedno lub wiÄcej, zero lub jedno
              wystÄpienie lub alternatywy rozÅÄczne. PochodzÄce z SunOS i inne
              implementacje expr traktujÄ je jak zwykÅe znaki. POSIX dopuszcza
              oba zachowania.

       match ÅaÅcuch regex
              Alternatywny sposóba porównywania wzorców. Jest to identyczne
              z `ÅaÅcuch : regex'.

       substr ÅaÅcuch pozycja dÅugoÅÄ
              Zwraca ÅaÅcuch bÄdÄcy czÄÅciÄ ÅaÅcucha, zaczynajÄcÄ siÄ na
              pozycji i o dÅugoÅci najwyżej dÅugoÅÄ. JeÅli pozycja lub
              dÅugoÅÄ jest niedodatnie lub nienumeryczne, zwracany jest
              ÅaÅcuch pusty.

       index ÅaÅcuch klasa-znakowa
              Zwraca pierwszÄ pozycjÄ w ÅaÅcuchu gdzie znaleÅºÄ można
              pierwszy znak z klasy-znakowej.  JeÅli nie znaleziono żadnego
              znaku z klasy-znakowej, zwraca 0.

       length ÅaÅcuch
              Zwraca dÅugoÅÄ ÅaÅcucha.

       quote token
              Interpretuje token jako ÅaÅcuch, nawet jeÅli jest on sÅowem
              kluczowym, jak match lub operatorem jak `/'. Umożliwia to
              testowanie `expr length quote "$x"' lub `expr quote "$x" :
              '.*/\(.\)'' i otrzymanie prawidÅowego wyniku nawet jeÅli
              wartoÅciÄ $X bÄdzie, na przykÅad, `/' czy `index'. Ten operator
              jest rozszerzeniem GNU. Jest wyÅÄczany, jeÅli ustawiona jest
              zmienna Årodowiska POSIXLY_CORRECT.

       ChcÄc, by expr interpretowaÅ sÅowa kluczowe jako ÅaÅcuchy należy użyÄ
       operatora quote.

   Wyrażenia numeryczne
       expr obsÅuguje zwyczajowe operatory numeryczne, w kolejnoÅci rosnÄcego
       priorytetu. Operatory ÅaÅcuchowe (poprzednia sekcja) majÄ niższy
       priorytet, zaÅ ÅÄczniki (connectives) (nastÄpna sekcja) wyższy.

       +, -   Dodawanie i odejmowanie. Obydwa argumenty sÄ rzutowane na
              liczby.  JeÅli to niemożliwe, pojawia siÄ bÅÄd.

       *, /, %
              Mnożenie, dzielenie, reszta z dzielenia. Obydwa argumenty sÄ
              rzutowane na liczby. JeÅli to niemożliwe, pojawia siÄ bÅÄd.

   Relacje
       expr obsÅuguje zwyczajowe ÅÄczniki i relacje logiczne. MajÄ one wyższy
       priorytet niż operatory ÅaÅcuchowe lub numeryczne, opisane w
       poprzednich sekcjach. Oto ich lista, poczynajÄc od operatorów o
       najmniejszym priorytecie.

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

       &      Zwraca swój pierwszy argument w wypadku gdy żaden z
              argumentów nie jest zerowy ani pusty. 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 argumenty na liczby i dokonaÄ porównania
              numerycznego; jeÅli to zawiedzie, próbuje porównania
              leksykalnego.

       Nawiasy sÄ używane zazwyczaj do grupowania. SÅowa kluczowe nie mogÄ
       byÄ używane jako napisy.

   OPCJE
       Gdy uruchomi siÄ GNU expr z jednym argumentem, rozpoznawane sÄ
       nastÄpujÄce opcje:

       --help WyÅwietla informacjÄ o stosowaniu programu i dostÄpnych opcjach,
              koÅczy pracÄ.

       --version
              WyÅwietla numer wersji programu i koÅczy pracÄ.

PRZYKÅADY
       Kilka przykÅadów, ÅÄcznie z cytowaniem metaznaków powÅoki:

       Dodanie 1 do zmiennej powÅokowej, w powÅoce zgodnej z powÅokÄ Bourne'a:
       a:

               a=`expr $a + 1`

       Poniższe polecenie może zostaÄ użyte do wydrukowania niekatalogowej
       czÄÅci nazwy pliku, przechowywanej w zmiennej a (czÄÅÄ ta nie powinna
       zawieraÄ `/'):

               expr $a : '.*/\(^.*\)' '^|' $a

       Zauważ cytowane metaznaki powÅoki.

       PrzykÅad pokazujÄcy, że `\+' jest operatorem:

               expr aaa : 'a\+'
               => 3

       Nieco innych:

               expr abc : 'a\(.\)c'
               => b
               expr index abcdef cz
               => 3
               expr index index a
               error--> expr: syntax error
               expr index quote index a
               => 0

KOD ZAKOÅCZENIA
       expr zwraca nastÄpujÄcy kod zakoÅczenia:

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

ZGÅASZANIE BÅÄDÃW
       BÅÄdy proszÄ zgÅaszaÄ, w jÄz.ang., do <bug-sh-utils@gnu.org>.

COPYRIGHT
       Copyright © 1999 Free Software Foundation, Inc.
       This is free software; see the source for copying conditions.  There is
       NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
       PURPOSE.

ZOBACZ TAKŻE
       dc(1), test(1), sh-utils(1).

OD TÅUMACZA
       Zaktualizowano i poszerzono wg dokumentacji Texinfo dla narzÄdzi
       powÅokowych GNU wersji 2.0.



maj 2000                              FSF                              EXPR(1)