Hoe te controleren of de variabele is ingesteld of leeg is in bash

How Check Variable Is Set



Een variabele kan gedefinieerd of ongedefinieerd zijn. Wanneer een variabele niet is gedeclareerd of gedeclareerd maar er geen waarde is toegewezen, is de variabele niet ingesteld of ongedefinieerd. Wanneer een variabele wordt gedeclareerd en een waarde krijgt toegewezen, wordt de variabele ingesteld. Vaak is het nodig om te weten dat de specifieke variabele al dan niet is ingesteld voor programmeerdoeleinden. Een van de belangrijke doelen om te controleren of de variabele al dan niet is ingesteld, is gegevensvalidatie. Bash heeft geen ingebouwde functie zoals andere standaard programmeertalen om te controleren of een variabele is ingesteld of niet. Maar bash heeft een functie om deze taak uit te voeren. Hoe u kunt controleren of de variabele al dan niet in bash is ingesteld, wordt in deze zelfstudie getoond.

Syntaxis:







[[ -vvariabele]]Of[[ -Metvariabele]]

De optie '-v' of '-z' wordt gebruikt om te controleren of de variabele is in- of uitgeschakeld. De bovenstaande Booleaanse expressie retourneert true als de variabele is ingesteld en retourneert false als de variabele niet is ingesteld of leeg is.



${variabele+tekenreeks}

Het vervangen van parameters is een andere manier om te controleren of de variabele is in- of uitgeschakeld. Als de variabele is ingesteld, wordt de waarde van de tekenreeks geretourneerd, anders wordt null geretourneerd.



Voorbeeld-1: Controleer of de variabele is in- of uitgeschakeld met de optie '-z'

Maak een bash-bestand met de naam check_var1.sh met het volgende script. Hier, de eerste ` als` voorwaarde zal true retourneren en Aantal variabele is niet ingesteld zal afdrukken. In de volgende instructie wordt 20 toegewezen aan de variabele, $aantal . De tweede `if`-voorwaarde retourneert false en Num is ingesteld en de waarde van Num=20 zal afdrukken.





check_var1.sh

#!/bin/bash
#Controleer of de variabele is ingesteld of niet
indien [ -Met ${Aantal} ];dan
gooide uit ''Aantal' variabele is niet ingesteld'
anders
gooide uit ''Aantal' variabele is ingesteld'
zijn
#Wijs een waarde toe
op een=twintig
#Controleer of de variabele is ingesteld of niet na het toewijzen van de waarde
indien [ -Met ${Aantal} ];dan
gooide uit ''Aantal' variabele is niet ingesteld'
anders
gooide uit ''Num is ingesteld en de waarde van Num=$aantal'
zijn

Voer het script uit.



$bashcheckvar1.sh

Voorbeeld-2: Controleer of de variabele is in- of uitgeschakeld met behulp van parametersubstituut

Maak een bash-bestand met de naam check_var2.sh en voeg het volgende script toe. Hier wordt een tekenreekswaarde toegewezen aan de variabele, $str voordat wordt gecontroleerd of de variabele is in- of uitgeschakeld. De 'if'-voorwaarde retourneert waar en het bericht, ’str’ variabele is ingesteld en de waarde is Hallo zal afdrukken.

check_var2.sh

#!/bin/bash
#Stel de variabele in
P=Hallo
#Wijs de waarde Wereld toe aan controlewaarde als de str-variabele is ingesteld
checkval=${str+Wereld}
#Controleer of de variabele is in- of uitgeschakeld
indien [ $checkval -eqWereld];dan
gooide uit ''str' variabele is ingesteld en de waarde is$ str'
anders
gooide uit ''str' variabele is niet ingesteld'
zijn

Voer het script uit.

$bashcheckvar2.sh

Voorbeeld-3: Controleer of de variabele leeg is of niet

Maak een bash-bestand met de naam check_var3.sh en voeg het volgende script toe. Het script slaat het eerste opdrachtregelargument op in een variabele, $argv dat wordt getest in de volgende verklaring. De uitvoer zal zijn: Eerste argument is leeg als er geen argument wordt doorgegeven, wordt de waarde van het eerste argument afgedrukt.

check_var3.sh

#!/bin/sh
#Lees de eerste opdrachtregelargumentwaarde
argv='$ 1'
#Controleer of de eerste argumentwaarde is opgegeven of niet
[ -v '$argv' ] && gooide uit 'Eerste argument is leeg' ||
gooide uit 'De waarde van het eerste argument is$argv'

Voer het script uit zonder enig argument.

$bashcheckvar3.sh

Voer het script uit met een argument.

$bashcheckvar3.shtoets

Conclusie

Verschillende manieren om te controleren of de variabele is ingesteld of uitgeschakeld of leeg is, worden in deze zelfstudie getoond aan de hand van verschillende voorbeelden. Hoop, deze tutorial zal de gebruikers helpen om de manieren te leren om elke bash-variabele te testen.