In questo articolo, spiegheremo come utilizzare l'istruzione case Bash con un esempio nel sistema operativo Linux.
Sintassi dell'istruzione case bash
Ecco la sintassi per l'istruzione bash case:
Sintassi:
Astuccio $ variabile in
modello-1)
comandi
;;
modello-2)
comandi
;;
modello-3)
comandi
;;
modello-N)
comandi
;;
*)
comandi
;;
esac
- L'istruzione case inizia con case e termina con esac
- Il ) viene utilizzato per terminare un modello. Per separare più modelli, | operatore viene utilizzato come mostrato di seguito:
modello-1|modello-2)
comandi
....
....
;;
modello-3|modello-4)
comandi
....
....
;;
- Il modello con i comandi è noto come clausola e ogni clausola termina con (;;).
- Il simbolo asterisco* può essere utilizzato per definire il caso predefinito.
- L'istruzione case Bash corrisponde prima alla variabile $ di input con i diversi modelli. Se viene trovato un modello, verrà eseguito il corrispondente set di comandi fino al doppio punto e virgola (;;).
Esempio 1:
L'esempio seguente riguarda il rendiconto di cassa bash in cui chiede all'utente di inserire il nome del mese. Se questo input corrisponde ai modelli definiti nello script, verrà eseguito il comando echo corrispondente. Il comando echo visualizzerà le informazioni sull'evento internazionale di quel particolare mese.
Per utilizzare questo script, crea un semplice file di testo; nominalo con estensione file .sh. Aggiungi il seguente script e salvalo. Quindi assegna questo file per eseguire le autorizzazioni eseguendo il seguente comando in Terminale:
$sudo chmod 777nomefile.shPer eseguire questo file bash, esegui semplicemente ./ seguito dal nome del file bash come segue:
$./nomefile.sh
Quando esegui lo script, ti verrà chiesto di inserire il nome del mese come input. Se il nome del mese è abbinato, verrà visualizzato l'evento corrispondente in quel mese specifico, altrimenti non verrà visualizzata alcuna informazione corrispondente.
Nota che shopt -s nocasematch viene utilizzato per abbinare il modello indipendentemente dal suo caso.
negozi -Snocasematchbuttato fuori 'Inserisci il nome del mese'
leggeremese
Astuccio $mese in
gennaio)
buttato fuori '24 gennaio Giornata Internazionale dell'Educazione.'
;;
febbraio)
buttato fuori ' 20 febbraioGiornata mondiale della giustizia sociale .'
;;
marzo)
buttato fuori '8 marzo Giornata internazionale della donna.'
;;
aprile)
buttato fuori '7 aprile Giornata Mondiale della Salute'
;;
Maggio)
buttato fuori 'Il 15 maggio Giornata Internazionale delle Famiglie'
;;
giugno)
buttato fuori '20 giugno Giornata Mondiale del Rifugiato'
;;
luglio)
buttato fuori '11 luglio Giornata mondiale della popolazione'
;;
*)
buttato fuori 'Nessuna informazione corrispondente trovata'
;;
esac
Esempio 2:
L'esempio seguente riguarda il rendiconto di cassa bash in cui a un utente viene chiesto di inserire il nome del paese. Se questo input corrisponde ai modelli definiti nello script, verrà eseguito il comando echo corrispondente. Il comando echo mostrerà le informazioni sulla capitale di quel particolare paese.
Per utilizzare questo script, seguire lo stesso metodo descritto nell'esempio precedente. Una volta fatto, esegui lo script e ti verrà chiesto di inserire il nome del paese come input. Se il nome del paese corrisponde ai nomi dei paesi predefiniti, verrà visualizzato il nome della capitale di quel paese, altrimenti verrà visualizzato il messaggio Informazioni non disponibili.
#!/bin/bashnegozi -Snocasematch
buttato fuori -n 'Inserisci il nome di un paese: '
leggerenazione
buttato fuori -n 'La capitale di$paeseè '
Astuccio $paese in
Pakistan)
buttato fuori -n 'Islamabad'
;;
Figi)
buttato fuori -n 'Asciutto'
;;
UK| 'Regno Unito')
buttato fuori -n 'Londra'
;;
tacchino)
buttato fuori -n 'Ankara'
;;
USI)
buttato fuori -n 'Washington DC'
;;
*)
buttato fuori -n 'Informazione non disponibile'
;;
esac
buttato fuori ''
Le istruzioni case bash rendono lo script bash più facile da leggere e comprendere. In questo articolo, abbiamo spiegato come scrivere e utilizzare istruzioni case bash. Ora puoi scrivere una sorta di istruzione if-else multilivello facilmente e semplicemente usando le istruzioni case.