Hoe kinne IF-Statements yn in Bash-Skript opjaan

Kommando's, Syntaks, en Examples

Mei in if-statement, dy't in soart fan betingstige deklaraasje is, kinne jo ferskate aksjes útfiere, ôfhinklik fan bepaalde betingsten. It effektyf jout it systeem de mooglikheid om besluten te meitsjen.

In foarbyld fan de ienfâldige foarm fan in if-statement soe wêze:

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

Yn dit foarbyld wurdt de fariabele "getal" brûkt om in beting te wêzen dat brûkt wurdt as ûnderdiel fan de if-statement. Foardat de if-deklaraasje útfierd is, wurdt de fariabele "getallen" de wearde "5" oanjûn. De if-statement befettet dêrnei oft de wearde fan "getallen" is "5". As dat sa is, dan wurde de ferklearring tusken de kaaiwurden "dan" en "fi" útfiert, oars wurde alle ferklearrings neffens de if-statement útfierd. It kaaiwurd "fi" is "as" rjochtsjen. De bash scripting taal brûkt dizze konvention om it ein fan in komplekse ekspresje te markearjen, sa as in as-ferklearring of saak-ferklearring.

De "echo" -Antjefte printsje har argumint, yn dat gefal, de wearde fan 'e fariabele "count", nei it terminalfinster. Ynspring fan 'e koade tusken de kaaiwurden fan' e as-ferklearring ferbettert lêsberens mar is net nedich.

As jo ​​in situaasje hawwe dêr't allinich codings útfierd wurde moatte as in betingst net wier is, kinne jo it keyword "oars" brûke yn in as-ferklearring, lykas yn dit foarbyld:

count = 5 as [$ count == 5] dan echo "$ count" oars echo "count is not 5" fi

As de kondysje "$ count == 5" is wier, printset de systeem de wearde fan 'e fariabele "getal", oars wurdt it tekenrige "teken is net 5".

As jo ​​ûnderskiede wolle tusken meardere betingsten, kinne jo it kaaiwurd "elif" brûke, wat ôflaat fan "oars as", lykas yn dit foarbyld:

as [$ count == 5] dan echo "count is five" elif [$ count == 6] dan echo "count is six" oars echo "none of the above" fi

As "telt" is "5", printset it systeem "count is five". As "telt" is net "5" mar "6", it systeem printsje "telt is seis". As it gjin "5" noch "6" is, wurdt it systeem "none fan 'e boppeste" ôfdrukt.

As jo ​​miskien hawwe, kinne jo in elke nûmer fan 'elif' klauses hawwe. In foarbyld mei meardere "elif" betingsten soe wêze:

As [$ count == 5] dan echo "count is five" elif [$ count == 6] dan echo "count is six" elif [$ count == 7] dan echo "count is seven" elif [$ count = = 8] dan echo "count is eight" elif [$ count == 9] dan echo "count is nine" oars echo "none of the above" fi

In kompaktere manier om sokke ferklearrings mei meardere betingsten te skriuwen is de saak metoade. It funksjonearret likernôch de if-statement mei meardere "elif" -Klausels, mar is koart. Bygelyks, it boppeste stik fan koade kin opnij skreaun wurde mei de "case" -notysje as folgjend:

Ynfalle "$ count" yn 5) echo "count is five" ;; 6) echo "count is six" ;; 7) echo "count is seven" ;; 8) echo "count is eight" ;; 9) echo "count is nine" ;; *) echo "none of the above" esac

As-ferklearrings wurde faak brûkt yn binnen -loops of at-loops as yn dit foarbyld:

count = 1 done = 0 wylst [$ count -le 9] sliepe 1 ((count ++)) as [$ count == 5] dan fjirder fjirde echo "$ count" dien echo Ferteld

Jo kinne ek as in ferklearring nêst hawwe. Simpelste nêst as ferklearring is fan 'e foarm: as ... dan ... oars ... as ... dan ... fi ... fi. Hokker as-ferklearring kin nuttich wêze mei willekeurige kompleksiteit.

Sjoch ek hoe't jo arguminten foar in bash-skript passe , wêrby't sjen lit om betingsten foar it ferwurkjen fan parameters dy't troch de kommandorigine ferrûn binne.

De bash-shell biedt oare programmearbouwingen, lykas foar-loops , wylst-loops , en arithmetike útdrukken .