I den här artikeln kommer vi att förklara hur du använder Bash -fallet med exempel i Linux OS.
Syntax för bash case statement
Här är syntaxen för bash case statement:
Syntax:
fall $ variabel i
mönster-1)
kommandon
;;
mönster-2)
kommandon
;;
mönster-3)
kommandon
;;
mönster-N)
kommandon
;;
*)
kommandon
;;
esac
- Ärendeförklaringen börjar med ärende och slutar med esac
- ) Används för att avsluta ett mönster. För att skilja flera mönster, | operatören används enligt nedan:
mönster-1|mönster-2)
kommandon
....
....
;;
mönster-3|mönster-4)
kommandon
....
....
;;
- Mönster med kommandon kallas klausul och varje klausul slutar med (;;).
- Asterisk -symbolen* kan användas för att definiera standardfall.
- Bash case statement matchar först ingången $ variabel med de olika mönstren. Om ett mönster matchas, kommer motsvarande uppsättning kommandon upp till dubbla semikolon (;;) att köras.
Exempel 1:
Följande exempel handlar om bash -kontoutdraget där det ber användaren att ange månadsnamnet. Om denna ingång matchar de definierade mönstren i skriptet kommer motsvarande ekokommando att köras. Echo -kommandot visar information om den internationella händelsen för just den månaden.
För att använda detta skript, skapa en enkel textfil; namnge det med .sh filändelse. Lägg till följande skript i det och spara det. Tilldela sedan den här filen för att köra behörigheter genom att köra följande kommando i Terminal:
$sudo chmod 777filnamn.shFör att köra denna bash -fil, kör bara ./ följt av bash -filnamnet enligt följande:
$./filnamn.sh
När du kör skriptet kommer du att bli ombedd att ange månadens namn som inmatning. Om månadsnamnet matchas kommer det att visa motsvarande händelse under den specifika månaden, annars visas ingen matchande information.
Observera att shopt -s nocasematch används för att matcha mönster oavsett fall.
butiker -snocasematchkastade ut 'Ange månadens namn'
läsamånad
fall $ månad i
Januari)
kastade ut 'Internationella utbildningsdagen den 24 januari.'
;;
Februari)
kastade ut '20 februari Världsdagen för social rättvisa.'
;;
Mars)
kastade ut '8 mars internationella kvinnodagen.'
;;
April)
kastade ut '7 april Världshälsodagen'
;;
Maj)
kastade ut 'Internationella familjedagen den 15 maj'
;;
Juni)
kastade ut '20 juni världens flyktingdag'
;;
Juli)
kastade ut 'Världsbefolkningsdagen den 11 juli'
;;
*)
kastade ut 'Ingen matchande information hittades'
;;
esac
Exempel 2:
Följande exempel handlar om bash -kontoutdraget där en användare ombeds ange landets namn. Om denna ingång matchar de definierade mönstren i skriptet kommer motsvarande ekokommando att köras. Echo -kommandot visar information om huvudstaden i just det landet.
För att använda detta skript, följ samma metod som beskrivs i exemplet ovan. När du är klar, kör skriptet och du kommer att bli ombedd att ange namnet på landet som inmatning. Om landets namn matchas med de fördefinierade landnamnen kommer det att visa landets huvudnamn, annars visas meddelandet Information inte tillgänglig.
#!/bin/bashbutiker -snocasematch
kastade ut -n 'Ange namnet på ett land:'
läsaLand
kastade ut -n 'Huvudstaden av$ landär '
fall $ land i
Pakistan)
kastade ut -n 'Islamabad'
;;
Fiji)
kastade ut -n 'Torr'
;;
Storbritannien| 'Storbritannien')
kastade ut -n 'London'
;;
Kalkon)
kastade ut -n 'Ankara'
;;
ANVÄNDNINGAR)
kastade ut -n 'Washington DC'
;;
*)
kastade ut -n 'Informationen är inte tillgänglig'
;;
esac
kastade ut ''
Bash case-uttalanden gör bash-script lättare att läsa och förstå. I den här artikeln har vi täckt hur man skriver och använder bash case -uttalanden. Nu kan du skriva ett slags flernivå om-annat-uttalande enkelt och enkelt med hjälp av fallbesked.