logo

Bash fall

I det här ämnet kommer vi att diskutera grunderna i fallbeskrivningar och hur man använder dem i Bash-skript.

Bash-fallsförklaringen är den enklaste formen av OM-DÅ-ANSÄT med många ELIF-element. Att använda case statement gör vårt bash-skript mer läsbart och lättare att underhålla. Dessa används i allmänhet för att förenkla de komplexa förhållandena med flera olika val.

Bash-fallsatsen följer en liknande logik som Javascript- eller C-switch-satsen. Det finns en liten skillnad, enligt följande:

  • Bash-fallsatsen tar ett värde en gång och testar det värdet flera gånger. Den slutar söka efter ett mönster när den har hittat det och kört den sats som är kopplad till den, vilket är nästan motsatt i fallet med C switch-satsen.

Fallbeskrivningssyntax

Syntaxen för bash case-satsen ges nedan:

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

Det finns några viktiga punkter i uttalanden om bashfall:

  • Varje falluttryck i bash börjar med nyckelordet 'case', följt av case-uttrycket och nyckelordet 'in'. Fallförklaringen avslutas med nyckelordet 'esac'.
  • Vi kan tillämpa flera mönster separerade med | operatör. Operatorn ) indikerar avslutandet av en mönsterlista.
  • Ett mönster som innehåller påståendena kallas för en sats, och det måste avslutas med dubbelt semikolon (;;).
  • En asterisksymbol (*) används som ett sista mönster för att definiera standardfallet. Det används som ett standardfall när det används som det sista fallet.

Hur det fungerar

Först och främst utökar case statement uttrycket och försöker matcha med vart och ett av de inkluderade mönstren. När den hittar en matchning exekveras alla länkade satser till det dubbla semikolonet (;;). Efter den första matchningen avslutas ärendet med exitstatus för den senast körda satsen.

Om det inte finns något matchat mönster är utgångsstatusen för ärendet noll. I annat fall är returstatus exitstatusen för de körda satserna.

Om det förinställda asteriskmönstret används kommer det att köras om det inte finns något matchat mönster.

Låt oss försöka förstå denna mekanism med hjälp av några exempel:

Exempel 1

I det här exemplet har vi definierat ett enkelt scenario för att demonstrera användningen av fallförklaringen.

Bash Script

 #!/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 

Produktion

Bash fall

Exempel 2

I det här exemplet har vi definierat ett kombinerat scenario där det också finns ett standardfall när inget tidigare matchat fall hittas.

tecken till int java

Bash Script

 #!/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 

Produktion

Vi har kört skriptet med tre olika ingångar, kolla in utgången nedan:

Bash fall

Slutsats

I det här ämnet har vi lärt oss om syntaxen och användningen av Bash Case-satsen med exemplen.