Bash Als variabele leeg is Acties uitvoeren

Bash If Variable Is Empty Do Actions



Bash-scripting is een van de voordelen van het gebruik van Linux. Hiermee kunnen we aangepaste opdrachten en hulpmiddelen maken om onze dagelijkse taken te automatiseren. Zoals de meeste programmeertalen geeft Bash ons voorwaardelijke instructies om te controleren op specifieke voorwaarden en acties uit te voeren op basis van het resultaat.

Deze zelfstudie laat u zien hoe u voorwaardelijke instructies kunt gebruiken om te controleren of een variabele leeg is en vervolgens een actie uit te voeren. Dergelijke acties kunnen bestaan ​​uit het herhalen van een codeblok totdat de variabele niet leeg is, stoppen of eenvoudigweg de gebruiker waarschuwen dat de variabele leeg is.







Voordat we beginnen, is het handig als je bekend bent met basis Bash-scripting.



Bash Basic - Variabelen 101

Variabelen zijn kernbouwstenen van elke echte programmeertaal en Bash gebruikt variabelen. Variabelen zijn gegevenscontainers die worden gebruikt om waarden op te slaan voor gebruik in latere secties van het programma.



Om een ​​eenvoudige variabele in Bash te maken, gebruiken we de naam van de variabele.





Bijvoorbeeld:

#!/bin/bash

$i_am

Nadat u de variabele hebt geïnitialiseerd, kunt u de waarde eraan toewijzen door een gelijkteken te gebruiken als:



#!/bin/bash

ik ben=ubuntu

Nadat het is gedeclareerd en toegewezen, kunt u het aanroepen door er eenvoudig naar te verwijzen met de naam:

#!/bin/bash

gooide uit $i_am

Hiermee wordt de waarde geretourneerd die is opgeslagen in de variabele, zoals weergegeven in de onderstaande schermafbeelding.

OPMERKING: Verwijzen naar een variabele tussen enkele aanhalingstekens en dubbele aanhalingstekens levert verschillende resultaten op. Een variabele tussen enkele aanhalingstekens wordt een letterlijke tekenreeks, terwijl het in een dubbel aanhalingsteken de behandeling van een variabelenaam krijgt.

Hier is een voorbeeld:

Nu we de basis van variabelen in Bash hebben, kunnen we doorgaan met conditionals en controleren op een lege variabele.

Raadpleeg de onderstaande bron voor een gedetailleerde handleiding over het maken van bash-variabelen:

https://linuxhint.com/variables_bash/

Basisprincipes van bash - If-statements

Als statements een ander fundamenteel programmeerblok zijn en Bash zonder hen kreupel zou zijn. Ze stellen ons in staat om een ​​actie uit te voeren als een voorwaarde waar of onwaar is.

Laten we een korte samenvatting geven van het gebruik van Bash als, als...anders en als...elif...anders

de als S verklaring

De algemene syntaxis voor het gebruik van een if-statement in Bash is zoals hieronder weergegeven:

#!/bin/bash

indien {voorwaarde}

dan

doen

zijn

We beginnen een if-statement door het if-sleutelwoord aan te roepen. Vervolgens specificeren we de voorwaarde die moet worden gecontroleerd. De voorwaarde kan een eenvoudige of een complexe uitdrukking zijn, zolang deze maar waar of onwaar is.

Vervolgens stellen we het sleutelwoord in dat het codeblok specificeert dat moet worden uitgevoerd als de voorwaarde als waar wordt geëvalueerd.

Ten slotte sluiten we het if-statement af met het fi-sleutelwoord.

Als...andere verklaringen

Een bash if...else-instructie specificeert een extra actie als de voorwaarde onwaar is. De algemene syntaxis is:

#!/bin/bash

indien {voorwaarde}

dan

doen

anders

doen

zijn

Een voorbeeld van een use-case

Sta me toe een eenvoudig voorbeeld te gebruiken om het gebruik van if-statements te illustreren.

Het if-statement ziet er als volgt uit:

#!/bin/bash
op een=1
indien [[ $aantal -gt5 ]]
dan
gooide uit '$aantalgroter is dan 5'
anders
gooide uit '$aantalis minder dan 5'
zijn

De uitvoer is zoals hieronder weergegeven:

Omdat we nu de basis hebben van if-statements, laten we doorgaan met deze tutorial.

Controleer of verklaringen in details hieronder:

https://linuxhint.com/bash_conditional_statement/

Hoe te controleren of variabele leeg is?

Een populaire en eenvoudige manier om te controleren of een variabele leeg is, is door de -z-optie in de voorwaarde-instructie te gebruiken.

De -z $var retourneert waar als een variabele leeg is en onwaar als dat niet het geval is.

De algemene syntaxis voor een dergelijke test is:

#!/bin/bash
indien [[ -Met $ var ]]
dan
doen
anders
doen
zijn

Voorbeeldscript

Laten we een eenvoudig script illustreren dat de opdracht cd emuleert en door de opgegeven map navigeert.

Beschouw het onderstaande script:

#!/bin/bash
gooide uit 'Voer pad in om naar te navigeren: '

lezen_pad

terwijl [[ -Met $_pad ]];doen
gooide uit 'Geef een pad op'
gedaan
gooide uit 'Navigeren naar'$_pad'
CD $_pad

Nadat we de bovenstaande query hebben uitgevoerd, krijgen we de uitvoer zoals hieronder weergegeven.

Het script begint met het vragen van de gebruiker om de map in te voeren waarnaar hij moet navigeren. Vervolgens wordt gecontroleerd of de variabele leeg is. Indien leeg, wordt de gebruiker recursief om een ​​pad gevraagd totdat de variabele niet leeg is.

Zodra het pad beschikbaar is, navigeert het naar de ingestelde directory en drukt de status af.

Conclusie

Deze korte tutorial liet je zien hoe je kunt controleren of een variabele leeg is met behulp van de vlag -z. Hiermee wordt gecontroleerd of de lengte van de variabele 0 is en als 0 de variabele leeg is. Dit kan erg krachtig zijn als de waarde van een variabele waar moet zijn voordat u verder gaat.

U kunt de bovenstaande instructie ook combineren met andere uitdrukkingen om een ​​complexe tool te maken als de variabele leeg is of niet.

Bedankt, en veel plezier met scripten!!