Provided by: manpages-pl_20060617-4_all bug

NAZWA

       chat - Zautomatyzowany skrypt dialogu z modemem

SK/LADNIA

       chat [ options ] script

OPIS

       Program  chat definiuje wymian rozmow midzy komputerem a modemem.  Jego
       glownym celem jest zestawianie polcze  pomidzy  demonem  Point-To-Point
       (pppd), a procesem pppd drugiego koca.

OPCJE

       -f <chat file>
              Odczytaj skrypt rozmowy z pliku file. Uywanie tej opcji wyklucza
              parametry skryptowe rozmowy. Uytkownik musi mie prawa do odczytu
              tego   pliku.    Dozwolonych   jest  wiele  linii  w  pliku.  Do
              oddzielania napisow powinny by uywana spacja lub tabulacja.

       -t <timeout>
              Ustaw timeout dla odbioru oczekiwanego napisu.  Jeli  napis  nie
              zostanie  odebrany  w  limicie czasowym, to napis odpowiedzi nie
              jest wysylany. Moe by natomiast wyslana  alternatywna  odpowied,
              lub   skrypt   moe   zosta  przerwany  w  wypadku  braku  takiej
              alternatywy. Chat zakoczy wtedy  dzialanie,  zwracajc  niezerowy
              kod bldu.

       -r <report file>
              Ustaw  plik  dla wyjcia napisow raportujcych. Jeeli uywasz slowa
              kluczowego REPORT, napisy wynikowe s zapisywane do  tego  pliku.
              Jeli  opcja  ta  nie  jest uywana, moesz i tak uywa slow REPORT,
              ktore uyj pliku stderr.

       -v     daj uruchomienia skryptu chat  w  trybie  verbose  (gadatliwym).
              Program  chat  bdzie  wtedy logowal wszystkie teksty uzyskane od
              modemu, a take te, ktore sam wysyla. Logi wysylane s do SYSLOG.

       -V     daj uruchomienia skryptu chat w trybie verbose (gadatliwym), ale
              na  stderr.  (tym  si  to  roni od powyszego). Urzdzenie to jest
              zwykle lokaln konsol stacji uruchamiajcej program chat lub pppd.
              Opcja   ta   nie  bdzie  dziala  prawidlowo,  jeli  stderr  jest
              przekierowane na /dev/null, co ma  miejsce  gdy  pppd  dziala  w
              trybie  `detached'  (odlczonym  od  konsoli).  W tym wypadku uyj
              opcji `-v' do zapisywania sesji na urzdzeniu SYSLOG.

       script Jeli skrypt nie jest podany opcj -f w pliku,  to  skrypt  script
              jest wlczany jako parametry programu chat.

SKRYPT ROZMOWY

       Skrypt rozmowy definiuje komunikacj.

       Skrypt  sklada  si  z  jednej  lub  wikszej iloci par napisow "oczekuj-
       wysylaj",  oddzielonych  spacjami  z  ewentualnymi  dodatkowymi  parami
       "podoczekuj-podwysylaj", oddzielonymi kresk, jak w przykladzie:

              ogin:-BREAK-ogin: ppp ssword: hello2u2

       Znaczy  to,  e chat powinien oczekiwa napisu "ogin:". Jeli to zawiedzie
       (nastpi timeout), to wysyla na drugi koniec sekwencj przerwania (break)
       i  oczekuje  napisu  "ogin:".  Jeli  jednak  pierwszy  "ogin:" zostanie
       odebrany, sekwencja przerwania nie jest wysylana.

       Gdy ju uzyskalimy prompt  logina,  chat  sprobuje  wysla  napis  ppp  i
       oczekiwa  na  prompt  "ssword:". Gdy odczyta ten prompt, to wyle haslo,
       hello2u2.

       Na zakoczenie napisu odpowiedzi zwykle wysylany jest CR.  Nie  jest  on
       oczekiwany w napisie "oczekiwania", chyba e jest specyficznie wskazany,
       przez uycie sekwencji \r.

       Sekwencja  oczekiwania  powinna  zawiera  tylko  to,  co  potrzebne  do
       zidentyfikowania napisu. Poniewa normalnie jest przechowywana na dysku,
       nie  powinna  zawiera  informacji  zmiennych.   Generalnie   nie   jest
       akceptowane  podgldanie  napisow  czasowych,  identyfikacji  sieci, lub
       innych zmiennych jako sekwencji oczekiwanej.

       Aby pomoc poprawi znaki, ktore mog by zmienione w sekwencji pocztkowej,
       oczekuj  raczej  napisu  "ogin:"  ni "login:". Jest moliwe, e pocztkowy
       znak bdzie odebrany z bldem, a wtedy moesz nigdy nie znale oczekiwanego
       napisu,  chocia  zostal on wyslany przez system. Z tego powodu, skrypty
       oczekuj "ogin:" zamiast "login:" i "ssword:" zamiast "password".

       Bardzo prosty skrypt moe wyglda nastpujco:

              ogin: ppp ssword: hello2u2

       Innymi slowy, oczekuj ....ogin:, wylij ppp, oczekuj  ...ssword:,  wylij
       hello2u2.

       W rzeczywistoci proste skrypty s raczej rzadkie. Przynajmniej powiniene
       zalczy sekwencje "pod-oczekiwania". Np. rozwa nastpujcy skrypt:

              ogin:--ogin: ppp ssword: hello2u2

       Bylby to lepszy skrypt ni poprzedni.  Oczekiwalby  na  ten  sam  prompt
       login:,  lecz  gdyby  go  nie  odebral,  wyslalby  sekwencj  powrotu  i
       oczekiwal dalej.  Gdyby wic szum linii znieksztalcil  pierwszy  prompt,
       to poniejsze przeslanie pustej linii zazwyczaj wygeneruje nowy prompt.

STRINGI PRZERWANIA (ABORT)

       Wiele  modemow raportuje status polczenia jako napisy. Napisy te to np.
       CONNECTED, NO CARRIER, lub BUSY. Czsto jest wlaciwym wylczenie skryptu,
       jeli  modem nie polczy si z drugim kocem. Przy jednej probie moe odebra
       BUSY, podczas gdy nastpnym razem zdarzy si moe NO CARRIER.

       Te napisy "przerywania" mog by podane w skrypcie przy  uyciu  sekwencji
       ABORT. Jest to zapisane w poniszym przykladzie:

              ABORT BUSY ABORT 'NO CARRIER' '' ATZ OK ATDT5551212 CONNECT

       Sekwencja  ta  nie  bdzie  niczego oczekiwa; poniej wyle ATZ. Oczekiwan
       odpowiedzi jest OK. Po odebraniu OK, wysylany jest  napis  ATDT5551212,
       wykrcajcy  numer  telefonu.  Oczekiwanym  napisem  jest  CONNECT.  Jeli
       odebrany zostanie napis CONNECT, to  reszta  skryptu  jest  wykonywana.
       Jednak  jeli modem spotka si z zajt lini, to wyle napis BUSY. Napis ten
       bdzie odpowiadal sekwencji przerwania. Skrypt wtedy zakoczy  dzialanie,
       poniewa  uzyskal  rozkaz  przerwania. Podobnie bdzie, gdy skrypt uzyska
       napis NO CARRIER.

STRINGI RAPORTOWE

       Napis raportowy jest  bardzo  podobny  do  napisu  przerywania.  Ronica
       polega  na  tym,  e  napisy  i  wszystkie  znaki  do  nastpujcego znaku
       sterujcego, takiego jak CR, s wypisywane w pliku raportu.

       Napisy raportu mog by uywane do izolowania  ze  napisu  polczenia  cigu
       okrelajcego   szybko   transmisji  i  zwracania  wartoci  uytkownikowi.
       Analiza  logiki  napisu  raportowego  wystpuje  w  polczeniu  z   innym
       przetwarzaniem  napisu, takim jak podgldanie napisu oczekiwanego. Uycie
       tego samego napisu jako przerywajcy  i  raportowy,  prawdopodobnie  nie
       jest zbyt uyteczne, jednak jest moliwe.

       Napisy raportowe nie wplywaj na kod zakoczenia programu.

       Napisy  raportowe  mog  by  podawane  w  skrypcie  przy uyciu sekwencji
       REPORT. Jest to zapisywane w skrypcie jak w nastpujcym przykladzie.

              REPORT CONNECT  ABORT  BUSY  ''  ATDT5551212  CONNECT  ''  ogin:
              account

       Sekwencja   ta   nie   bdzie  oczekiwa  niczego;  a  potem  wyle  napis
       ATDT5551212,  wykrcajcy  numer  telefonu.  Oczekiwanym   napisem   jest
       CONNECT.  Jeli napis ten jest odebrany, wykonywana jest reszta skryptu.
       Dodatkowo, program wydrukuje do oczekujcego pliku  napis  CONNECT  plus
       dodatkowo znaki, ktore za nim podaly, takie jak szybko polczenia.

TIMEOUT

       Pocztkowa  warto  timeoutu to 45 sekund. Moe to by zmienione przy uyciu
       parametru -t.

       Aby zmieni warto timeoutu dla nastpnego z oczekiwanych napisow, mona uy
       nastpujcego przykladu:

              ATZ  OK  ATDT5551212  CONNECT  TIMEOUT 10 ogin:--ogin: TIMEOUT 5
              assowrd: hello2u2

       Zmieni to timeout na 10  sekund  podczas  oczekiwania  promptu  login:.
       Nastpnie  timeout  jest  zmieniany  na 5 sekund, podczas oczekiwania na
       prompt password:.

       Zmieniony timeout pozostaje efektywny a do nastpnej zmiany.

WYSY/LANIE EOT

       Specjalny napis odpowiedzi, EOT,  wskazuje,  e  program  chat  powinien
       wysla  znak  EOT  na  drugi koniec. Normalnie jest to sekwencja End-of-
       file.  Nie przesylany jest po niej znak return.

       Sekwencja EOT moe by zalczona do wysylanego napisu przy uyciu sekwencji
       ^D.

GENEROWANIE PRZERWANIA (BREAK)

       Specjalny   napis   odpowiedzi,   BREAK,   spowoduje  wyslanie  warunku
       przerwania.  Sygnal  ten  jest  specjalnym  sygnalem.  Normaln  akcj  u
       odbierajcego  go  jest  zmiana  szybkoci  transmisji.  Moe by uywany do
       przeskakiwania przez dostpne szybkoci transmisji, a bdzie  mona  odebra
       prawidlowy prompt logina.

       Sekwencja  przerwania  moe  by zalczona do wysylanego napisu przy uyciu
       sekwencji \K.

SEKWENCJE ESKEJPOWE

       Napisy  oczekiwania  i  odpowiedzi  mog  zawiera  sekwencje  eskejpowe.
       Wszystkie   sekwencje  s  legalne  w  napisie  odpowiedzi.  Wiele  jest
       legalnych w napisie oczekiwania. Te, ktore nie s  legalne  w  sekwencji
       oczekiwania, s zaznaczone.

       ''     Oczekuje lub wysyla napis zerowy. Jeli wysylasz napis zerowy, to
              wysylany bdzie znak return. Sekwencja  ta  moe  by  zarowno  par
              apostrofow, jak i znakow cytowania.

       \b     reprezentuje znak backspace.

       \c     Powstrzymuje  generowanie nowej linii na kocu napisu odpowiedzi.
              Jest to jedyna metoda wysylania napisu  bez  koczcego  go  znaku
              return.  Musi  by wysylana na kocu napisu. Na przyklad sekwencja
              hello\c przele po prostu znaki h, e, l, l,  o.   (nie  uywane  w
              napisie oczekiwania)

       \d     Zatrzymaj  si na sekund. Program uyj sleep(1), ktory zatrzyma si
              maksymalnie na sekund.  (nie uywane w napisie oczekiwania)

       \K     Wstaw BREAK (nie uywane w napisie oczekiwania)

       \n     Przelij znak nowej linii.

       \N     Przelij znak null. Ta sama sekwencja moe by reprezentowana przez
              \0.  (nie uywane w napisie oczekiwania)

       \p     Pauzuj  na  cz  sekundy.  Oponienie  wynosi  1/10 sekundy.  (nie
              uywane w sekwencji oczekiwania)

       \q     Zabro zapisywania napisu do pliku SYSLOG. Do logu w jego miejscu
              wpisywany   jest   napis   ???????.   (nie  uywane  w  sekwencji
              oczekiwania)

       \r     Wylij lub oczekuj CR.

       \s     Reprezentuje znak spacji w napisie. Moe to by  uywane,  gdy  nie
              jest  podanym  cytowanie  napisow zawierajcych spacje. Sekwencje
              'HI TIM' i HI\sTIM s identyczne.

       \t     Wylij lub oczekuj znaku tabulacji.

       \\     Wylij lub oczekuj znaku odwrotnego ukonika.

       \ddd   Przeksztal osemkowe cyfry (ddd) w pojedynczy znak ASCII i  wylij
              ten znak.  (niekt'ore znaki nie s uywane w sekwencji oczekiwania)

       ^C     Podmie sekwencj znakiem sterujcym (z Ctrl) reprezentowanym przez
              C.   Na  przyklad  znak  DC1  (17)  jest  pokazywany  jako   ^Q.
              (niekt'ore znaki nie s uywane w sekwencji oczekiwania)

KODY ZAKOCZENIA

       Program chat koczy swoje dzialanie z nastpujcymi kodami wyjcia.

       0      Normalne   zakoczenie  programu.  Znaczy  to,  e  skrypt  zostal
              wykonany bez bldow.

       1      Jeden, lub wicej  parametrow  bylo  nieprawidlowych,  lub  napis
              oczekiwania byl zbyt duy dla buforow wewntrznych. Wskazuje to, e
              program nie byl prawidlowo uruchomiony.

       2      Pojawil  si  bld  podczas  uruchomiania  programu.  Moe  to   by
              spowodowane  bldem  operacji  odczytu lub zapisu, lub odebraniem
              przez program sygnalu takiego, jak SIGINT.

       3      Nastpilo zdarzenie timeoutu dla napisu  oczekiwania,  ktory  nie
              mial napisu "pod-wyslania". Moe to oznacza, e nie zaprogramowale
              wlaciwie skryptu  na  ten  warunek,  lub  e  pojawilo  si  jakie
              nieoczekiwane  zdarzenie  i  oczekiwany  napis  nie  mogl  zosta
              znaleziony.

       4      Pojawil si pierwszy napis zaznaczony jako warunek ABORT.

       5      Pojawil si drugi napis zaznaczony jako warunek ABORT.

       6      Pojawil si trzeci napis zaznaczony jako warunek ABORT.

       7      Pojawil si czwarty napis zaznaczony jako warunek ABORT.

       ...    Inne kody wyjcia s rownie napisami zaznaczonymi jako ABORT.

       Uywajc kodu wyjcia, moliwym jest okrelenie, ktore  zdarzenie  zakoczylo
       skrypt.  Jest moliwym okrelenie czy modem otrzymal np. napis "BUSY" czy
       "NO DIALTONE". Podczas gdy pierwsze  zdarzenie  wymaga  drugiej  proby,
       drugie w ten sposob moe mie mniejsze szanse.

ZOBACZ TAKE

       Dodatkowe informacje o skryptach chat mona znale w dokumentacji UUCP.

       uucico(1), uucp(1)

COPYRIGHT

       Program chat jest w public domain. Nie jest to licencja GNU.

INFORMACJE O T/LUMACZENIU

       Powysze  tlumaczenie  pochodzi z nieistniejcego ju Projektu Tlumaczenia
       Manuali i moe nie by aktualne. W razie zauwaenia ronic  midzy  powyszym
       opisem  a  rzeczywistym  zachowaniem  opisywanego programu lub funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.