Comandi Linux

Esempio di getopts di Linux

Esempio di getopts di Linux
"getopts" è un comando molto utile in Linux che è per lo più incorporato negli script bash per prendere flag e argomenti come input dall'utente. Per approfondire ulteriormente l'utilizzo di questo comando in Linux Mint 20, condivideremo con te due diversi esempi del suo utilizzo in questo articolo.

Esempi di "getopts" in Linux Mint 20:

Per una comprensione più semplice e migliore del comando "getopts" in Linux Mint 20, abbiamo progettato per te due scenari di esempio. Prima di passare a questi scenari, puoi consultare il manuale di aiuto del comando "getopts" nel terminale Linux Mint 20 in modo da poter avere un'idea di base sulla sintassi di questo comando. Puoi vedere il manuale di aiuto di questo comando eseguendo il comando "help":

$ getopts --help

Il manuale di aiuto del comando "getopts", conterrà una breve descrizione dell'utilizzo di questo comando insieme alla sua sintassi come mostrato nell'immagine seguente:

Ora, quando abbiamo esaminato il manuale di aiuto del comando "getopts", possiamo procedere con i nostri scenari di esempio come segue:

Caso n. 1: passaggio di flag a uno script Bash per la sua esecuzione in Linux Mint 20:

In questo esempio, creeremo uno script bash che prenderà un flag come input dall'utente insieme al comando di esecuzione di quello script bash. A seconda del valore del flag fornito, verrà visualizzato il rispettivo output. La descrizione dettagliata dei passaggi coinvolti in questo scenario è la seguente:

Passaggio n. 1: scrittura di uno script Bash:

Per prima cosa, scriveremo uno script bash nella nostra directory Home. Abbiamo chiamato questo file come getopts.sh. Il contenuto di questo script bash è mostrato nell'immagine qui sotto. Nello script bash mostrato di seguito, abbiamo un ciclo "while" che viene eseguito sul comando "getopts". Qui, questo comando "getopts" viene utilizzato per prendere un flag come input dall'utente. Il valore di questo flag può essere "r", "y" o "g" che rappresentano rispettivamente i colori "rosso", "giallo" e "verde". La variabile “option” verrà utilizzata per memorizzare il valore del flag fornito dall'utente. Quindi abbiamo utilizzato una dichiarazione "case" sul valore del flag fornito che visualizzerà un messaggio personalizzato a seconda del valore del flag "option". Infine, abbiamo chiuso il blocco “case” con l'istruzione “esac” e il blocco “do” con l'istruzione “done”.

Passaggio n. 2: test dello script Bash:

Dopo aver creato e salvato il nostro script bash, ora è il momento di eseguirlo. Testeremo tutti i casi uno per uno. Innanzitutto, eseguiremo lo script bash con il flag "-r" per vedere se produce l'output corretto o meno nel modo seguente:

$ bash getopts.sh-r

L'output personalizzato del nostro script bash con il flag "-r" è mostrato nell'immagine qui sotto:

Ora, eseguiremo lo script bash con il flag "-y" per vedere se produce l'output corretto o meno nel modo seguente:

$ bash getopts.timido

L'output personalizzato del nostro script bash con il flag "-y" è mostrato nell'immagine qui sotto:

Ora, eseguiremo lo script bash con il flag "-g" per vedere se produce l'output corretto o meno nel modo seguente:

$ bash getopts.sh -g

L'output personalizzato del nostro script bash con il flag "-g" è mostrato nell'immagine qui sotto:

Infine, eseguiremo il nostro script bash con qualsiasi flag casuale, i.e. un flag non valido o un flag non menzionato nel nostro script bash dice "-a" nel modo seguente:

$ bash getopts.sh -a

Questa volta, è stato eseguito il caso predefinito del nostro script bash che ha visualizzato un messaggio di errore poiché abbiamo utilizzato un flag non valido.

Caso n. 2: passaggio di flag insieme ad argomenti a uno script Bash per la sua esecuzione in Linux Mint 20:

In questo esempio, creeremo uno script bash che prenderà un flag e un argomento come input dall'utente insieme al comando di esecuzione di quello script bash. A seconda del valore del flag e dell'argomento forniti, verrà prodotto il rispettivo output. La descrizione dettagliata dei passaggi coinvolti in questo scenario è la seguente:

Passaggio n. 1: scrittura di uno script Bash:

Lo script bash utilizzato per questo caso è mostrato nell'immagine sottostante ed è molto simile a quello che abbiamo creato per il nostro caso n. 1. L'unica differenza è che questa volta non consentiamo più flag. L'utente può solo inserire il flag “-r”. Tuttavia, i due punti ":" dopo il flag "r" nello script bash indicano che l'utente dovrebbe anche fornire un argomento insieme al flag. Questo argomento verrà memorizzato nella variabile "OPTARG" predefinita. Per visualizzare il valore dell'argomento fornito con il comando “echo”, abbiamo utilizzato un simbolo “$” prima della variabile “OPTARG”.

Passaggio n. 2: test dello script Bash:

Dopo aver salvato questo script bash, ora è il momento di testarlo. Ancora una volta, testeremo tutti i casi uno per uno. Innanzitutto, eseguiremo lo script bash con il flag "-r" e un argomento di esempio "black" per vedere se produce l'output corretto o meno nel modo seguente:

$ bash getopts.sh -r nero

L'output personalizzato del nostro script bash con il flag "-r" e l'argomento "black" è mostrato nell'immagine seguente:

Ora testeremo questo script con un flag non valido e un argomento valido nel modo seguente:

$ bash getopts.sh -a nero

Questa volta, è stato eseguito il caso predefinito del nostro script bash che ha visualizzato un messaggio di errore poiché abbiamo utilizzato un flag non valido.

Ora, eseguiremo questo script bash omettendo il flag e passando semplicemente un argomento valido nel modo seguente:

$ bash getopts.sh nero

Questa volta, non verrà prodotto alcun output sul terminale o, in altre parole, il nostro script bash non verrà eseguito poiché abbiamo saltato un flag obbligatorio.

Infine, eseguiremo questo script bash omettendo l'argomento e passando semplicemente il flag valido nel modo seguente:

$ bash getopts.sh-r

Anche questa volta, è stato eseguito il caso predefinito del nostro script bash che ha mostrato un messaggio di errore poiché abbiamo saltato l'argomento obbligatorio.

Conclusione:

Questi due esempi sono una rappresentazione molto bella dell'utilizzo del comando "getopts" in uno script bash in Linux Mint 20. Puoi persino creare scenari più complessi in bash e abbinarli al comando "getopts" per prendere più di un argomento e flag dall'utente come input.

Come mostrare il contatore FPS nei giochi Linux
I giochi Linux hanno avuto una grande spinta quando Valve ha annunciato il supporto Linux per il client Steam e i loro giochi nel 2012. Da allora, mol...
Come scaricare e giocare a Sid Meier's Civilization VI su Linux
Introduzione al gioco Civilization 6 è una versione moderna del concetto classico introdotto nella serie dei giochi Age of Empires. L'idea era abbasta...
Come installare e giocare a Doom su Linux
Introduzione a Doom La serie Doom è nata negli anni '90 dopo l'uscita dell'originale Doom. È stato un successo immediato e da quel momento in poi la s...