Hvordan sjekke variabelen er satt eller tom i bash

Hvordan sjekke variabelen er satt eller tom i bash
En variabel kan defineres eller ikke definert. Når noen variabel ikke er deklarert eller erklært, men ingen verdi er tildelt, er variabelen ikke angitt eller udefinert. Når en variabel er deklarert og tildelt med en verdi, er variabelen satt. Mange ganger krever det å vite at den spesielle variabelen er satt eller ikke for programmeringsformål. Et av de viktige formålene med å sjekke variabelen er angitt eller ikke er datavalidering. Bash har ingen innebygd funksjon som andre standardprogrammeringsspråk for å sjekke at en variabel er angitt eller ikke. Men Bash har en funksjon for å gjøre denne oppgaven. Hvordan du kan sjekke variabelen er satt eller ikke i bash vises i denne opplæringen.

Syntaks:

[[-v variabel]] eller [[-z variabel]]

'-V' eller '-z' -alternativet brukes til å sjekke variabelen er angitt eller usett. Ovennevnte boolske uttrykk vil returnere sant hvis variabelen er satt og returnerer falsk hvis variabelen ikke er satt eller tom.

$ variabel+streng

Parameterstatning er en annen måte å sjekke variabelen er angitt eller usett. Hvis variabelen er satt, vil verdien av strengen returnere ellers vil null returnere.

Eksempel-1: Kontroller variabelen er angitt eller ikke-settet ved hjelp av '-z' -alternativet

Lag en bash -fil som heter CHECK_VAR1.sh med følgende skript. Her, den første 'hvis' tilstanden vil returnere sann og “NUM -variabel er ikke satt”Skal skrive ut. I neste uttalelse tildeles 20 til variabelen, $ Num. Den andre 'hvis' tilstanden vil komme tilbake og "NUM er satt og verdien av num = 20”Skal skrive ut.

CHECK_VAR1.sh

#!/bin/bash
#Sjekk variabelen er satt eller ikke
if [-z $ num]; deretter
ekko "'num' variabel er ikke satt"
ellers
ekko "'num' variabel er satt"
fi
#Tilbud en verdi
Num = 20
#Sjekk variabelen er satt eller ikke etter å ha tilordnet verdien
if [-z $ num]; deretter
ekko "'num' variabel er ikke satt"
ellers
ekko "'num er satt og verdien av num = $ num"
fi

Kjør manuset.

$ BASH CHECKVAR1.sh

Eksempel-2: Kontroller variabelen er angitt eller usett ved hjelp av parameterstatning

Lag en bash -fil som heter “CHECK_VAR2.sh”Og legg til følgende skript. Her tilordnes en strengverdi til variabelen, $ STR før du sjekker variabelen er angitt eller usett. 'Hvis' tilstanden vil returnere sann og meldingen, ''Str' variabel er satt og verdien er hei”Skal skrive ut.

CHECK_VAR2.sh

#!/bin/bash
#Sett variabelen
str = ”hei”
#Tilbud verdien “verden” til checkval hvis STR -variabelen er angitt
checkVal = $ str+”verden”
#Sjekk variabelen er satt eller usett
hvis [$ checkval -eq “world”]; deretter
ekko "'Str' variabel er satt og verdien er $ str"
ellers
ekko "'Str' variabel er ikke satt"
fi

Kjør manuset.

$ BASH CHECKVAR2.sh

Eksempel-3: Sjekk variabelen er tom eller ikke

Lag en bash -fil som heter “CHECK_VAR3.sh”Og legg til følgende skript. Skriptet vil lagre det første kommandolinjeargumentet til en variabel, $ Argv som er testet i neste uttalelse. Utgangen vil være “Første argument er tomt”Hvis ikke noe argument føres ellers vil verdien av det første argumentet bli skrevet ut.

CHECK_VAR3.sh

#!/bin/sh
#Read den første kommandolinjens argumentverdi
argv = "$ 1"
#Sjekk den første argumentverdien er gitt eller ikke
[-v "$ argv"] && ekko "første argument er tom" ||
ekko "Verdien av det første argumentet er $ argv"

Kjør manuset uten noe argument.

$ BASH CHECKVAR3.sh

Kjør manuset med et argument.

$ BASH CHECKVAR3.SH -test

Konklusjon

Ulike måter å sjekke variabelen er angitt eller usett eller tom vises i denne opplæringen ved å bruke forskjellige eksempler på. Håper, denne opplæringen vil hjelpe brukerne til å lære måtene å teste en hvilken som helst bashvariabel.