Come utilizzare l'istruzione case Bash

How Use Bash Case Statement



Le istruzioni case Bash sono simili alle istruzioni if-else ma sono più facili e semplici. Aiuta ad abbinare una variabile a diversi valori. Viene utilizzato quando sono necessarie le istruzioni IF-else con un numero di istruzioni Elif... È abbastanza simile all'istruzione switch in C, tuttavia l'istruzione bash case non va avanti una volta che il modello viene abbinato

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:
Astuccio $ variabile in
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.sh

Per 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 -Snocasematch

buttato 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/bash
negozi -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.