Comando Bash Case

Comando Bash Case

Il comando Bash Case viene utilizzato per intraprendere un'azione corretta confrontando i dati come l'istruzione IF. Funziona come una dichiarazione di switch-case di altri linguaggi di programmazione standard. Questo comando inizia con l'affermazione "Caso" e chiude dall'istruzione "ESAC". Non viene utilizzata alcuna dichiarazione di interruzione nel comando del caso e nella doppia fascia (;;) è necessario menzionare le dichiarazioni per qualsiasi corrispondenza particolare. Questo comando espande l'espressione e cerca di abbinare il modello dato e il codice di stato di uscita di questo comando sarà zero se non verrà trovata alcuna corrispondenza. Alcuni esempi comuni di dichiarazioni dei casi sono mostrati in questo tutorial.

Esempio-1: Dichiarazione del caso semplice

Una singola espressione condizionale viene utilizzata nel comando Bash Case per generare l'output in base alla condizione di corrispondenza. Crea un file bash denominato caso 1.sh Con il seguente script bash. Lo script prenderà un valore di stringa e corrisponderà al valore con ogni espressione. Il seguente script genererà "nessuna voce trovata" se non esiste un'espressione corrispondente,
caso 1.sh

#!/Bin/Bash
Echo "Digita il tuo nome"
Leggi il nome
Caso $ Nome in
Sì)
echo "Il tuo colore preferito è blu" ;;
Fahmida)
echo "La tua bevanda preferita è sprite" ;;
*)
echo "nessuna voce trovata" ;;
Esac

Esegui lo script.

$ Bash Case1.sh

Produzione:

Il file viene eseguito con un input valido e non valido qui per testare l'output.

Esempio 2: istruzione più casi con tubo

Espressioni più casi possono essere applicate nello script bash per eseguire diversi tipi di istruzioni. Il simbolo Pipe (|) può essere utilizzato per assegnare le espressioni multiple. Crea un file bash denominato caso2.sh Con il seguente script. Dopo aver eseguito lo script, se il valore di input corrisponde a qualsiasi espressione, verrà stampato il valore di testo corrispondente.
caso2.sh

#!/Bin/Bash
Echo "Digita il tuo numero ID"
Leggi ID
Caso $ id in
65341)
echo "La tua posizione è 1 °" ;;
97564 | 88453)
echo "La tua posizione è 2a" ;;
45087)
echo "La tua posizione è 3a" ;;
*)
echo "ID non valido" ;;
Esac

Esegui lo script .

$ Bash Case2.sh

Produzione:

Questo script funziona anche come l'esempio precedente. L'unica differenza è che i valori di espressione multipla vengono testati per un singolo output.

Esempio-3: come smettere dal blocco di istruzione Case/ESAC

Quando il comando Bash Case viene utilizzato sotto un ciclo infinito, è necessario utilizzare il comando di uscita per terminare il ciclo. Questo esempio mostra come fare questi tipi di attività. Crea un file di testo denominato Caso3.sh Con il seguente script. Questo script prenderà qualsiasi numero da 1 a 3 come input. Se l'ingresso è 1, verranno aggiunti due numeri, se l'ingresso è 2, verranno sottratti due numeri e se il numero di input è 3, due numeri verranno moltiplicati. L'output sarà "voce non valida" se il numero di input è superiore a 3 o meno di 1 o vuoto.
Caso3.sh

#!/Bin/Bash
#!/Bin/Bash
mentre (vero)
Fare
a = 8
B = 4
((x = $ a+$ b))
((y = $ a- $ b))
((z = $ a*$ b))
Echo "Tipo 1 o 2 o 3"
Leggi Ans
Caso $ ans in
1) Echo "La somma di $ a e $ b è $ x & ust" ;;
2) Echo "La sottrazione di $ a e $ b è $ y & ust" ;;
3) Echo "La moltiplicazione di $ A e $ B è $ Z & Exit" ;;
*) echo "voce non valida"
Esac
Fatto

Esegui lo script.

$ Bash Case3.sh

Produzione:

Lo script continuerà a eseguire fino a quando non verrà premuto Ctrl+C.

Esempio-4: controllo del valore dell'argomento della riga di comando vuoto

La variabile dell'argomento della riga di comando può essere utilizzata nell'istruzione del caso bash. Crea un file denominato CASE4.sh con il seguente script che controllerà il valore della seconda variabile dell'argomento.

#!/Bin/Bash
Caso "$ 2" in
"Ubuntu")
Echo "Il secondo argomento è $ 2."
;;
"Centos")
Echo "Il secondo argomento è $ 2."
;;
"")
echo "La seconda discussione è vuota."
;;
Esac

Esegui lo script.

$ Bash Case4.sh

Produzione:

Qui, lo script viene eseguito senza alcun valore dell'argomento della riga di comando per la prima volta e l'output mostra "il secondo argomento è vuoto". Quando lo script viene eseguito con un secondo valore dell'argomento della riga di comando per la seconda volta, non viene visualizzato alcun output.

Esempio-5: istruzione più casi in base all'input dell'utente

Crea un file bash denominato Caso5.sh Con il seguente script. Lo script richiederà il nome del mese come input dell'utente. Se il nome del mese corrisponde a qualsiasi valore del caso, verrà assegnato un particolare messaggio di testo nel messaggio variabile. Il valore di input deve essere il nome del mese intero o il nome del mese di tre caratteri.

Caso5.sh

#!/Bin/Bash
Echo "Digita il nome di un mese"
Leggi il mese
Caso $ mese
Gennaio | gennaio*)
Message = "21 febbraio è la nostra festa della mamma internazionale."
;;
Febbraio | Feb*)
Message = "21 febbraio è la nostra festa della mamma internazionale."
;;
Marzo | mar*)
Messaggio = "Il 9 marzo è il Giorno del rene mondiale."
;;
Aprile | aprile*)
Message = "Il mese corrente non è febbraio"
;;
May | May*)
Message = "Il mese corrente è febbraio"
;;
Giugno | Jun*)
Message = "Il mese corrente è febbraio"
;;
*)
Messaggio = "Nessuna informazione corrispondente trovata"
;;
Esac
Messaggio Echo $

Esegui lo script.

$ Bash Case5.sh

Produzione:

La seguente output apparirà per il valore di input, "marzo" o "mar".

Esempio-6: Controlla la variabile nell'istruzione Caso Bash

Qualsiasi valore di stringa può essere stampato controllando il valore della variabile dell'argomento della riga di comando. Crea un file di testo denominato CASE6.sh Con il seguente script. In questo esempio, il valore della prima variabile dell'argomento viene verificato e se il valore è vuoto, una stringa, "mi piace la programmazione bash" verrà stampata.

CASE6.sh

#!/Bin/Bash
Caso $ 1 in
("") eco "Mi piace la programmazione bash";
Esac

Esegui lo script.

$ Bash Case6.sh

Produzione:

Questo script viene eseguito con e senza i primi argomenti. Non ci sarà alcun output se la variabile dell'argomento della riga di comando passa.

Conclusione

In questo articolo sono mostrati diversi usi del comando bash casy. Se i lettori praticano questi esempi correttamente, sarà più facile per loro risolvere molti problemi di programmazione bash.