Bashgetopts: parsing intelligente dei parametri posizionali


Sintassi

  • getopts nome optstring [args]

Parametri

Parametro Dettaglio
optstring I caratteri opzione da riconoscere
nome Quindi nominare dove è stata memorizzata l'opzione analizzata

Osservazioni

Opzioni

optstring : i caratteri opzione da riconoscere

Se un carattere è seguito da due punti, l'opzione dovrebbe avere un argomento, che dovrebbe essere separato da esso da uno spazio bianco. I due punti ( : ) (e il punto interrogativo ? ) Non possono essere utilizzati come caratteri di opzione.

Ogni volta che viene invocato, getopts inserisce l'opzione successiva nel nome della variabile della shell, nel nome di inizializzazione se non esiste e nell'indice dell'argomento successivo da elaborare nella variabile OPTIND . OPTIND è inizializzato a 1 ogni volta che viene invocata la shell o uno script di shell.

Quando un'opzione richiede un argomento, getopts colloca tale argomento nella variabile OPTARG . La shell non resetta automaticamente OPTIND ; deve essere ripristinato manualmente tra più chiamate a getopts all'interno della stessa chiamata di shell se deve essere utilizzato un nuovo set di parametri.

Quando si verifica la fine delle opzioni, getopts viene getopts con un valore di ritorno maggiore di zero.

OPTIND è impostato sull'indice del primo argomento non opzionale e il nome è impostato su ? . getopts normalmente analizza i parametri posizionali, ma se vengono forniti più argomenti in args , getopts analizza invece.

getopts può segnalare errori in due modi. Se il primo carattere di optstring è due punti ( : ), è usata la segnalazione di errori in silenzio. Durante il normale funzionamento, i messaggi di diagnostica vengono stampati quando si incontrano opzioni non valide o argomenti di opzioni mancanti.

Se la variabile OPTERR è impostata su 0 , non verranno visualizzati messaggi di errore, anche se il primo carattere di optstring non è un due punti.

Se viene visualizzata un'opzione non valida, getopts places ? nel name e, se non silenzioso, stampa un messaggio di errore e disattiva OPTARG . Se getopts è silenzioso, il carattere dell'opzione trovato viene inserito in OPTARG e non viene stampato alcun messaggio di diagnostica.

Se non viene trovato un argomento obbligatorio e getopts non è silenzioso, viene inserito un punto interrogativo ( ? ) Nel name , OPTARG non è impostato e viene stampato un messaggio di diagnostica. Se getopts è in silenzio, poi i due punti ( : ) è posto in nome e OPTARG è impostato sul carattere di opzione.

getopts: parsing intelligente dei parametri posizionali Esempi correlati