Slik bruker du Bash -saksoppgaven

How Use Bash Case Statement



Bash case-uttalelser ligner på if-else-uttalelser, men er enklere og enklere. Det hjelper å matche en variabel mot flere verdier. Den brukes når du trenger IF-else-setningene med en rekke Elif-setninger ... Det ligner ganske på bytteuttalelse i C, men bash case-setningen beveger seg ikke fremover når mønsteret er matchet

I denne artikkelen vil vi forklare hvordan du bruker Bash -saksetningen med eksempel i Linux OS.







Syntaks for bash case statement

Her er syntaksen for bash case statement:



Syntaks:



sak $ variabel i
mønster-1)
kommandoer
;;
mønster-2)
kommandoer
;;
mønster-3)
kommandoer
;;
mønster-N)
kommandoer
;;
*)
kommandoer
;;
esac
  • Saksuttalelsen starter med sak og slutter med esac
  • ) Brukes til å avslutte et mønster. For å skille flere mønstre, | operatøren brukes som vist nedenfor:
sak $ variabel i
mønster-1|mønster-2)
kommandoer
....
....
;;
mønster-3|mønster-4)
kommandoer
....
....
;;
  • Mønster med kommandoer er kjent som ledd, og hver ledd slutter med (;;).
  • Stjernetegnet* kan brukes til å definere standardfall.
  • Bash case -setning samsvarer først med input $ -variabelen med de forskjellige mønstrene. Hvis et mønster samsvarer, blir det tilsvarende settet med kommandoer opp til de dobbelte semikolonene (;;) utført.

Eksempel 1:

Følgende eksempel handler om bash -kontoutskriften der den ber brukeren om å skrive inn månedsnavnet. Hvis denne inngangen samsvarer med de definerte mønstrene i skriptet, vil den tilsvarende ekkokommandoen bli utført. Ekkokommandoen viser informasjon om den internasjonale hendelsen den aktuelle måneden.





For å bruke dette skriptet, opprett en enkel tekstfil; navngi den med .sh filtypen. Legg til følgende skript i det og lagre det. Tildel deretter denne filen for å utføre tillatelser ved å kjøre følgende kommando i Terminal:

$sudo chmod 777filnavn.sh

For å utføre denne bash -filen, bare kjør ./ etterfulgt av bash -filnavnet som følger:



$./filnavn.sh

Når du kjører skriptet, blir du bedt om å angi månedens navn som input. Hvis månedsnavnet er samsvarende, vil det vise den tilsvarende hendelsen i den spesifikke måneden, ellers vil ingen matchende informasjon bli vist.

Vær oppmerksom på at shopt -s nocasematch brukes til å matche mønster uansett tilfelle.

butikker -snocasematch

kastet ut 'Skriv inn månedens navn'
lesemåned
sak $ måned i
januar)
kastet ut '24. januar internasjonale utdanningsdag.'
;;
februar)
kastet ut '20. februar Verdensdagen for sosial rettferdighet.'
;;
mars)
kastet ut '8. mars Internasjonal kvinnedag.'
;;
april)
kastet ut '7. april Verdens helsedag'
;;
Kan)
kastet ut 'Den 15. mai internasjonale familiedag'
;;
juni)
kastet ut '20. juni verdens flyktningdag'
;;
juli)
kastet ut '11. juli verdens befolkningsdag'
;;
*)
kastet ut 'Fant ingen samsvarende informasjon'
;;
esac

Eksempel 2:

Følgende eksempel handler om bash -kontoutskriften der en bruker blir bedt om å angi landnavnet. Hvis denne inngangen samsvarer med de definerte mønstrene i skriptet, vil den tilsvarende ekkokommandoen bli utført. Ekkokommandoen viser informasjon om hovedstaden i det aktuelle landet.

For å bruke dette skriptet, følg samme metode som beskrevet i eksemplet ovenfor. Når det er gjort, kjør manuset, og du blir bedt om å angi navnet på landet som input. Hvis landnavnet samsvarer med de forhåndsdefinerte landnavnene, vil det vise hovednavnet til det landet, ellers vil meldingen Informasjon ikke tilgjengelig vises.

#!/bin/bash
butikker -snocasematch
kastet ut -n 'Skriv inn navnet på et land:'
leseland

kastet ut -n 'Hovedstaden i$ lander '
sak $ land i
Pakistan)
kastet ut -n 'Islamabad'
;;
Fiji)
kastet ut -n 'Tørke'
;;
Storbritannia| 'Storbritannia')
kastet ut -n 'London'
;;
Tyrkia)
kastet ut -n 'Ankara'
;;
BRUKER)
kastet ut -n 'Washington DC'
;;
*)
kastet ut -n 'Informasjon ikke tilgjengelig'
;;
esac
kastet ut ''

Bash case-uttalelser gjør bash-script lettere å lese og forstå. I denne artikkelen har vi dekket hvordan du skriver og bruker bash case -utsagn. Nå kan du skrive en slags multilevel if-else-uttalelse enkelt og enkelt ved bruk av saksuttalelser.