getopt(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(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

bash(1), tcsh(1), getopt(3)

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.