Kaip patikrinti, ar kintamasis nustatytas arba tuščias bash

How Check Variable Is Set



Kintamasis gali būti apibrėžtas arba neapibrėžtas. Kai bet kuris kintamasis nėra deklaruojamas ar deklaruojamas, bet nėra priskiriama jokia reikšmė, jis nėra nustatytas arba neapibrėžtas. Kai bet kuris kintamasis deklaruojamas ir jam priskiriama reikšmė, jis yra nustatomas. Daug kartų reikia žinoti, ar tam tikras kintamasis yra nustatytas, ar ne programavimo tikslais. Vienas iš svarbių kintamojo tikrinimo tikslų yra duomenų patvirtinimas. „Bash“ neturi integruotos funkcijos, kaip ir kitos standartinės programavimo kalbos, kad patikrintų, ar kintamasis nustatytas, ar ne. Tačiau „bash“ turi funkciją atlikti šią užduotį. Šiame vadove parodyta, kaip galite patikrinti, ar kintamasis nustatytas ar ne bash.

Sintaksė:







[[ -vkintamasis]]Arba[[ -Sukintamasis]]

„-V“ arba „-z“ parinktis naudojama patikrinti, ar kintamasis nustatytas arba nenustatytas. Aukščiau pateikta loginė išraiška grąžinama tiesa, jei kintamasis nustatytas, ir grąžina klaidingą, jei kintamasis nenustatytas arba tuščias.



$ {variable+string}

Parametrų pakaitalas yra dar vienas būdas patikrinti, ar kintamasis nustatytas arba išjungtas. Jei kintamasis nustatytas, tada eilutės reikšmė grįš, priešingu atveju grįš null.



1 pavyzdys: patikrinkite, ar kintamasis nustatytas arba išjungtas naudojant parinktį „-z“

Sukurkite bash failą pavadinimu check_var1.sh su šiuo scenarijumi. Štai pirmasis “ jei sąlyga grįš į tikrąją ir Kintamasis skaičius nenustatytas atspausdins. Kitame teiginyje kintamajam priskiriama 20, $ num . Antroji „jei“ sąlyga grąžins klaidingą ir Nustatytas skaičius ir reikšmė Num = 20 atspausdins.





check_var1.sh

#!/bin/bash
#Patikrinkite, ar kintamasis nustatytas, ar ne
jei [ -Su $ {Num} ];tada
išmetė „Num“ kintamasis nenustatytas “
Kitas
išmetė Nustatytas kintamasis „Num“
būti
#Priskirkite vertę
ant vieno=dvidešimt
#Patikrinę reikšmę patikrinkite, ar kintamasis nustatytas, ar ne
jei [ -Su $ {Num} ];tada
išmetė „Num“ kintamasis nenustatytas “
Kitas
išmetė '' Skaičius nustatytas ir reikšmė Num =$ num'
būti

Paleiskite scenarijų.



$mušticheckvar1.sh

2 pavyzdys: patikrinkite, ar kintamasis nustatytas arba išjungtas naudojant parametrų pakaitalą

Sukurkite bash failą pavadinimu check_var2.sh ir pridėkite šį scenarijų. Čia eilutės reikšmė priskiriama kintamajam, $ str prieš tikrinant, ar kintamasis nustatytas ar išjungtas. Sąlyga „jei“ grįš tiesa ir pranešimas, „Str“ kintamasis nustatytas, o vertė - „Hello“ atspausdins.

check_var2.sh

#!/bin/bash
#Nustatykite kintamąjį
p= Sveiki
#Priskirkite reikšmei „World“ „checkval“, jei nustatytas kintamasis „str“
patikrinimo vertas=$ {str+World}
#Patikrinkite, ar kintamasis nustatytas arba išjungtas
jei [ $ checkval -ekvPasaulis];tada
išmetė Nustatytas kintamasis „str“, o vertė yra$ str'
Kitas
išmetė „Str“ kintamasis nenustatytas “
būti

Paleiskite scenarijų.

$mušticheckvar2.sh

3 pavyzdys: patikrinkite, ar kintamasis tuščias, ar ne

Sukurkite bash failą pavadinimu check_var3.sh ir pridėkite šį scenarijų. Scenarijus pirmą komandinės eilutės argumentą išsaugos kintamajame, $ argv kuris išbandytas kitame teiginyje. Išėjimas bus Pirmasis argumentas tuščias jei argumentas nepriimamas, pirmojo argumento vertė bus išspausdinta.

check_var3.sh

#!/bin/sh
#Skaitykite pirmąją komandinės eilutės argumento reikšmę
argv=„1 USD“
#Patikrinkite, ar pirmoji argumento vertė pateikta, ar ne
[ -v '$ argv' ] && išmetė „Pirmasis argumentas tuščias“ ||
išmetė „Pirmojo argumento vertė yra$ argv'

Paleiskite scenarijų be jokių argumentų.

$mušticheckvar3.sh

Paleiskite scenarijų su argumentu.

$mušticheckvar3.shtestas

Išvada

Šiame vadove pateikiami įvairūs būdai, kaip patikrinti, ar kintamasis nustatytas, ar nenustatytas, ar tuščias, naudojant įvairius pavyzdžius. Tikimės, kad ši pamoka padės vartotojams išmokti išbandyti bet kokį „bash“ kintamąjį.