Hvordan sjekke at variabelen er satt eller tom i bash

How Check Variable Is Set



En variabel kan defineres eller ikke defineres. Når en variabel ikke er deklarert eller deklarert, men det ikke er tilordnet noen verdi, er ikke variabelen angitt eller udefinert. Når en hvilken som helst variabel deklareres og tildeles en verdi, settes variabelen. Mange ganger krever det å vite at den bestemte variabelen er angitt eller ikke for programmeringsformål. Et av de viktigste formålene med å kontrollere variabelen er angitt eller ikke, er datavalidering. Bash har ingen innebygd funksjon som andre standard programmeringsspråk for å kontrollere at en variabel er satt eller ikke. Men bash har en funksjon for å utføre denne oppgaven. Hvordan du kan kontrollere at variabelen er satt eller ikke i bash, er vist i denne opplæringen.

Syntaks:







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

'-V' eller '-z' alternativet brukes til å kontrollere at variabelen er angitt eller deaktivert. Det boolske uttrykket ovenfor returnerer true hvis variabelen er angitt og returnerer false hvis variabelen ikke er satt eller tom.



$ {variable+string}

Parameterbytte er en annen måte å kontrollere at variabelen er angitt eller deaktivert. Hvis variabelen er angitt, vil verdien av strengen returnere ellers vil null returnere.



Eksempel-1: Kontroller at variabelen er satt eller deaktivert ved å bruke alternativet ‘-z’

Lag en bash -fil med navnet check_var1.sh med følgende skript. Her, den første ` hvis` tilstanden vil returnere sant og Num -variabelen er ikke angitt vil skrive ut. I den neste setningen er 20 tilordnet variabelen, $ tall . Den andre `if` -tilstanden returnerer false og Num er satt og verdien til Num = 20 vil skrive ut.





check_var1.sh

#!/bin/bash
#Sjekk at variabelen er angitt eller ikke
hvis [ -Med $ {Num} ];deretter
kastet ut '' Num 'variabel er ikke angitt'
ellers
kastet ut '' Num 'variabel er angitt'
være
#Tildel en verdi
på en=tjue
#Sjekk at variabelen er angitt eller ikke etter tildeling av verdien
hvis [ -Med $ {Num} ];deretter
kastet ut '' Num 'variabel er ikke angitt'
ellers
kastet ut '' Num er angitt og verdien av Num =$ tall'
være

Kjør skriptet.



$bashcheckvar1.sh

Eksempel-2: Kontroller at variabelen er satt eller deaktivert ved hjelp av parametererstatning

Lag en bash -fil med navnet check_var2.sh og legg til følgende skript. Her blir en strengverdi tilordnet variabelen, $ str før du kontrollerer at variabelen er satt eller ikke angitt. 'Hvis' -tilstanden kommer tilbake og meldingen, 'Str' variabel er angitt og verdien er Hei vil skrive ut.

check_var2.sh

#!/bin/bash
#Angi variabelen
s. s= Hei
#Tildel verdien Verden til kontrollverdi hvis str -variabelen er angitt
sjekkval=$ {str+verden}
#Sjekk at variabelen er angitt eller deaktivert
hvis [ $ sjekk -ekvVerden];deretter
kastet ut '' Str 'variabel er satt og verdien er$ str'
ellers
kastet ut '' Str 'variabel er ikke angitt'
være

Kjør skriptet.

$bashcheckvar2.sh

Eksempel 3: Kontroller at variabelen er tom eller ikke

Lag en bash -fil med navnet check_var3.sh og legg til følgende skript. Skriptet vil lagre det første kommandolinjeargumentet i en variabel, $ argv som testes i neste uttalelse. Utgangen blir Det første argumentet er tomt hvis ingen argument blir passert ellers vil verdien av det første argumentet bli skrevet ut.

check_var3.sh

#!/bin/sh
#Les den første kommandolinjeargumentverdien
argv='$ 1'
#Sjekk at den første argumentverdien er oppgitt eller ikke
[ -v '$ argv' ] && kastet ut 'Første argument er tomt' ||
kastet ut 'Verdien av det første argumentet er$ argv'

Kjør skriptet uten noen argumenter.

$bashcheckvar3.sh

Kjør skriptet med et argument.

$bashcheckvar3.shtest

Konklusjon

Ulike måter å kontrollere variabelen er satt eller ikke er satt eller tom, er vist i denne opplæringen ved hjelp av forskjellige eksempler. Håper, denne opplæringen vil hjelpe brukerne til å lære måtene å teste en hvilken som helst bash -variabel.