Provided by:
manpages-pl_20060617-2_all 
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ą.