getopt(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '== NAMN == getopt - tolka kommandoradsflaggor (utökad) == SYNOPS == getopt optstrang parametrar getopt [flaggor] [--] optstrang parametrar getopt [flaggor] -o|--options optstrang [flaggor] [--] parametrar == BESKRIVNING == getopt används för att dela upp ("tolka") flaggor i kommandorader för att underlätta tolkning i skalskript och kontrollera giltiga flaggor. Den använder GNU:s getopt(3)-funktioner. Parametrarna till getopt delas upp i två delar: flaggor som...') |
(Ingen skillnad)
|
Nuvarande version från 7 april 2025 kl. 06.21
NAMN
getopt - tolka kommandoradsflaggor (utökad)
SYNOPS
getopt optstrang parametrar
getopt [flaggor] [--] optstrang parametrar
getopt [flaggor] -o|--options optstrang [flaggor] [--] parametrar
BESKRIVNING
getopt används för att dela upp ("tolka") flaggor i kommandorader för att underlätta tolkning i skalskript och kontrollera giltiga flaggor. Den använder GNU:s getopt(3)-funktioner.
Parametrarna till getopt delas upp i två delar: flaggor som styr hur getopt fungerar, och de parametrar som ska tolkas. Om inget -o/--options anges tolkas första icke-flagga som optsträngen.
Om miljövariabeln GETOPT_COMPATIBLE är satt, eller om första parametern inte börjar med "-", används kompatibilitetsläge med andra getopt-implementationer.
Traditionella versioner av getopt(1) klarar inte mellanslag och specialtecken. Denna version kan generera citerad utdata som bevarar sådana tecken, men kräver att skalen tolkar resultatet (t.ex. via eval). För att kontrollera att detta är den utökade versionen, använd flaggan -T.
FLAGGOR
-a, --alternative
Tillåt långa flaggor att börja med ett enda "-".
-l, --longoptions namn1,namn2,...
Definiera tillåtna långa flaggor. Kolon (:) efter namn indikerar att flaggan har ett obligatoriskt argument, två kolon (::) att det är valfritt.
-n, --name namn
Använd detta namn i felmeddelanden.
-o, --options optstrang
Lista av korta flaggor. Kolon efter bokstav anger obligatoriskt argument, två kolon valfritt. Inledande "+" eller "-" styr tolkning (se "SKANNINGSLÄGEN").
-q, --quiet
Inaktivera felmeddelanden från getopt(3).
-Q, --quiet-output
Generera ingen normal utdata.
-s, --shell skal
Ange skal för citering. Standard är bash. Möjliga värden: sh, bash, csh, tcsh.
-T, --test
Testa om getopt är den utökade versionen. Returnerar felkod 4.
-u, --unquoted
Avaktivera citering i utdata.
-h, --help
Visa hjälptext.
-V, --version
Visa versionsinformation.
TOLKNING
Parametrar tolkas från vänster till höger. Varje flagga identifieras och associeras med eventuella argument. Kort flagga: "-" följt av tecken. Lång flagga: "--" följt av namn. Argument kan följa direkt eller som nästa parameter. Parametrar efter "--" tolkas alltid som vanliga argument.
UTDATA
Utdata genereras i samma ordning som indatans flaggor, förutom vanliga argument som kommer sist efter "--", om inte optsträngen börjar med "-". Kort flagga genererar en parameter, eventuellt följt av ett argument. Lång flagga genererar "--namn" och eventuellt ett argument.
CITERING
Vid aktivering av citering omsluts varje element i utdata med citattecken. Detta möjliggör korrekt hantering av mellanslag och specialtecken i flaggor och argument. Skal-specifik citering stöds för sh, bash, csh och tcsh.
SKANNINGSLÄGEN
Inleds optsträngen med "+" eller om POSIXLY_CORRECT är satt, tolkas första icke-flagga som gräns: resterande tolkas som argument. Om optsträngen börjar med "-", skrivs icke-flaggor ut där de hittas, inte sist.
KOMPATIBILITET
getopt försöker vara kompatibel med andra implementationer. Om första parametern inte börjar med "-" tolkas den som optsträng och getopt går i kompatibilitetsläge. GETOPT_COMPATIBLE och POSIXLY_CORRECT styr detta beteende ytterligare.
RETURVÄRDEN
0: Tolkning lyckades 1: getopt(3) fel 2: getopt förstod inte egna parametrar 3: Internt fel (t.ex. minnesbrist) 4: -T användes (test)
EXEMPEL
Exempelskript för (ba)sh och (t)csh finns i katalogen /usr/share/doc/util-linux.
MILJÖVARIABLER
POSIXLY_CORRECT
Stoppar tolkning vid första argument som inte är en flagga.
GETOPT_COMPATIBLE
Tvingar getopt att använda kompatibilitetsläge.
FEL
getopt(3) tillåter tomma argument för långa flaggor med valfritt argument, men inte för korta. Detta getopt tolkar ett tomt argument som att det saknas.
FÖRFATTARE
Frodo Looijaard <frodo@frodo.looijaard.name>
SE ÄVEN
FELRAPPORTERING
Rapportera fel till: https://github.com/util-linux/util-linux/issues
TILLGÄNGLIGHET
Kommandot getopt är en del av paketet util-linux: https://www.kernel.org/pub/linux/utils/util-linux/
Denna manualsida är del av util-linux.