Šajā tēmā mēs apspriedīsim lietas izklāstu pamatus un to izmantošanu Bash skriptos.
Bash gadījuma paziņojums ir vienkāršākā IF-THEN-ELSE forma ar daudziem ELIF elementiem. Lietojuma apraksts padara mūsu bash skriptu lasāmāku un vieglāk uzturējamu. Tos parasti izmanto, lai vienkāršotu sarežģītos nosacījumus, kuriem ir vairākas dažādas izvēles iespējas.
Bash reģistra priekšraksts ievēro līdzīgu loģiku kā Javascript vai C slēdža priekšraksts. Pastāv neliela atšķirība, piemēram:
- Bash gadījuma priekšraksts ņem vērtību vienu reizi un pārbauda šo vērtību vairākas reizes. Tas pārtrauc modeļa meklēšanu, tiklīdz tas ir to atradis un izpildījis ar to saistīto paziņojumu, kas ir gandrīz pretējs C slēdža priekšraksta gadījumā.
Gadījuma izklāsta sintakse
Bash reģistra paziņojuma sintakse ir norādīta zemāk:
case expression in pattern_1) statements ;; pattern_2) statements ;; pattern_3|pattern_4|pattern_5) statements ;; pattern-n) statements ;; *) statements ;; esac
Bash case paziņojumos ir daži galvenie punkti:
- Katrs gadījuma paziņojums valodā bash sākas ar atslēgvārdu “case”, kam seko gadījuma izteiksme un atslēgvārds “in”. Lietas paziņojums tiek slēgts ar atslēgvārdu 'esac'.
- Mēs varam izmantot vairākus modeļus, kas atdalīti ar | operators. Operators ) norāda modeļu saraksta beigas.
- Paraugs, kas satur paziņojumus, tiek saukts par klauzulu, un tas jābeidz ar dubultu semikolu (;;).
- Zvaigznītes simbols (*) tiek izmantots kā pēdējais modelis, lai definētu noklusējuma reģistru. Tas tiek izmantots kā noklusējuma gadījums, kad tiek izmantots kā pēdējais gadījums.
Kā tas strādā
Pirmkārt, gadījuma paziņojums paplašina izteiksmi un mēģina saskaņot ar katru no iekļautajiem modeļiem. Kad tiek atrasta atbilstība, visi saistītie paziņojumi tiek izpildīti līdz dubultajam semikolu (;;). Pēc pirmās atbilstības lieta beidzas ar pēdējā izpildītā paziņojuma izejas statusu.
Ja nav saskaņota modeļa, korpusa izejas statuss ir nulle. Pretējā gadījumā atgriešanas statuss ir izpildīto paziņojumu izejas statuss.
Ja tiek izmantots noklusējuma zvaigznītes raksts, tas tiks izpildīts, ja nebūs atbilstoša raksta.
Mēģināsim izprast šo mehānismu, izmantojot dažus piemērus:
1. piemērs
Šajā piemērā mēs esam definējuši vienkāršu scenāriju, lai parādītu gadījuma paziņojuma izmantošanu.
Bash skripts
#!/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
Izvade
2. piemērs
Šajā piemērā mēs esam definējuši kombinētu scenāriju, kurā ir arī noklusējuma gadījums, kad netiek atrasts neviens iepriekšējais atbilstošs gadījums.
prime bez koda java
Bash skripts
#!/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
Izvade
Mēs esam palaiduši skriptu ar trim dažādām ieejām, pārbaudiet tālāk norādīto izvadi: