Hur man kontrollerar variabeln är inställd eller tom i bash

How Check Variable Is Set



En variabel kan vara definierad eller odefinierad. När någon variabel inte deklareras eller deklareras men inget värde tilldelas är variabeln inte inställd eller odefinierad. När någon variabel deklareras och tilldelas ett värde, ställs variabeln in. Många gånger krävs det att den specifika variabeln är inställd eller inte för programmeringsändamål. Ett av de viktiga syftena med att kontrollera variabeln är inställd eller inte är datavalidering. Bash har ingen inbyggd funktion som andra vanliga programmeringsspråk för att kontrollera att en variabel är inställd eller inte. Men bash har en funktion för att utföra denna uppgift. Hur du kan kontrollera att variabeln är inställd eller inte i bash visas i den här självstudien.

Syntax:







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

'-V' eller '-z' används för att kontrollera att variabeln är inställd eller avstängd. Ovanstående booleska uttryck returnerar true om variabeln är inställd och returnerar false om variabeln inte är inställd eller tom.



$ {variabel+sträng}

Parameterbyte är ett annat sätt att kontrollera att variabeln är inställd eller avstängd. Om variabeln är inställd, kommer strängens värde att returneras annars kommer null att återvända.



Exempel-1: Kontrollera att variabeln är inställd eller avstängd med alternativet ‘-z’

Skapa en bash -fil med namnet check_var1.sh med följande skript. Här den första ` om ' villkoret kommer att återvända sant och Num variabel är inte inställd kommer att skriva ut. I nästa uttalande tilldelas 20 variabeln 20 $ num . Det andra 'if' -villkoret returnerar falskt och Num är inställt och värdet på Num = 20 kommer att skriva ut.





check_var1.sh

#!/bin/bash
#Kontrollera att variabeln är inställd eller inte
om [ -Med $ {Num} ];sedan
kastade ut '' Num 'variabel är inte inställd'
annan
kastade ut '' Num 'variabel är inställd'
vara
#Tilldela ett värde
på ett=tjugo
#Kontrollera att variabeln är inställd eller inte efter att värdet har tilldelats
om [ -Med $ {Num} ];sedan
kastade ut '' Num 'variabel är inte inställd'
annan
kastade ut '' Num är inställt och värdet för Num =$ num'
vara

Kör skriptet.



$våldsamt slagcheckvar1.sh

Exempel-2: Kontrollera att variabeln är inställd eller avstängd med parameterersättare

Skapa en bash -fil med namnet check_var2.sh och lägg till följande skript. Här tilldelas ett strängvärde variabeln, $ str innan du kontrollerar att variabeln är inställd eller avaktiverad. 'Om' -villkoret kommer att returnera sant och meddelandet, 'Str' variabel är inställd och värdet är Hej kommer att skriva ut.

check_var2.sh

#!/bin/bash
#Ställ in variabeln
sid= Hej
#Tilldela värdet World till checkval om str -variabeln är inställd
checkval=$ {str+World}
#Kontrollera att variabeln är inställd eller avstängd
om [ $ checkval -ekvVärld];sedan
kastade ut '' Str 'variabel är inställd och värdet är$ str'
annan
kastade ut '' Str 'variabel är inte inställd'
vara

Kör skriptet.

$våldsamt slagcheckvar2.sh

Exempel 3: Kontrollera att variabeln är tom eller inte

Skapa en bash -fil med namnet check_var3.sh och lägg till följande skript. Skriptet lagrar det första kommandoradsargumentet i en variabel, $ argv som testas i nästa uttalande. Utgången blir Första argumentet är tomt om inget argument skickas annars skrivs värdet av det första argumentet ut.

check_var3.sh

#!/bin/sh
#Läs det första kommandoradsargumentvärdet
argv='$ 1'
#Kontrollera att det första argumentvärdet tillhandahålls eller inte
[ -v '$ argv' ] && kastade ut 'Första argumentet är tomt' ||
kastade ut 'Värdet på det första argumentet är$ argv'

Kör skriptet utan argument.

$våldsamt slagcheckvar3.sh

Kör skriptet med ett argument.

$våldsamt slagcheckvar3.shtesta

Slutsats

Olika sätt att kontrollera variabeln är inställd eller avstängd eller tom visas i den här självstudien med hjälp av olika exempel. Hoppas, denna handledning kommer att hjälpa användarna att lära sig sätten att testa en bash -variabel.