Sådan kontrolleres, at variablen er indstillet eller tom i bash

How Check Variable Is Set



En variabel kan defineres eller ikke defineres. Når en variabel ikke er deklareret eller deklareret, men der ikke er tildelt nogen værdi, er variablen ikke indstillet eller udefineret. Når en hvilken som helst variabel deklareres og tildeles en værdi, indstilles variablen. Mange gange kræver det at vide, at den særlige variabel er indstillet eller ej til programmeringsformål. Et af de vigtige formål med at kontrollere variablen er indstillet eller ej, er datavalidering. Bash har ingen indbygget funktion som andre standard programmeringssprog for at kontrollere, om en variabel er indstillet eller ej. Men bash har en funktion til at udføre denne opgave. Hvordan du kan kontrollere, at variablen er indstillet eller ej i bash, er vist i denne vejledning.

Syntaks:







[[ -vvariabel]]Eller[[ -Medvariabel]]

'-V' eller '-z' bruges til at kontrollere, at variablen er indstillet eller deaktiveret. Ovenstående boolske udtryk returnerer sandt, hvis variablen er angivet og returnerer falsk, hvis variablen ikke er angivet eller tom.



$ {variable+string}

Parametererstatning er en anden måde at kontrollere, at variablen er indstillet eller deaktiveret. Hvis variablen er indstillet, returnerer værdien af ​​strengen ellers vil null vende tilbage.



Eksempel-1: Kontroller, at variablen er indstillet eller deaktiveret ved hjælp af ‘-z’

Opret en bash -fil med navnet check_var1.sh med følgende script. Her er den første ` hvis` tilstand vender tilbage sandt og Num variabel er ikke angivet vil udskrive. I den næste erklæring er 20 tildelt variablen, $ num . Den anden 'if' -tilstand returnerer false og Num er indstillet, og værdien af ​​Num = 20 vil udskrive.





check_var1.sh

#!/bin/bash
#Kontroller, at variablen er indstillet eller ej
hvis [ -Med $ {Num} ];derefter
smed ud '' Num 'variabel er ikke indstillet'
andet
smed ud '' Num 'variabel er indstillet'
være
#Tildel en værdi
på en=tyve
#Kontroller, at variablen er indstillet eller ej, efter at værdien er tildelt
hvis [ -Med $ {Num} ];derefter
smed ud '' Num 'variabel er ikke indstillet'
andet
smed ud '' Num er indstillet, og værdien af ​​Num =$ num'
være

Kør scriptet.



$bashcheckvar1.sh

Eksempel-2: Kontroller, at variablen er indstillet eller deaktiveret ved hjælp af parametererstatning

Opret en bash -fil med navnet check_var2.sh og tilføj følgende script. Her tildeles en strengværdi variablen, $ str, før du kontrollerer, at variablen er indstillet eller deaktiveret. ‘If’ -tilstanden vender tilbage og meddelelsen, 'Str' variabel er indstillet, og værdien er Hej vil udskrive.

check_var2.sh

#!/bin/bash
#Indstil variablen
s= Hej
#Tildel værdien World til checkval, hvis str -variablen er indstillet
checkval=$ {str+Verden}
#Kontroller, at variablen er indstillet eller deaktiveret
hvis [ $ checkval -ækvVerden];derefter
smed ud '' Str 'variabel er indstillet, og værdien er$ str'
andet
smed ud '' Str 'variabel er ikke indstillet'
være

Kør scriptet.

$bashcheckvar2.sh

Eksempel-3: Kontroller, at variablen er tom eller ej

Opret en bash -fil med navnet check_var3.sh og tilføj følgende script. Scriptet gemmer det første kommandolinjeargument i en variabel, $ argv der testes i den næste erklæring. Output vil være Første argument er tomt hvis der ikke sendes noget argument, vil værdien af ​​det første argument blive udskrevet.

check_var3.sh

#!/bin/sh
#Læs den første kommandolinjeargumentværdi
argv='$ 1'
#Kontroller, at den første argumentværdi er angivet eller ej
[ -v '$ argv' ] && smed ud 'Første argument er tomt' ||
smed ud 'Værdien af ​​det første argument er$ argv'

Kør scriptet uden argumenter.

$bashcheckvar3.sh

Kør scriptet med et argument.

$bashcheckvar3.shprøve

Konklusion

Forskellige måder at kontrollere variablen er indstillet eller deaktiveret eller tom, vises i denne vejledning ved hjælp af forskellige eksempler. Håber, denne vejledning hjælper brugerne med at lære måderne at teste enhver bash -variabel.