NAZWA¶
getopt —
analizuj opcje linii
komend
SKŁADNIA¶
set -- `getopt optstring $*`
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
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ą.
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
man --locale=C 1 getopt
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.