.\" -*- coding: UTF-8 -*-
.\" -*- nroff -*-
.\" manual page [] for chat 1.8
.\" $Id: chat.8,v 1.11 2004/11/13 12:22:49 paulus Exp $
.\" SH section heading
.\" SS subsection heading
.\" LP paragraph
.\" IP indented paragraph
.\" TP hanging label
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH CHAT 8 "22 maja 1999" "Chat Wersja 1.22" 
.SH NAZWA
chat \- zautomatyzowany skrypt dialogu z modemem
.SH SKŁADNIA
\fBchat\fP [ \fIopcje\fP ] \fIskrypt\fP
.SH OPIS
.LP
Program \fBchat\fP definiuje wymianę rozmów między komputerem a modemem.  Jego
głównym celem jest zestawianie połączeń pomiędzy demonem Point\-To\-Point
(\fBpppd\fP), a procesem \fBpppd\fP drugiego końca.
.SH OPCJE
.TP 
\fB\-f\fP \fIplik\fP
Odczytuje skrypt rozmowy z pliku \fIplik\fP. Używanie tej opcji wyklucza
parametry skryptowe rozmowy. Użytkownik musi mieć prawa do odczytu tego
pliku.  Dozwolonych jest wiele wierszy w pliku. Do oddzielania napisów
powinny być używana spacja lub tabulacja.
.TP 
\fB\-t\fP \fIczas\-oczekiwania\fP
Ustawia czas oczekiwania dla odbioru oczekiwanego łańcucha. Jeśli łańcuch
nie zostanie odebrany w limicie czasowym, to łańcuch odpowiedzi nie jest
wysyłany. Może być natomiast wysłana alternatywna odpowiedź, lub skrypt może
zostać przerwany w wypadku braku takiej alternatywy. Program \fBchat\fP
zakończy wtedy działanie, zwracając niezerowy kod błędu. Można również podać
łańcuch \fIczas\-oczekiwania\fP, aby go określić.
.TP 
\fB\-r\fP \fIplik\-raportu\fP
Ustaw plik dla wyjścia napisów raportujących. Jeżeli używa się słowa
kluczowego \fBREPORT\fP, napisy wynikowe są zapisywane do tego pliku. Jeśli
opcja ta nie jest używana, można i tak używać słów \fBREPORT\fP, które użyją
pliku \fIstderr\fP.
.TP 
\fB\-e\fP
Zaczyna z włączoną opcją echo. Można ją również włączyć lub wyłączyć w danym
miejscu skryptu chat za pomocą słowa kluczowego \fIECHO\fP. Przy włączeniu
opcji echo, całe wyjście z modemu jest przekierowane na standardowe wyjście
błędów.
.TP 
\fB\-E\fP
Włącza podmianę zmiennych środowiskowych w skryptach chat za pomocą
standardowej składni \fB$\fP\fIxxx\fP
.TP 
\fB\-v\fP
Żąda uruchomienia skryptu \fBchat\fP w trybie szczegółowym. Program \fBchat\fP
będzie wtedy logował wszystkie teksty uzyskane od modemu, a także te, które
sam wysyła. Domyślnie logi wysyłane są do SYSLOG, metodę logowania można
zmienić opcjami \fB\-S\fP lub \fB\-s\fP.
.TP 
\fB\-V\fP
Żąda uruchomienia skryptu \fBchat\fP w trybie szczegółowym, ale na standardowe
wyjście błędów. Program będzie wówczas logował wszelki tekst otrzymany z
modemu i łańcuchy wyjściowe wysyłane do modemu do urządzenia
stderr. Urządzenie to jest zwykle lokalną konsolą stacji uruchamiającej
program chat lub pppd.
.TP 
\fB\-s\fP
Używa standardowego wyjścia błędów. Wszystkie komunikaty loga z \fB\-v\fP wraz z
komunikatami o błędach będą wysyłane na stderr.
.TP 
\fB\-S\fP
Nie używa SYSLOG. Domyślnie, komunikaty o błędach są wysyłane do
SYSLOG\-a. Opcja \fB\-S\fP powoduje, że komunikaty z opcji \fB\-v\fP i wiadomości o
błędach nie będą tam wysyłane.
.TP 
\fB\-T\fP \fInumer telefonu\fP
Przekazuje dowolny łańcuch, zwykle numer telefonu, który zostanie wstawiony
w miejsce metaznaku \eT w wysyłanym łańcuchu.
.TP 
\fB\-U\fP \fInumer telefonu 2\fP
Przekazuje drugi łańcuch, zwykle numer telefonu, który zostanie wstawiony w
miejsce metaznaku \eU w wysyłanym łańcuchu. Jest to przydatne przy
wybieraniu adaptera terminala ISDN wymagającego dwóch numerów.
.TP 
\fBscript\fP
Jeśli skrypt nie jest podany opcją \fI\-f\fP w pliku, to skrypt script jest
włączany jako parametry programu \fBchat\fP.
.SH "SKRYPT ROZMOWY"
.LP
Skrypt rozmowy definiuje komunikację.
.LP
Skrypt składa się z jednej lub większej ilości par napisów
"oczekuj\-wysyłaj", oddzielonych spacjami z ewentualnymi dodatkowymi parami
"podoczekuj\-podwysyłaj", oddzielonymi kreską, jak w przykładzie:
.IP
ogin:\-BREAK\-ogin: ppp ssword: hello2u2
.LP
Znaczy to, że \fBchat\fP powinien oczekiwać napisu "ogin:". Jeśli to zawiedzie
(minie czas oczekiwania), to wysyła na drugi koniec sekwencję przerwania
(break) i oczekuje napisu "ogin:". Jeśli jednak pierwszy "ogin:" zostanie
odebrany, sekwencja przerwania nie jest wysyłana.
.LP
Gdy już uzyskaliśmy znak zachęty logowania, \fIchat\fP spróbuje wysłać napis
ppp i oczekiwać na "ssword:". Gdy go odczyta, to wyśle hasło hello2u2.
.LP
Na zakończenie łańcucha odpowiedzi zwykle wysyłany jest znak powrotu
karetki. Nie jest on oczekiwany w napisie "oczekiwania", chyba że jest
specyficznie wskazany, przez użycie sekwencji \er.
.LP
Sekwencja oczekiwania powinna zawierać tylko to, co potrzebne do
zidentyfikowania łańcucha. Ponieważ normalnie jest przechowywana na dysku,
nie powinna zawierać informacji zmiennych. Generalnie nie jest akceptowane
podglądanie łańcuchów czasu, identyfikacji sieci, lub innych zmiennych jako
sekwencji oczekiwanej.
.LP
Aby pomóc poprawić znaki, które mogą być zmienione w sekwencji początkowej,
oczekuj raczej napisu "ogin:" niż "login:". Jest możliwe, że początkowy znak
będzie odebrany z błędem, a wtedy można nigdy nie znaleźć oczekiwanego
napisu, chociaż został on wysłany przez system. Z tego powodu, skrypty
oczekują "ogin:" zamiast "login:" i "ssword:" zamiast "password".
.LP
Bardzo prosty skrypt może wyglądać następująco:
.IP
ogin: ppp ssword: hello2u2
.LP
Innymi słowy, oczekuj ....ogin:, wyślij ppp, oczekuj ...ssword:, wyślij
hello2u2.
.LP
W rzeczywistości proste skrypty są raczej rzadkie. Powinno się przynajmniej
załączyć sekwencje "pod\-oczekiwania". Proszę na przykład rozważyć
następujący skrypt:
.IP
ogin:\-\-ogin: ppp ssword: hello2u2
.LP
Byłby to lepszy skrypt niż poprzedni. Oczekiwałby na ten sam znak zachęty
login:, lecz gdyby go nie odebrał, wysłałby sekwencję powrotu i oczekiwał
dalej.  Gdyby więc szum linii zniekształcił pierwszy znak zachęty, to
późniejsze przesłanie pustej linii zazwyczaj wygeneruje nowe.
.SH KOMENTARZE
Komentarze można osadzić w skrypcie programu chat. Komentarz to wiersz
zaczynający się znakiem \fB#\fP (kratką) w kolumnie 1. Są ignorowane przez
program chat. Jeśli znak "#" ma znaleźć się jako pierwszy znak oczekiwanej
sekwencji, oczekiwany łańcuch należy ująć w cudzysłów. Aby czekać na zachętę
rozpoczynającą się # (kratką) można użyć składni podobnej do poniższej:
.IP
# Teraz czekaj na zachętę i wyślij łańcuch wylogowania
.br
\&'# ' logout
.LP

.SH "WYSYŁANIE DANYCH Z PLIKU"
Jeśli łańcuch przeznaczony do wysłania zaczyna się małpą (@), to reszta
łańcucha jest traktowana jako nazwa pliku do odczytania, z którego wzięty
jest łańcuch do wysłania. Jeśli ostatnim znakiem odczytanych danych jest
znak nowego wiersza, to jest on usuwany. Plik może być nazwanym potokiem
(lub fifo), a nie tylko zwykłym plikiem. W ten sposób \fBchat\fP może
komunikować się z innym programem np. z programem pytającym użytkownika o
hasło i otrzymującym wpisane hasło.
.LP

.SH "ŁAŃCUCHY PRZERWANIA (ABORT)"
Wiele modemów raportuje status połączenia jako łańcuch. Łańcuchy te to np.
\fBCONNECTED\fP, \fBNO CARRIER\fP, lub \fBBUSY\fP. Często jest właściwym wyłączenie
skryptu, jeśli modem nie połączy się z drugim końcem. Przy jednej próbie
może odebrać \fBBUSY\fP, podczas gdy następnym razem zdarzyć się może \fBNO CARRIER\fP.
.LP
Te łańcuchy "przerywania" mogą być podane w skrypcie przy użyciu sekwencji
\fIABORT\fP. Jest to zapisane w poniższym przykładzie:
.IP
ABORT BUSY ABORT 'NO CARRIER' \*(rq ATZ OK ATDT5551212 CONNECT
.LP
Sekwencja ta nie będzie niczego oczekiwać; później wyśle ATZ. Oczekiwaną
odpowiedzią jest \fIOK\fP. Po odebraniu \fIOK\fP, wysyłany jest łańcuch
ATDT5551212, wykręcający numer telefonu. Oczekiwanym napisem jest
\fICONNECT\fP. Jeśli odebrany zostanie łańcuch \fICONNECT\fP, to reszta skryptu
jest wykonywana. Jednak jeśli modem spotka się z zajętą linią, to wyśle
napis \fIBUSY\fP. Łańcuch ten będzie odpowiadał sekwencji przerwania. Skrypt
wtedy zakończy działanie, ponieważ uzyskał rozkaz przerwania. Podobnie
będzie, gdy skrypt uzyska łańcuch \fINO CARRIER\fP.
.SH "ŁAŃCUCHY CLR_ABORT"
Sekwencja ta pozwala cofnąć wcześniej ustawiony łańcuch \fBABORT\fP. Łańcuchy
\fBABORT\fP są przechowywane w tablicy o z góry zdefiniowanym rozmiarze (w
trakcie kompilacji), \fBCLR_ABORT\fP odzyskają przestrzeń usuniętych wpisów,
dzięki czemu nowe łańcuchy będą mogły jej użyć.
.SH "ŁAŃCUCHY \(dqPOWIEDZ\(dq (SAY)"
Dyrektywa \fBSAY\fP pozwala skryptowi na wysłanie łańcucha do użytkownika i na
terminal przez standardowe wyjście błędów. Jeśli \fBchat\fP został uruchomiony
przez pppd działającego jako demona (odłączonego od kontrolującego go
terminala), to standardowe wyjście błędów jest zwykle przekierowywane do
pliku \fI/etc/ppp/connect\-errors\fP.
.LP
Łańcuchy \fBSAY\fP muszą być ujęte w pojedynczy lub podwójny cudzysłów. Jeśli w
łańcuchu ma pojawić się wyświetlany powrót karetki i wysuw wiersza, to
trzeba dodać je jawnie do łańcucha.
.LP
Łańcuchy SAY można wykorzystać do przekazania wiadomości o postępie w
sekcjach skryptu z włączoną opcją "ECHO OFF", lecz gdzie wciąż istotne jest
powiadomienie użytkownika o tym co się dzieje. Oto przykład:
.IP
ABORT BUSY
.br
ECHO OFF
.br
SAY "Wybieranie numeru dostawcy...\en"
.br
\&\*(rq ATDT5551212
.br
TIMEOUT 120
.br
SAY "Czekanie do 2 minut na połączenie... "
.br
CONNECT \*(rq
.br
SAY "Połączono, teraz nastąpi zalogowanie...\en"
.br
ogin: account
.br
ssword: pass
.br
$ \ec
.br
SAY "OK. Zalogowano...\en" \fIetc ...\fP
.LP
Ta sekwencja wypisze użytkownikowi same łańcuchy SAY, a wszystkie detale
skryptu pozostaną ukryte. W powyższym przykładzie użytkownik zobaczy:
.IP
Wybieranie numeru dostawcy...
.br
Czekanie do 2 minut na połączenie... Połączono, teraz nastąpi zalogowanie...
.br
OK. Zalogowano...
.LP

.SH "ŁAŃCUCHY RAPORTOWE"
Napis raportowy jest bardzo podobny do napisu przerywania. Różnica polega na
tym, że łańcuchy i wszystkie znaki do następującego znaku sterującego,
takiego jak CR, są wypisywane w pliku raportu.
.LP
Łańcuchy raportu mogą być używane do izolowania ze napisu połączenia ciągu
określającego szybkość transmisji i zwracania wartości użytkownikowi.
Analiza logiki napisu raportowego występuje w połączeniu z innym
przetwarzaniem napisu, takim jak podglądanie napisu oczekiwanego. Użycie
tego samego napisu jako przerywający i raportowy, prawdopodobnie nie jest
zbyt użyteczne, jednak jest możliwe.
.LP
Łańcuchy raportowe nie wpływają na kod zakończenia programu.
.LP
Napisy raportowe mogą być podawane w skrypcie przy użyciu sekwencji
\fIREPORT\fP. Jest to zapisywane w skrypcie jak w następującym przykładzie.
.IP
REPORT CONNECT ABORT BUSY \*(rq ATDT5551212 CONNECT \*(rq ogin: account
.LP
Sekwencja ta nie będzie oczekiwać niczego; a potem wyśle napis ATDT5551212,
wykręcający numer telefonu. Oczekiwanym napisem jest \fICONNECT\fP. Jeśli
łańcuch ten jest odebrany, wykonywana jest reszta skryptu. Dodatkowo,
program wydrukuje do oczekującego pliku napis \fICONNECT\fP plus dodatkowo
znaki, które za nim podążały, takie jak szybkość połączenia.
.SH "ŁAŃCUCHY CLR_REPORT"
Sekwencja ta pozwala cofnąć wcześniej ustawiony łańcuch \fBREPORT\fP. Łańcuchy
\fBREPORT\fP są przechowywane w tablicy o z góry zdefiniowanym rozmiarze (w
trakcie kompilacji), \fBCLR_REPORT\fP odzyskają przestrzeń usuniętych wpisów,
dzięki czemu nowe łańcuchy będą mogły jej użyć.
.SH ECHO
Opcje echo kontrolują czy wyjście z modemu jest przekierowywane na
standardowe wyjście błędów. Opcje tę można ustawić za pomocą \fB\-e\fP, lecz
można ją kontrolować również słowem kluczowych \fBECHO\fP. Para
"oczekuj\-wysyłaj" \fBECHO ON\fP włącza ją, a \fBECHO OFF\fP \- wyłącza. Słowo
kluczowe pozwala wybranie części konwersacji która ma być
widoczna. Przykładowo w poniższym skrypcie:
.IP
ABORT 'BUSY'
.br
ABORT 'NO CARRIER'
.br
\&\*(rq ATZ
.br
OK\er\en ATD1234567
.br
\er\en \ec
.br
ECHO ON
.br
CONNECT \ec
.br
ogin: account
.LP
niewidoczne są komunikaty wynikające z konfiguracji modemu i wybierania
numeru, lecz poczynając od wiadomości \fBCONNECT\fP (lub \fBBUSY\fP) wszystko jest
widoczne.
.SH HANGUP
Opcja HANGUP kontroluje, czy rozłączenie modemu ma być traktowane jako błąd,
czy też nie. Przydatne w skryptach do systemów telefonicznych, które
rozłączają się i później oddzwaniają. Opcja HANGUP może być włączona (\fBON\fP)
lub wyłączona (\fBOFF\fP).
.br
Gdy HANGUP jest ustawione na OFF i modem rozłącza się (np. po pierwszej
fazie logowania do systemu oddzwaniającego) \fBchat\fP kontynuuje wykonywanie
skryptu (np. oczekując na połączenie przychodzące i drugą fazę
logowania). Zaraz po zawiązaniu połączenia przychodzącego powinno się użyć
dyrektywy \fBHANGUP ON\fP w celu ponownego przywrócenia zwykłego
zachowania. Oto (prosty) przykładowy skrypt:
.IP
ABORT 'BUSY'
.br
\&\*(rq ATZ
.br
OK\er\en ATD1234567
.br
\er\en \ec
.br
CONNECT \ec
.br
\&'Callback login:' call_back_ID
.br
HANGUP OFF
.br
ABORT "Bad Login"
.br
\&'Callback Password:' Call_back_password
.br
TIMEOUT 120
.br
CONNECT \ec
.br
HANGUP ON
.br
ABORT "NO CARRIER"
.br
ogin:\-\-BREAK\-\-ogin: real_account
.br
\fIetc ...\fP
.LP
.SH "CZAS OCZEKIWANIA"
Początkowa wartość czasu oczekiwania to 45 sekund. Może to być zmienione
przy użyciu parametru \fB\-t\fP. Można również podać "TIMEOUT 0".
.LP
Aby zmienić wartość czasu oczekiwania dla następnego z oczekiwanych napisów,
można użyć następującego przykładu:
.IP
ATZ OK ATDT5551212 CONNECT TIMEOUT 10 ogin:\-\-ogin: TIMEOUT 5 assword:
hello2u2
.LP
Zmieni to czas oczekiwania na 10 sekund podczas oczekiwania zachęty
login:. Następnie czas oczekiwania jest zmieniany na 5 sekund, podczas
oczekiwania na czas oczekiwania password.
.LP
Zmieniony czas oczekiwania pozostaje efektywny aż do następnej zmiany.
.SH "WYSYŁANIE EOT"
Specjalny napis odpowiedzi, \fIEOT\fP, wskazuje, że program chat powinien
wysłać znak EOT na drugi koniec. Normalnie jest to sekwencja End\-of\-file
(koniec pliku). Nie przesyłany jest po niej znak return. EOT można umieścić
w wysyłanym łańcuchu za pomocą sekwencji \fI^D\fP.
.SH "GENEROWANIE PRZERWANIA (BREAK)"
Specjalny łańcuch odpowiedzi, \fIBREAK\fP, spowoduje wysłanie warunku
przerwania. Sygnał ten jest specjalnym sygnałem. Normalną akcją u
odbierającego go jest zmiana szybkości transmisji. Może być używany do
przeskakiwania przez dostępne szybkości transmisji, aż będzie można odebrać
prawidłowy znak zachęty logowania. Przerwanie można umieścić w wysyłanym
łańcuchu za pomocą sekwencji \fI\eK\fP.
.SH "SEKWENCJE UCIECZKI"
Łańcuchy oczekiwania i odpowiedzi mogą zawierać sekwencje
ucieczki. Wszystkie sekwencje są poprawne w łańcuchu odpowiedzi. Wiele jest
prawidłowe w napisie oczekiwania. Te, które nie są poprawne w sekwencji
oczekiwania, są zaznaczone.
.TP 
\&\fB\*(rq\fP
Oczekuje lub wysyła łańcuch zerowy. W takim przypadku wysyłany jest znak
return. Sekwencja ta może być zarówno parą apostrofów, jak i cudzysłowów.
.TP 
\fB\eb\fP
reprezentuje znak backspace.
.TP 
\fB\ec\fP
Powstrzymuje generowanie nowego wiersza na końcu łańcucha odpowiedzi. Jest
to jedyna metoda wysyłania napisu bez kończącego go znaku return. Musi być
wysyłana na końcu napisu. Na przykład sekwencja hello\ec prześle po prostu
znaki h, e, l, l, o.  \fI(nieprawidłowe w łańcuchu oczekiwania)\fP.
.TP 
\fB\ed\fP
Zatrzymuje się na sekundę. Program używa sleep(1), który zatrzyma się
maksymalnie na sekundę.  \fI(nieprawidłowe w łańcuchu oczekiwania)\fP
.TP 
\fB\eK\fP
Wstawia BREAK \fI(nieprawidłowe w łańcuchu oczekiwania)\fP
.TP 
\fB\en\fP
Przesyła znak nowego wiersza lub powrotu wysuwu wiersza.
.TP 
\fB\eN\fP
Przesyła znak null. Ta sama sekwencja może być reprezentowana przez \e0.
\fI(nieprawidłowe w łańcuchu oczekiwania)\fP
.TP 
\fB\ep\fP
Pauzuje na część sekundy. Opóźnienie wynosi 1/10 sekundy.  \fI(nieprawidłowe w łańuchu oczekiwania)\fP
.TP 
\fB\eq\fP
Zabrania zapisywania napisu do pliku SYSLOG. Do dziennika w jego miejscu
wpisywany jest napis ???????.    \fI(nieprawidłowe w łańuchu oczekiwania)\fP
.TP 
\fB\er\fP
Wysyła lub oczekuje znak powrotu karetki.
.TP 
\fB\es\fP
Reprezentuje znak spacji w łańuchu. Może to być używane, gdy nie jest
pożądanym cytowanie łańcuchów zawierających spacje. Sekwencje 'HI TIM' i
HI\esTIM są identyczne.
.TP 
\fB\et\fP
Wysyła lub oczekuje znaku tabulacji.
.TP 
\fB\eT\fP
Wysyła łańcuch numeru telefonu podany opcją \fB\-T\fP. \fI(nieprawidłowe w łańuchu oczekiwania)\fP
.TP 
\fB\eU\fP
Wysyła łańcuch numeru telefonu 2 podany opcją \fB\-U\fP. \fI(nieprawidłowe w łańuchu oczekiwania)\fP
.TP 
\fB\e\e\fP
Wysyła lub oczekuje znak odwrotnego ukośnika.
.TP 
\fB\eddd\fP
Przekształca ósemkowe cyfry (ddd) w pojedynczy znak ASCII i wysyła ten
znak.  \fI(niektóre znaki nie są używane w sekwencji oczekiwania)\fP
.TP 
\fB\^^C\fP
Podmienia sekwencję znakiem sterującym (z Ctrl) reprezentowanym przez C.  Na
przykład znak DC1 (17) jest pokazywany jako \^^Q.  \fI(niektóre znaki nie są używane w sekwencji oczekiwania)\fP
.SH "ZMIENNE ŚRODOWISKOWE"
Zmienne środowiskowe są dostępne w skryptach chat, jeśli w wierszu polecenia
podano opcję \fB\-E\fP. Metaznak \fI$\fP jest używany do wprowadzenia nazwy
zmiennej środowiskowej do podmiany. Jeśli zamiana zawiedzie, ponieważ taka
zmienna nie jest ustawiona, \fInic\fP nie jest zamieniane zmienną.
.SH "KODY ZAKOŃCZENIA"
Program \fBchat\fP kończy swoje działanie z następującymi kodami wyjścia.
.TP 
\fB0\fP
Normalne zakończenie programu. Znaczy to, że skrypt został wykonany bez
błędów.
.TP 
\fB1\fP
Jeden, lub więcej parametrów było nieprawidłowych, lub napis oczekiwania był
zbyt duży dla buforów wewnętrznych. Wskazuje to, że program nie był
prawidłowo uruchomiony.
.TP 
\fB2\fP
Pojawił się błąd podczas uruchomiania programu. Może to być spowodowane
błędem operacji odczytu lub zapisu, lub odebraniem przez program sygnału
takiego, jak SIGINT.
.TP 
\fB3\fP
Nastąpiło minięcie czasu oczekiwania dla napisu oczekiwania, który nie miał
napisu "pod\-wysłania". Może to oznaczać, że nie zaprogramowano właściwie
skryptu na ten warunek, lub że pojawiło się jakieś nieoczekiwane zdarzenie i
oczekiwany napis nie mógł zostać znaleziony.
.TP 
\fB4\fP
Pojawił się pierwszy łańcuch oznaczony jako warunek \fIABORT\fP.
.TP 
\fB5\fP
Pojawił się drugi łańcuch oznaczony jako warunek \fIABORT\fP.
.TP 
\fB6\fP
Pojawił się trzeci łańcuch oznaczony jako warunek \fIABORT\fP.
.TP 
\fB7\fP
Pojawił się czwarty łańcuch oznaczony jako warunek \fIABORT\fP.
.TP 
\&\fB...\fP
Inne kody wyjścia są również łańcuchami oznaczonymi jako \fIABORT\fP.
.LP
Używając kodu wyjścia, możliwym jest określenie, które zdarzenie zakończyło
skrypt. Jest możliwym określenie czy modem otrzymał np. napis "BUSY" czy "NO
DIAL TONE". Podczas gdy pierwsze zdarzenie wymaga drugiej próby, drugie w
ten sposób może mieć mniejsze szanse.
.SH "ZOBACZ TAKŻE"
Dodatkowe informacje o skryptach \fBchat\fP można znaleźć w dokumentacji
UUCP. Skrypty programu \fBchat\fP powstały z idei zaproponowanych przy skrypt
programu \fBuucico\fP.
.LP
uucico(1), uucp(1)
.SH PRAWA\ AUTORSKIE
Program \fBchat\fP jest znajduje się w domenie publicznej. Nie jest to
publiczna licencja GNU. Autorzy nie udzielają żadnej gwarancji.
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Przemek Borys <pborys@dione.ids.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
