Bash: Hvis, ellers hvis, andre eksempler

Bash If Else If Else Examples



Bash -betingede udsagn er dem, der giver os mulighed for at tage nogle skridt mod forskellige forhold. Disse udsagn implementerer kodeblokke, baseret på om betingelsen angivet af programmøren evaluerer til sand eller falsk. Hvis det evalueres til sandt, udfører en bestemt kodeblok ellers gå til den næste betingelse.

Der er forskellige former for betingede udsagn i Bash:







  1. hvis erklæring
  2. if-else-erklæring
  3. hvis..elif..else erklæring
  4. Indlejret

I denne artikel lærer vi et af de betingede udsagn, hvis det ellers er, sammen med få eksempler. På flere andre sprog er elifet skrevet som elseif eller ellers if. Elif -erklæringen hjælper os med at træffe beslutninger blandt forskellige valg.



Syntaksen for if, elseif, else er:



hvis <test_udtryk>;derefter
<kommando-til-udførelse>
elif <test_udtryk>;derefter
<kommando-til-udførelse>
andet
<kommando-til-udførelse>
være

If -søgeordet efterfølges af den tilstand, du vil kontrollere. I denne if-else-if betingede erklæring evalueres udtrykkene fra top til bund.





  • Dette efterfølges af derefter nøgleord.
  • Derefter, hvis et udtryk evalueres til sandt, eksekveres tilsvarende udsagn. Hvis udtrykkene vurderes til falsk, vil den tilsvarende sætning inde i elifet blive eksekveret.
  • Hvis ingen af ​​betingelserne er sande, udføres sætningen inde i det andet blokerede.

Eksempel 1

Elefset (ellers hvis) bruges til flere if -betingelser. Hvis den første betingelse går galt, skal du kontrollere en anden hvis betingelser. I det følgende eksempel tager vi input fra brugeren og viser tilsvarende udsagn.

  • Brug if -betingelsen til at kontrollere, om mærkerne er større eller lig med 80. Hvis betingelsen vurderes til sand, udskrives den Fremragende ved hjælp af ekkokommandoen under derefter blok.
  • Hvis den første betingelse vurderes til falsk, vil den derefter bruge elif -betingelse til at kontrollere, om mærkerne er større eller lig med 70, hvis denne evalueres til sand, udskrives den God.
  • Hvis ingen af ​​de ovennævnte betingelser vurderes til sand, vil den gå til den anden betingelse og udskrive tilfredsstillende.
Læs -s 'Indtast mærker:'mærker
hvis [ $ mærker -give 80 ]
derefter
smed ud 'Fremragende'

elif [ $ mærker -give 60 ]
derefter
smed ud 'Godt'

andet
smed ud 'Tilfredsstillende'
være

Eksempel 2:

For eksempel vil vi dokumentere karaktererne for et bestemt kursus. De samlede karakterer er 200 med 100 karakterer for quizzer og 100 for opgaver. Vi vil vise summen af ​​opgaver og quizzer, samtidig med at vi sørger for, at det samlede antal ikke overstiger 200.



  1. Tag input: quiz_marks og assignments_marks
  2. Sørg for, at ingen af ​​de to input overskrider de maksimalt mulige mærker for hver af dem, dvs. 100 ved at bruge if og elif -betingelserne.
  3. Hvis en af ​​input quiz_marks eller assignments_marks overstiger 100, skal du vise en advarselsmeddelelse ved hjælp af ekkokommando.
  • Kontroller indtastningsmærkerne for quiz
  • Kontroller indtastningsmærkerne for opgaver
  1. Hvis ingen af ​​de ovennævnte betingelser matcher, dvs. ingen af ​​mærkerne overstiger 100, skal du gå til den anden betingelse og vise summen af ​​mærker ved hjælp af ekkokommandoen.
#!/bin/bash
Læs -s 'Indtast teorimærker:'quiz_marks
Læs -s 'Indtast praktiske mærker:'opgaver_mærker
hvis (($ quiz_marks > halvtreds));
derefter
smed ud 'Kontroller venligst inputmærkerne for quiz.'
elif (($ assignments_marks > halvtreds));
derefter
smed ud 'Kontroller indtastningsmærkerne for opgaver.'
andet
smed ud 'Dine samlede karakterer: sum =$ ((quiz_marks + assignments_marks)) '
være

Eksempel 3:

Lad os tage et andet eksempel på et bankkontoprogram, hvor vi ønsker at have tre separate output til 3 forskellige situationer:

  • Balancen er mindre end nul
  • Balancen er nul
  • Balancen er over nul

I det følgende program skal du f.eks. Bruge if, elif, else -sætningerne til at vise forskellige output i forskellige scenarier:

  1. Brug if -betingelsen til at kontrollere, om saldoen er mindre end nul. Hvis denne betingelse vurderes til sand, skal du vise meddelelsen ved hjælp af kommandoen echo: Balance er mindre end nul. Tilføj flere midler, ellers vil du blive opkrævet straf.
  2. Hvis ovenstående betingelse ikke stemmer overens, skal du bruge elif -betingelse til at kontrollere, om saldoen er lig med nul. Hvis det vurderes til sandt, skal du vise meddelelsen: Balance er nul, tilføj venligst midler
  3. Hvis ingen af ​​ovenstående betingelser matcher, skal du bruge betingelsen else til at vise: Din saldo er over nul.
#!/bin/bash
Balance=900
hvis ((Balance< 0));derefter
smed ud 'Saldo er mindre end nul, tilføj flere midler, ellers vil du blive opkrævet straf'
elif ((Balance ==0));derefter
smed ud 'Balance er nul, tilføj midler'
andet
smed ud 'Din saldo er over nul.'
være

Fra ovenstående eksempler på den betingede erklæring, hvis elif ellers skulle du nu kunne forstå, hvordan denne betingede erklæring fungerer, og hvor den kan bruges i forskellige scenarier. Jeg håber, at du kunne lide artiklen.