getopt

Autres langues

Langue: pl

Autres versions - même langue

Version: 55368 (openSuse - 09/10/07)

Autres sections - même nom

Section: 1 (Commandes utilisateur)


BSD mandoc

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±gniem 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æ arumenty 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 dowone 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).

Arugmenty 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±.