Nel manuale GNU per tar
, c'è il seguente esempio per mostrare che l'ordine delle opzioni è importante:
tar -cfv collection.tar blues folk jazz
In questo caso, perché v
è posizionato dopo f
, quindi l'archivio tar sarà denominato “v” e tar
proverà ad aggiungere collection.tar
all'archivio se esiste nella directory corrente. Ma se ometto il -
dall'inizio, quindi, il comando funziona come vorremmo, nonostante v
essere posizionato dopo f
. Perché?
Risposta accettata:
Perché è così che funzionano i diversi stili di opzione e si comportano in modo diverso.
La pagina man indica per UNIX o lo stile delle opzioni brevi , quello a cui è preceduto un singolo trattino.
Qualsiasi numero di opzioni che non accettano argomenti possono essere raggruppate insieme dopo un singolo trattino, ad es. -vkp. Le opzioni che accettano argomenti (obbligatori o facoltativi), possono apparire alla fine di un tale cluster, ad es. -vkpf a.tar.
Lo stile dell'opzione stile tradizionale , quello senza trattini:
Nello stile tradizionale, il primo argomento è un gruppo di lettere di opzione e tutti gli argomenti successivi forniscono argomenti a quelle opzioni che li richiedono. Gli argomenti vengono letti nello stesso ordine delle lettere dell'opzione. Tutte le parole della riga di comando che rimangono dopo che tutte le opzioni sono state elaborate vengono trattate come argomenti non facoltativi:nomi di membri di file o archivi.
Come puoi vedere, lo UNIX o lo stile delle opzioni brevi si aspetta argomenti per le opzioni subito dopo l'opzione.
Mentre lo stile di opzione stile tradizionale si aspetta un blocco di opzioni e argomenti adeguati alle opzioni nel giusto ordine.