Hoe om IF-stellings in 'n basiese teks te skryf

Opdragte, sintaksis en voorbeelde

Met 'n if-verklaring, wat 'n soort voorwaardelike stelling is, kan jy verskillende aksies uitvoer, afhangende van die spesifieke omstandighede. Dit gee die stelsel effektief die vermoë om besluite te neem.

'N Voorbeeld van die eenvoudigste vorm van 'n if-stelling sou wees:

tel = 5 as [$ telling == 5] dan echo "$ count" fi

In hierdie voorbeeld word die veranderlike "telling" gebruik om 'n voorwaarde te spesifiseer wat gebruik word as deel van die if-stelling. Voordat die if-statement uitgevoer word, word die waarde "5" aan die veranderlike "telling" toegeken. Die if-stelling kontroleer dan of die waarde van "telling" "5" is. As dit die geval is, word die stelling tussen die sleutelwoorde "dan" en "fi" uitgevoer, anders word enige stellings na die if-stelling uitgevoer. Die term "fi" is "indien" agteruit gespel. Die bash scripting taal gebruik hierdie konvensie om die einde van 'n komplekse uitdrukking, so 'n if-statement of case-statements te merk.

Die "echo" stelling druk sy argument, in hierdie geval, die waarde van die veranderlike "telling" na die terminale venster. Indrukking van die kode tussen die sleutelwoorde van die if-stelling verbeter leesbaarheid, maar is nie nodig nie.

As u 'n situasie het waar 'n kode slegs uitgevoer moet word as 'n voorwaarde nie waar is nie, kan u die term "anders" in 'n if-stelling gebruik, soos in hierdie voorbeeld:

tel = 5 as [$ telling == 5] dan echo "$ count" anders echo "count is not 5" fi

As die toestand "$ count == 5" waar is, druk die stelsel die waarde van die veranderlike "telling", anders druk dit die string "telling is nie 5" nie.

As jy wil onderskei tussen verskeie voorwaardes, kan jy die term "elif" gebruik, wat afgelei is van "anders as", soos in hierdie voorbeeld:

as [$ telling == 5] dan echo "telling is vyf" elif [$ telling == 6] dan echo "telling is ses" anders echo "nie een van die bogenoemde" fi

As "telling" is "5", druk die stelsel uit "telling is vyf". As "telling" nie "5" is nie, maar "6", die stelsel afdrukke "telling is ses". As dit nie "5" of "6" is nie, druk die stelsel "nie een van die bogenoemde nie".

Soos u dalk raai, kan u enige aantal "elif" -klousules hê. 'N Voorbeeld met verskeie "elif" toestande sal wees:

as [$ telling == 5] dan echo "telling is vyf" elif [$ telling == 6] dan echo "telling is ses" elif [$ telling == 7] dan echo "count is seven" elif [$ count = = 8] dan echo "telling is agt" elif [$ telling == 9] dan echo "telling is nege" anders echo "nie een van die bogenoemde" fi

'N meer kompakte manier om sulke stellings te skryf met veelvuldige toestande is die geval metode. Dit funksioneer soortgelyk aan die if-stelling met verskeie "elif" -klousules, maar is meer bondig. Byvoorbeeld, die bogenoemde kode kan as volg met die "geval" -opgawe geskryf word:

geval "$ telling" in 5) echo "telling is vyf" ;; 6) eggo "telling is ses" ;; 7) echo "telling is sewe" ;; 8) echo "telling is agt" ;; 9) echo "telling is nege" ;; *) echo "nie een van die bogenoemde" esac

As-Stellings word dikwels binne- in-lusse of looplusse gebruik soos in hierdie voorbeeld:

telling = 1 klaar = 0 terwyl [$ telling -le 9] slaap 1 ((telling ++)) as [$ telling == 5] dan voortgaan fi echo "$ count" klaar echo Voltooi

U kan ook geneste indien stellings hê. Eenvoudigste geneste indien stelling van die vorm is: as ... dan ... anders ... as ... dan ... fi ... fi. As-verklaring kan egter met arbitrêre kompleksiteit genesteer word.

Sien ook hoe om argumente aan 'n bash-skrif te gee , wat wys hoe om kondisies te gebruik om parameters wat geslaag is vanaf die opdraglyn te verwerk.

Die bash-skulp bied ander programmeringskonstrukte, soos for-loops , while-loops en rekenkundige uitdrukkings .