Hogyan lehet ellenőrizni, hogy a változó be van -e állítva vagy üres a bash -ban

How Check Variable Is Set



Egy változó meghatározható vagy nem definiált. Ha bármely változó nincs deklarálva vagy deklarálva, de nincs hozzárendelve érték, akkor a változó nincs beállítva vagy nem definiált. Ha bármely változót deklarálnak és értékkel rendelnek hozzá, akkor a változó kerül beállításra. Sokszor szükséges tudni, hogy az adott változó programozási célokra van -e beállítva. A változó ellenőrzésének egyik fontos célja az adatellenőrzés. A Bash nem rendelkezik olyan beépített funkcióval, mint a többi szabványos programozási nyelv, hogy ellenőrizze a változó beállítását vagy sem. De a bash rendelkezik ezzel a feladattal. Ez az oktatóanyag bemutatja, hogyan ellenőrizheti, hogy a változó be van -e állítva bash -ban.

Szintaxis:







[[ -vváltozó]]Vagy[[ -Val velváltozó]]

A „-v” vagy „-z” opcióval ellenőrizhető, hogy a változó be van-e állítva vagy nincs beállítva. A fenti logikai kifejezés igaz értéket ad vissza, ha a változó be van állítva, és hamisat ad vissza, ha a változó nincs beállítva vagy üres.



$ {variable+string}

A paraméterpótló egy másik módja annak, hogy ellenőrizze a változó beállítását vagy beállítását. Ha a változó be van állítva, akkor a karakterlánc értéke visszatér, különben a null visszatér.



1. példa: Ellenőrizze, hogy a változó be van-e állítva vagy nincs beállítva a „-z” opció használatával

Hozzon létre egy bash fájlt check_var1.sh a következő forgatókönyvvel. Itt az első ha` állapot visszatér és igaz A számváltozó nincs beállítva nyomtatni fog. A következő utasításban 20 van hozzárendelve a változóhoz, $ szám . A második 'ha' feltétel hamis és A Num be van állítva, és a Num értéke = 20 nyomtatni fog.





check_var1.sh

#!/bin/bash
#Ellenőrizze, hogy a változó be van -e állítva
ha [ -Val vel $ {Num} ];azután
kidobta A 'Num' változó nincs beállítva
más
kidobta 'Num' változó van beállítva
lenni
#Rendeljen értéket
az egyiken=húsz
#Az érték hozzárendelése után ellenőrizze, hogy a változó be van -e állítva vagy sem
ha [ -Val vel $ {Num} ];azután
kidobta A 'Num' változó nincs beállítva
más
kidobta '' Num van beállítva, és Num = értéke$ szám'
lenni

Futtassa a szkriptet.



$bashcheckvar1.sh

2. példa: Ellenőrizze, hogy a változó be van-e állítva vagy nincs beállítva a paraméter-helyettesítő használatával

Hozzon létre egy bash fájlt check_var2.sh és adja hozzá a következő szkriptet. Itt egy karakterlánc értéket rendelünk a változóhoz, $ str, mielőtt ellenőriznénk, hogy a változó be van -e állítva vagy nincs beállítva. Az „if” feltétel igaz lesz, és az üzenet, Az „str” változó be van állítva, és az érték Hello nyomtatni fog.

check_var2.sh

#!/bin/bash
#Állítsa be a változót
o= Helló
#Rendelje hozzá a World értéket az checkval értékhez, ha az str változó be van állítva
ellenőrző érték=$ {str+World}
#Ellenőrizze, hogy a változó be van -e állítva vagy nincs beállítva
ha [ $ checkval -eqVilág];azután
kidobta Az „str” változó be van állítva, az érték pedig$ str'
más
kidobta Az „str” változó nincs beállítva ”
lenni

Futtassa a szkriptet.

$bashcheckvar2.sh

3. példa: Ellenőrizze, hogy a változó üres-e vagy sem

Hozzon létre egy bash fájlt check_var3.sh és adja hozzá a következő szkriptet. A szkript az első parancssori argumentumot egy változóba tárolja, $ argv amit a következő állítás tesztel. A kimenet lesz Az első érv üres ha egyetlen argumentum sem kerül átadásra, akkor az első argumentum értéke kerül kinyomtatásra.

check_var3.sh

#!/bin/sh
#Olvassa el az első parancssori argumentum értékét
argv=„1 USD”
#Ellenőrizze, hogy az első argumentumérték megadva van -e vagy sem
[ -v '$ argv' ] && kidobta 'Az első érv üres' ||
kidobta - Az első érv értéke az$ argv'

Futtassa a szkriptet minden érv nélkül.

$bashcheckvar3.sh

Futtassa a szkriptet egy argumentummal.

$bashcheckvar3.shteszt

Következtetés

Ebben az oktatóanyagban a példák segítségével különböző módon ellenőrizheti a változó beállítását, beállítását vagy üres állapotát. Reméljük, ez az oktatóanyag segít a felhasználóknak megtanulni a bash változók tesztelésének módjait.