Come creare uno script di bash menu

Come creare uno script di bash menu
Negli script bash, sembrano esserci vari modi per accettare i dati dall'utente. Consentire ai partecipanti di inserire l'input, d'altra parte, potrebbe causare alcuni problemi. La difficoltà principale è l'integrità dei dati, che richiede di prendere in considerazione tutti i potenziali input. La creazione di un pannello a scelta multipla per il codice bash è un modo semplice per tutto questo. Per utilizzare questo approccio, è possibile costruire un set semplice e predefinito da cui l'utente può selezionare. In questo breve tutorial, esamineremo come realizzare un menu di opzioni di base di base all'interno degli script bash per utilizzare una struttura selezionata e clausole tramite Ubuntu 20.04 Terminale di sistema.

Esempio 01

Innanzitutto, facciamo un semplice esempio per elaborare e vediamo come un utente può creare un menu nello script bash all'interno di Ubuntu 20.04 Sistema. Abbiamo aperto la shell del terminale con l'aiuto di un collegamento del comando "Ctrl+Alt+T" su Ubuntu 20.04 schermo desktop. Il terminale verrà aperto in pochi secondi.

Dopo aver lanciato correttamente il terminale, crea un nuovo file bash chiamato "menu.sh "usando l'istruzione" tocco "per questo scopo. Lo abbiamo aperto in un editor GNU Nano usando il comando "Nano" nella shell secondo l'immagine di output sotto.

menu $ touch.sh
$ nano menu.sh

Poiché il file viene aperto nell'editor Nano, creiamo un codice bash per creare un menu. In primo luogo, aggiungi il supporto bash nella parte superiore di un file, i.e., "##!/bin/bash ". La variabile integrata "PS3" è stata utilizzata qui per chiedere all'utente di inserire la propria scelta.

La variabile salverà il numero di scelta dell'utente e lo utilizzerà all'interno della struttura selezionata. Quindi, utilizziamo la struttura "Seleziona" per ottenere il valore da un array di stringhe usando il numero dell'indice, i.e., Scelta selezionata da un utente. Se la scelta corrisponde, l'istruzione DO visualizzerà il valore selezionato da un utente e visualizzerà il numero dell'indice selezionato dall'utente sul terminale. L'iteratore della variabile "$ i" viene utilizzato qui per ottenere il valore e la variabile "$ rispondi" integrata viene utilizzata per ottenere l'opzione indice.

Salva il codice bash appena creato nel file utilizzando il tasto "ctrl+s" e lascia il file con il collegamento "ctrl+x". Ora siamo stati restituiti al terminale. Eseguiamo il file bash appena realizzato per vedere i risultati.

Per questo, utilizzare il comando "bash" insieme al nome di un file come di seguito. L'output mostra prima 5 opzioni al terminale. L'utente deve sceglierne uno. La prima volta, l'utente ha scelto 3 e ha ottenuto "William" come valore, e la seconda volta ha ottenuto "John" quando ha inserito il valore 1 nella shell del terminale come input. Smetti di correre tramite il collegamento "Ctrl+Z".

$ Bash Menu.sh

Esempio 02

Come puoi vedere, l'esempio sopra non copre l'opzione di abbandonare il menu quando si tratta di scegliere un'opzione. Quindi, nel nostro prossimo esempio, copriremo anche le opzioni di smettere. Per aggiornare il codice, aprire il menu "Bash File".sh". Dopo averlo aperto, non è necessario modificare il supporto bash e la variabile "PS3" in quanto continueranno ad essere usati come lo stesso.

D'altra parte, è necessario aggiungere ulteriori righe di codice. Creeremo un menu per consentire ai nostri utenti di eseguire operazioni matematiche. A tale scopo, utilizzeremo le dichiarazioni dei casi nella struttura "seleziona". Dopo la variabile "PS3", abbiamo dichiarato un elenco di stringhe con 5 diversi valori in essa. Ciascuno dei valori di un elenco rappresenta 1 operazione matematica.

Puoi vedere che l'elenco contiene anche l'opzione "smettere" per lasciare il menu dopo essere stato selezionato da un utente. L'elenco verrà utilizzato come menu. La struttura selezionata viene utilizzata qui. Questa struttura selezionata utilizza il valore, i.e., Valore "PS3", per cercare l'opzione da un elenco, i.e., "Cal".

Dopo aver cercato l'opzione da un elenco, l'opzione del caso verrà abbinata alle opzioni elencate del numero dell'indice. Quindi, l'opzione particolare dall'istruzione Case verrà eseguita e il calcolo verrà eseguito. Se l'utente inserisce 1, il caso "Sum" verrà eseguito. All'interno di ogni caso, sono state utilizzate due dichiarazioni di lettura per eseguire calcoli. Successivamente, l'istruzione Echo utilizzerà entrambe le variabili per eseguire l'operazione richiesta su entrambe le variabili e il display. Il caso della somma si chiude qui e altri casi saranno avviati.

Se un utente inserisce 2, il caso "Invia" verrà eseguito per calcolare la sottrazione di due numeri interi inseriti da un utente utilizzando l'operatore "-". L'opzione "Div" verrà eseguita quando un utente inserisce 3 come opzione e divide entrambi i numeri interi utilizzando il segno "/". Il 4th L'opzione viene chiamata quando l'utente aggiunge 4 come input e la moltiplicazione verrà eseguita utilizzando l'operatore "*".

Finalmente, l'istruzione SELECT eseguirà il caso "ESCIA" quando un utente inserisce 5 come input. SCOT CASE Viene visualizzato il messaggio che il menu è stato esistente e interromperà ulteriormente l'esecuzione di un codice con l'aiuto di una parola chiave di interruzione in esso. Se un utente inserisce il numero di opzione sbagliato, i.e., Oltre a 1 a 5, visualizzerà il messaggio che l'utente ha inserito la scelta non valida.

Quando esegui il codice, mostrerà 5 opzioni di menu. L'utente ha aggiunto 1 come scelta ed è entrato nel caso "somma". Quindi, aggiunto due numeri interi e ha ottenuto la somma di entrambi. Quindi, tutte le altre opzioni sono state eseguite. Finalmente, l'opzione di smettere è stata chiamata per uscire dal menu.

$ Bash Menu.sh

Conclusione

Questo articolo contiene illustrazioni molto semplici e comprensibili per creare un menu nel terminale con l'aiuto di uno script bash. Abbiamo utilizzato la struttura selezionata, le dichiarazioni dei casi, la variabile PS3 ed elenco per ottenere il risultato di qualità.