logo

Bash slučaj

U ovoj temi raspravljat ćemo o osnovama case iskaza i kako ih koristiti u Bash skriptama.

Bash case iskaz je najjednostavniji oblik IF-THEN-ELSE s mnogo ELIF elemenata. Korištenje naredbe case čini našu bash skriptu čitljivijom i lakšom za održavanje. Oni se općenito primjenjuju za pojednostavljenje složenih uvjeta koji imaju više različitih izbora.

Bash case naredba slijedi sličnu logiku kao Javascript ili C switch naredba. Postoji mala razlika, kako slijedi:

  • Bash case iskaz uzima vrijednost jednom i testira tu vrijednost više puta. Prestaje tražiti obrazac nakon što ga pronađe i izvrši naredbu povezanu s njim, što je gotovo suprotno u slučaju naredbe C switch.

Sintaksa iskaza slučaja

Sintaksa naredbe bash case data je u nastavku:

 case expression in pattern_1) statements ;; pattern_2) statements ;; pattern_3|pattern_4|pattern_5) statements ;; pattern-n) statements ;; *) statements ;; esac 

Postoje neke ključne točke bash case izjava:

  • Svaka naredba case u bashu počinje ključnom riječi 'case', nakon koje slijedi izraz case i ključna riječ 'in'. Iskaz slučaja se zatvara ključnom riječi 'esac'.
  • Možemo primijeniti više uzoraka odvojenih znakom | operater. Operator ) označava završetak popisa uzoraka.
  • Uzorak koji sadrži iskaze naziva se klauzula i mora se završavati dvostrukom točkom-zarezom (;;).
  • Simbol zvjezdice (*) koristi se kao završni obrazac za definiranje zadanog slova. Koristi se kao zadani slučaj kada se koristi kao zadnji slučaj.

Kako radi

Prije svega, iskaz slučaja proširuje izraz i pokušava se uskladiti sa svakim od uključenih uzoraka. Kada pronađe podudaranje, sve povezane naredbe se izvršavaju do dvostruke točke i zareza (;;). Nakon prvog podudaranja, slučaj završava s izlaznim statusom posljednje izvršene naredbe.

Ako nema odgovarajućeg uzorka, izlazni status slučaja je nula. U suprotnom, povratni status je izlazni status izvršenih naredbi.

Ako se koristi zadani uzorak zvjezdice, on će se izvršiti u slučaju da nema odgovarajućeg uzorka.

Pokušajmo razumjeti ovaj mehanizam uz pomoć nekoliko primjera:

Primjer 1

U ovom smo primjeru definirali jednostavan scenarij za demonstraciju upotrebe naredbe case.

Bash skripta

 #!/bin/bash echo 'Do you know Java Programming?' read -p 'Yes/No? :' Answer case $Answer in Yes|yes|y|Y) echo 'That's amazing.' echo ;; No|no|N|n) echo 'It's easy. Let's start learning from javatpoint.' ;; esac 

Izlaz

Bash slučaj

Primjer 2

U ovom smo primjeru definirali kombinirani scenarij gdje također postoji zadani slučaj kada nije pronađen prethodni podudarni slučaj.

kali linux terminal

Bash skripta

 #!/bin/bash echo 'Which Operating System are you using?' echo 'Windows, Android, Chrome, Linux, Others?' read -p 'Type your OS Name:' OS case $OS in Windows|windows) echo 'That's common. You should try something new.' echo ;; Android|android) echo 'This is my favorite. It has lots of applications.' echo ;; Chrome|chrome) echo 'Cool!!! It's for pro users. Amazing Choice.' echo ;; Linux|linux) echo 'You might be serious about security!!' echo ;; *) echo 'Sounds interesting. I will try that.' echo ;; esac 

Izlaz

Pokrenuli smo skriptu s tri različita ulaza, pogledajte izlaz u nastavku:

Bash slučaj

Zaključak

U ovoj smo temi naučili o sintaksi i korištenju naredbe Bash Case s primjerima.