Kako uporabiti izjavo o primeru Bash

How Use Bash Case Statement



Stavki velikih črk so podobni stavkom if-else, vendar so lažji in enostavnejši. Pomaga ujemati eno spremenljivko z več vrednostmi. Uporablja se, ko potrebujete stavke IF-else s številnimi stavki Elif ... Zelo podobno je stavku switch v C, vendar se stavek bash ne premakne naprej, ko se vzorec ujema

V tem članku bomo razložili, kako uporabiti stavek primera Bash s primerom v OS Linux.







Sintaksa stavka case bash

Tu je sintaksa stavka bash case:



Sintaksa:



Ovitek $ spremenljivka v
vzorec-1)
ukaze
;;
vzorec-2)
ukaze
;;
vzorec-3)
ukaze
;;
vzorec-N)
ukaze
;;
*)
ukaze
;;
esac
  • Stavek primera se začne z case in konča z esac
  • ) Se uporablja za prekinitev vzorca. Če želite ločiti več vzorcev, | Operater se uporablja, kot je prikazano spodaj:
Ovitek $ spremenljivka v
vzorec-1|vzorec-2)
ukaze
....
....
;;
vzorec-3|vzorec-4)
ukaze
....
....
;;
  • Vzorec z ukazi je znan kot klavzula in vsaka klavzula se konča z (;;).
  • Simbol zvezdice* lahko uporabite za določitev privzete črke.
  • Stavek velikih črk se najprej ujema s spremenljivko $ input z različnimi vzorci. Če se vzorec ujema, se izvede ustrezen niz ukazov do dvojnih podpičja (;;).

Primer 1:

Naslednji primer govori o izpisku blagajne bash, v katerem od uporabnika zahteva, da vnese ime meseca. Če se ta vnos ujema z definiranimi vzorci v skriptu, se izvede ustrezen ukaz echo. Ukaz echo bo prikazal informacije o mednarodnem dogodku za ta mesec.





Če želite uporabiti ta skript, ustvarite preprosto besedilno datoteko; poimenujte jo s pripono datoteke .sh. Vanj dodajte naslednji skript in ga shranite. Nato dodelite tej datoteki za izvajanje dovoljenj tako, da v terminalu zaženete naslednji ukaz:

$sudo chmod 777filename.sh

Če želite izvesti to datoteko bash, preprosto zaženite ./, ki mu sledi ime datoteke bash, kot sledi:



$./filename.sh

Ko zaženete skript, boste morali vnesti ime meseca kot vnos. Če se ime meseca ujema, bo prikazan ustrezen dogodek v tem določenem mesecu, sicer ne bodo prikazane ustrezne informacije.

Upoštevajte, da se nocasematch shopt -s uporablja za ujemanje vzorca ne glede na njegov primer.

trgovine -snocasematch

vrgel ven 'Vnesite ime meseca'
prebratimesec
Ovitek $ mesec v
Januar)
vrgel ven '24. januar mednarodni dan izobraževanja.'
;;
Februar)
vrgel ven '20. februar - svetovni dan socialne pravičnosti.'
;;
Marec)
vrgel ven '8. marec Mednarodni dan žena.'
;;
April)
vrgel ven '7. april, svetovni dan zdravja'
;;
Maj)
vrgel ven 'Mednarodni dan družin 15. maj'
;;
Junija)
vrgel ven '20. junij, svetovni dan beguncev'
;;
Julija)
vrgel ven '11. julij, svetovni dan prebivalstva'
;;
*)
vrgel ven 'Ni ustreznih podatkov'
;;
esac

Primer 2:

Naslednji primer govori o izpisku blagajne bash, v katerem mora uporabnik vnesti ime države. Če se ta vnos ujema z definiranimi vzorci v skriptu, se izvede ustrezen ukaz echo. Ukaz echo bo prikazal informacije o glavnem mestu te države.

Če želite uporabiti ta skript, sledite isti metodi, opisani v zgornjem primeru. Ko končate, zaženite skript in morali boste vnesti ime države kot vnos. Če se ime države ujema z vnaprej določenimi imeni držav, bo prikazano ime glavnice te države, sicer se prikaže sporočilo Informacija ni na voljo.

#!/bin/bash
trgovine -snocasematch
vrgel ven -n 'Vnesite ime države:'
prebratidržava

vrgel ven -n 'Prestolnica$ državaje '
Ovitek $ država v
Pakistan)
vrgel ven -n 'Islamabad'
;;
Fidži)
vrgel ven -n 'Suva'
;;
UK| 'Združeno kraljestvo')
vrgel ven -n 'London'
;;
puran)
vrgel ven -n 'Ankara'
;;
UPORABLJA)
vrgel ven -n 'Washington DC'
;;
*)
vrgel ven -n 'Podatki niso na voljo'
;;
esac
vrgel ven ''

Stavki velikih črk olajšajo branje in razumevanje bash-skripta. V tem članku smo obravnavali, kako pisati in uporabljati stavke bash case. Zdaj lahko preprosto in preprosto napišete nekakšen večstopenjski stavek if-else z uporabo stavkov.