Linux naredbe

Zapovjedništvo slučaja BASH

Zapovjedništvo slučaja BASH

Naredba Bash case koristi se za poduzimanje ispravnih radnji uspoređivanjem podataka poput if naredbe. Radi kao naredba preklopnog slučaja drugih standardnih programskih jezika. Ova naredba započinje izrazom 'case' i zatvara se izrazom 'esac'. U naredbi case ne koristi se naredba break i dvostruka zagrada (;;) potrebna je za spominjanje izjave za bilo koje određeno podudaranje. Ova naredba proširuje izraz i pokušava se podudarati s danim uzorkom, a status statusa izlaza ove naredbe bit će nula ako neće biti pronađeno podudaranje. Neki su uobičajeni primjeri navoda slučaja prikazani u ovom vodiču.

Primjer-1: jednostavna izjava slučaja

U naredbi bash case koristi se jedan uvjetni izraz za generiranje rezultata na temelju podudarnog uvjeta. Stvorite bash datoteku s imenom slučaj1.sh sa sljedećim bash skriptom. Skripta će uzeti vrijednost niza i podudarati vrijednost sa svakim izrazom. Sljedeća skripta generirat će "Nije pronađen nijedan unos" ako ne postoji odgovarajući izraz,
slučaj1.sh

#!/ bin / bash
echo "Upiši svoje ime"
pročitajte ime
slučaj $ ime u
Yesmin)
echo "Vaša omiljena boja je plava" ;;
Fahmida)
echo "Vaše omiljeno piće je Sprite" ;;
*)
echo "Nije pronađen nijedan unos" ;;
esac

Pokrenite skriptu.

$ bash slučaj1.sh

Izlaz:

Datoteka se ovdje izvršava s važećim i nevaljanim ulazom za testiranje rezultata.

Primjer-2: višestruka izjava slučaja s cijevi

U bash skripti mogu se primijeniti višestruki izrazi velikih i malih slova za izvršavanje različitih vrsta izraza. Simbol cijevi (|) može se koristiti za dodjeljivanje višestrukih izraza. Stvorite bash datoteku s imenom slučaj2.sh sa sljedećom skriptom. Nakon pokretanja skripte, ako se ulazna vrijednost podudara s bilo kojim izrazom, ispisat će se odgovarajuća tekstualna vrijednost.
slučaj2.sh

#!/ bin / bash
echo "Upišite svoj ID broj"
pročitajte ID
slučaj $ ID u
65341)
odjek "Vaša je pozicija 1." ;;
97564 | 88453)
odjek "Vaša je pozicija 2." ;;
45087)
odjek "Vaša je pozicija 3." ;;
*)
echo "Nevažeći ID" ;;
esac

Pokrenite skriptu .

$ bash slučaj2.sh

Izlaz:

Ova skripta također radi kao i prethodni primjer. Jedina je razlika u tome što se vrijednosti više izraza ispituju za jedan izlaz.

Primjer-3: Kako izaći iz bloka izvoda case / esac

Kada se naredba bash case koristi pod beskonačnom petljom, naredba exit potrebna je za zaustavljanje petlje. Ovaj primjer pokazuje kako se mogu izvršiti ove vrste zadataka. Stvorite tekstualnu datoteku s imenom slučaj3.sh sa sljedećom skriptom. Ova skripta za ulaz uzima bilo koji broj od 1 do 3. Ako je ulaz 1, tada će se dodati dva broja, ako je ulaz 2, tada će se oduzeti dva broja, a ako je ulazni broj 3, tada će se dva broja pomnožiti. Izlaz će biti "Neispravan unos" ako je ulazni broj veći od 3 ili manji od 1 ili je prazan.
slučaj3.sh

#!/ bin / bash
#!/ bin / bash
dok (istina)
čini
a = 8
b = 4
((x = $ a + $ b))
((y = $ a- $ b))
((z = $ a * $ b))
odjek "Tip 1 ili 2 ili 3"
čitati ans
slučaj $ ans u
1) echo "Zbroj $ a i $ b je $ x & exit" ;;
2) odjek "Oduzimanje $ a i $ b je $ y & exit" ;;
3) odjek "Množenje $ a i $ b je $ z & exit" ;;
*) odjek "Neispravan unos"
esac
gotovo

Pokrenite skriptu.

$ bash slučaj3.sh

Izlaz:

Skripta će se nastaviti izvršavati sve dok se ne pritisne ctrl + c.

Primjer-4: Provjera prazne vrijednosti argumenta naredbenog retka

Varijabla argumenta naredbenog retka može se koristiti u naredbi slučaja bash. Stvorite datoteku s imenom slučaj4.sh sa sljedećom skriptom koja će provjeriti vrijednost druge varijable argumenta.

#!/ bin / bash
slučaj "2 dolara" u
"Ubuntu")
echo "Drugi argument je 2 USD."
;;
"CentOS")
echo "Drugi argument je 2 USD."
;;
"")
echo "Drugi je argument prazan."
;;
esac

Pokrenite skriptu.

$ bash slučaj4.sh

Izlaz:

Ovdje se skripta prvi put izvršava bez bilo koje vrijednosti argumenta naredbenog retka, a izlaz prikazuje "Drugi je argument prazan". Kada se skripta po drugi put izvrši s vrijednošću argumenta drugog naredbenog retka, tada se ne prikazuje izlaz.

Primjer-5: višestruki iskaz na temelju korisničkog unosa

Stvorite bash datoteku s imenom slučaj5.sh sa sljedećom skriptom. Skripta će uzimati naziv mjeseca kao korisnički unos. Ako se naziv mjeseca podudara s bilo kojom vrijednošću slučaja, tada će se određena tekstna poruka dodijeliti varijabli Poruka. Ulazna vrijednost mora biti puno ime mjeseca ili naziv mjeseca s tri znaka.

slučaj5.sh

#!/ bin / bash
echo "Upiši naziv mjeseca"
pročitati mjesec
slučaj $ mjesec u
Siječanj | siječanj *)
Poruka = ​​"21. veljače je naš Međunarodni majčin dan."
;;
Veljača | veljača *)
Poruka = ​​"21. veljače je naš Međunarodni majčin dan."
;;
Ožujak | ožujak *)
Poruka = ​​"9. ožujka je svjetski dan bubrega."
;;
Travanj | travanj *)
Poruka = ​​"Trenutni mjesec nije veljača"
;;
Svibanj | svibanj *)
Poruka = ​​"Trenutni mjesec je veljača"
;;
Lipanj | lipanj *)
Poruka = ​​"Trenutni mjesec je veljača"
;;
*)
Message = "Nisu pronađene odgovarajuće informacije"
;;
esac
echo $ Poruka

Pokrenite skriptu.

$ bash slučaj5.sh

Izlaz:

Sljedeći će se izlaz pojaviti za ulaznu vrijednost, 'ožujak' ili 'ožujak'.

Primjer 6: Provjerite varijablu u naredbi slučaja bash

Bilo koja vrijednost niza može se ispisati provjerom vrijednosti varijable argumenta naredbenog retka. Stvorite tekstualnu datoteku s imenom slučaj6.sh sa sljedećom skriptom. U ovom se primjeru provjerava vrijednost prve varijable argumenta i ako je vrijednost prazna, ispisat će se niz "Sviđa mi se bash programiranje".

slučaj6.sh

#!/ bin / bash
slučaj $ 1 in
("") echo "Volim bash programiranje";
esac

Pokrenite skriptu.

$ bash slučaj6.sh

Izlaz:

Ova se skripta izvršava sa i bez prvih argumenata. Neće biti rezultata ako ne prođe varijabla argumenta naredbenog retka.

Zaključak

U ovom su članku prikazane različite upotrebe naredbe bash case. Ako čitatelji pravilno primjenjuju ove primjere, bit će im lakše riješiti mnoge probleme bash programiranja.

Vulkan za korisnike Linuxa
Sa svakom novom generacijom grafičkih kartica vidimo da programeri igara pomiču granice grafičke vjernosti i dolaze na korak od fotorealizma. No, bez ...
OpenTTD vs Simutrans
Stvaranje vlastite simulacije prijevoza može biti zabavno, opuštajuće i izuzetno primamljivo. Zbog toga morate isprobati što više igara kako biste pro...
Vodič za OpenTTD
OpenTTD je jedna od najpopularnijih igara za poslovnu simulaciju. U ovoj igri morate stvoriti prekrasan prijevoznički posao. Međutim, počet ćete u poč...