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
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ą.
INFORMACJE O TŁUMACZENIU
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/.