Skip to main content

Hoe een Bash IF-verklaring (voorwaardelijke waarden) te schrijven

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)

Linux Tutorial for Beginners: Introduction to Linux Operating System (April 2025)
Anonim

Met een if-statement, een soort voorwaardelijke verklaring, kunt u verschillende acties uitvoeren afhankelijk van de opgegeven voorwaarden. Het geeft het systeem effectief het vermogen om beslissingen te nemen.

Een voorbeeld van de eenvoudigste vorm van een if-statement zou zijn:

tel = 5 als $ count == 5 dan echo "$ count" fi

In dit voorbeeld wordt de variabele "count" gebruikt om een ​​voorwaarde op te geven die wordt gebruikt als onderdeel van de if-instructie. Voordat de if-instructie wordt uitgevoerd, krijgt de variabele "count" de waarde "5" toegewezen. De if-statement controleert vervolgens of de waarde van "count" "5" is. Als dat het geval is, wordt de verklaring tussen de trefwoorden "then" en "fi" uitgevoerd, anders worden alle uitspraken die volgen op de if-statement uitgevoerd. Het sleutelwoord "fi" is "als" achterwaarts gespeld. De bash-scriptingtaal gebruikt deze conventie om het einde van een complexe expressie, zoals een if-statement of case-statements te markeren.

De "echo" -instructie drukt zijn argument, in dit geval de waarde van de variabele "count", af naar het terminalvenster. Inspringen van de code tussen de trefwoorden van de if-statement verbetert de leesbaarheid, maar is niet noodzakelijk.

Als u een situatie hebt waarbij een stuk code alleen moet worden uitgevoerd als een voorwaarde niet waar is, kunt u het sleutelwoord "else" gebruiken in een if-statement, zoals in dit voorbeeld:

tel = 5 als $ count == 5 dan echo "$ count" anders echo "count is not 5" fi

Als de voorwaarde "$ count == 5" waar is, wordt door het systeem de waarde van de variabele "count" afgedrukt, anders wordt de tekenreeks "count is not 5" afgedrukt.

Als u onderscheid wilt maken tussen meerdere voorwaarden, kunt u het sleutelwoord "elif" gebruiken, dat is afgeleid van "else if", zoals in dit voorbeeld:

als $ count == 5 dan echo "count is five" elif $ count == 6 dan echo "count is six" anders echo "geen van bovenstaande" fi

Als "tellen" "5" is, wordt het "aantal is vijf" afgedrukt. Als "tellen" niet "5" maar "6" is, drukt het systeem "aantal is zes" af. Als het geen "5" of "6" is, drukt het systeem "geen van bovenstaande" af.

Zoals je misschien al geraden hebt, kun je een onbeperkt aantal 'elif'-clausules hebben. Een voorbeeld met meerdere "elif" -voorwaarden zou zijn:

als $ count == 5 dan echo "count is five" elif $ count == 6 dan echo "count is six" elif $ count == 7 echo "count is seven" elif $ count = = 8 dan echoleren "tel is acht" elif $ tel == 9 dan echo "tel is negen" anders echo "geen van bovenstaande" fi

Een meer compacte manier om dergelijke uitspraken met meerdere voorwaarden te schrijven, is de casusmethode. Het functioneert vergelijkbaar met de if-statement met meerdere "elif" -clausules maar is beknopter. Het bovenstaande stuk code kan bijvoorbeeld als volgt opnieuw worden geschreven met de "case" -instructie:

case "$ count" in 5) echo "count is five" ;; 6) echo "telling is zes" ;; 7) echo "telling is zeven"; 8) echo "aantal is acht"; 9) echo "aantal is negen"; *) echo "geen van bovenstaande" esac

If-statements worden vaak gebruikt in for-loops of while-loops zoals in dit voorbeeld:

aantal = 1 gedaan = 0, terwijl $ tel -le 9 slaapt 1 ((tel ++)) als $ tel == 5 ga dan verder met fi echo "$ tel" gedaan echo Voltooid

U kunt ook geneste if-instructies hebben. Eenvoudigste geneste if-opdracht heeft de vorm: if … then … else … if … then … fi … fi. If-statement kan echter genest zijn met willekeurige complexiteit.

Zie ook hoe argumenten door te geven aan een bash-script, dat laat zien hoe conditionals worden gebruikt om parameters te verwerken die worden doorgegeven via de opdrachtregel.

De bash-shell biedt andere programmeerconstructs, zoals for-loops, while-loops en rekenkundige expressies.