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:
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.shFor å 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 -snocasematchkastet 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/bashbutikker -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.