Provided by: manpages-pl_20051117-1_all bug

NAZWA

     getopt - analizuj opcje linii komend

SKŁADNIA

     set -- `getopt optstring $*`

OPIS

     Getopt jest używany do rozbijania opcji w liniach komend dla łatwej
     analizy przez procedury powłokowe i do sprawdzania istnienia opcji
     legalnych.  [Optstring] jest ciągiem rozpoznawalnych liter opcyjnych
     (zobacz getopt(3) ); jeśli po literze następuje dwukropek, opcja ma w
     domyśle argument, który może, lecz nie musi być oddzielony od niej białą
     spacją.  Opcja specjalna -- używana jest do wskazania końca opcji.  Jeśli
     symbolu -- nie wstawiono w ciąg opcji jawnie, getopt podstawia
     automatycznie ten znak na samym końcu opcji.  Argumenty powłokowe ($1 $2
     ...) są resetowane tak, że każda opcja jest poprzedzona znakiem - i w
     swoim własnym argumencie powłokowym; każdy argument opcyjny jest także w
     swoim własnym argumencie powłokowym.

PRZYKŁAD

     Następujący fragment kodu pokazuje jak można przetworzyć argumenty
     komendy, która może pobierać opcje [a] i [b], a także opcję [o], która
     wymaga argumentu.

           set -- `getopt abo: $*`
           if test $? != 0
           then
                   echo 'Użycie: ...'
                   exit 2
           fi
           for i
           do
                   case "$i"
                   in
                           -a|-b)
                                   flag=$i; shift;;
                           -o)
                                   oarg=$2; shift; shift;;
                           --)
                                   shift; break;;
                   esac
           done

     Kod ten przyjmie dowolne opcje z następujących jako identyczne:

           cmd -aoarg plik plik
           cmd -a -o arg plik plik
           cmd -oarg -a plik plik
           cmd -a -oarg -- plik plik

ZOBACZ TAKŻE

     sh(1), getopt(3)

DIAGNOSTYKA

     Getopt drukuje wiadomość o błędzie, jeśli napotka literę opcyjną
     niezałączoną w napisie [optstring].

HISTORIA

     Napisane przez Henry'ego Spencera, pracującego na podstawie strony man
     Bell Labs. Zachowanie powinno być identyczne jak w wersji Bell.

BŁĘDY

     Takie same jak w getopt(3).

     Argumenty zawierające białe spacje, lub załączone metaznaki powłoki nie
     przeżyją nienaruszone; wygląda to na łatwy do naprawienia błąd, lecz tak
     nie jest.

     Wiadomość o błędzie dla nieprawidłowej opcji jest wskazywana jako
     pochodząca z programu getopt a nie z procedury powłokowej, zawierającej
     wywołanie getopt; jest to znowu trudne do naprawienia.

     Najlepsza droga, czyli set , do ustawiania argumentów bez rozrywania
     wartości opcji powłokowych zmienia się z jednej wersji powłoki na inną.