Kuinka tarkistaa, onko muuttuja asetettu tai tyhjä bashissa

How Check Variable Is Set

Muuttuja voi olla määritelty tai määrittelemätön. Jos muuttujaa ei julisteta tai ilmoiteta, mutta arvoa ei ole määritetty, muuttujaa ei ole asetettu tai määritelty. Kun mikä tahansa muuttuja ilmoitetaan ja sille annetaan arvo, muuttuja asetetaan. Monta kertaa se tarvitsee tietää, onko tietty muuttuja asetettu vai ei ohjelmointitarkoituksiin. Yksi tärkeistä muuttujan tarkistamisen tarkoituksista on tietojen validointi. Bashissa ei ole sisäänrakennettua toimintoa, kuten muut standardi ohjelmointikielet, joiden avulla voidaan tarkistaa, onko muuttuja asetettu vai ei. Mutta bashilla on ominaisuus tämän tehtävän suorittamiseen. Tässä opetusohjelmassa näytetään, kuinka voit tarkistaa, onko muuttuja asetettu vai ei bash -muodossa.

Syntaksi:



[[ -vmuuttuja]]Tai[[ -Kanssamuuttuja]]

'-V' tai '-z' -vaihtoehtoa käytetään tarkistamaan, onko muuttuja asetettu tai poistettu käytöstä. Edellä oleva Boolen lauseke palauttaa true, jos muuttuja on asetettu, ja palauttaa epätosi, jos muuttuja ei ole asetettu tai tyhjä.



$ {muuttuja+merkkijono}

Parametrikorvaus on toinen tapa tarkistaa, onko muuttuja asetettu tai poistettu käytöstä. Jos muuttuja on asetettu, merkkijonon arvo palautuu, muuten null palaa.



Esimerkki 1: Tarkista, että muuttuja on asetettu tai poistettu käytöstä käyttämällä -z-vaihtoehtoa

Luo bash -tiedosto nimeltä check_var1.sh seuraavan käsikirjoituksen kanssa. Tässä ensimmäinen ' jos` ehto palautuu tosi ja Nummuuttujaa ei ole asetettu tulostaa. Seuraavassa lauseessa 20 on määritetty muuttujalle, $ numero . Toinen 'jos' -ehto palauttaa epätosi ja Num on asetettu ja arvo Num = 20 tulostaa.

check_var1.sh

#!/bin/bash
#Tarkista, onko muuttuja asetettu vai ei
jos [ -Kanssa $ {Num} ];sitten
heitti pois 'Num' -muuttujaa ei ole asetettu
muu
heitti pois 'Num -muuttuja on asetettu'
olla
#Anna arvo
yhdellä=kaksikymmentä
#Tarkista, onko muuttuja asetettu vai ei arvon määrittämisen jälkeen
jos [ -Kanssa $ {Num} ];sitten
heitti pois 'Num' -muuttujaa ei ole asetettu
muu
heitti pois '' Num on asetettu ja arvo Num =$ numero''
olla

Suorita komentosarja.



$lyödächeckvar1.sh

Esimerkki 2: Tarkista, onko muuttuja asetettu tai poistettu käytöstä parametrin korvikkeella

Luo bash -tiedosto nimeltä check_var2.sh ja lisää seuraava komentosarja. Tässä merkkijonoarvo määritetään muuttujalle $ str ennen kuin tarkistetaan, onko muuttuja asetettu tai poistettu. 'Jos' -ehto palaa tosi ja viesti, 'Str' -muuttuja on asetettu ja arvo on Hei tulostaa.

check_var2.sh

#!/bin/bash
#Aseta muuttuja
s= Hei
#Anna World -arvo checkval -arvoon, jos str -muuttuja on asetettu
tarkistusarvo=$ {str+maailma}
#Tarkista, että muuttuja on asetettu tai poistettu käytöstä
jos [ $ checkval -ekvMaailman];sitten
heitti pois 'Str' muuttuja on asetettu ja arvo on$ str''
muu
heitti pois 'Str' muuttujaa ei ole asetettu
olla

Suorita komentosarja.

$lyödächeckvar2.sh

Esimerkki 3: Tarkista, onko muuttuja tyhjä vai ei

Luo bash -tiedosto nimeltä check_var3.sh ja lisää seuraava komentosarja. Skripti tallentaa ensimmäisen komentoriviargumentin muuttujaan, $ argv joka testataan seuraavassa lauseessa. Lähtö on Ensimmäinen argumentti on tyhjä jos argumenttia ei anneta, ensimmäisen argumentin arvo tulostetaan.

check_var3.sh

#!/bin/sh
#Lue ensimmäinen komentoriviargumentin arvo
argv=$ 1
#Tarkista, onko ensimmäinen argumentin arvo annettu vai ei
[ -v ''$ argv'' ] && heitti pois 'Ensimmäinen argumentti on tyhjä' ||
heitti pois 'Ensimmäisen argumentin arvo on$ argv''

Suorita komentosarja ilman argumentteja.

$lyödächeckvar3.sh

Suorita komentosarja argumentilla.

$lyödächeckvar3.shtestata

Johtopäätös

Tässä opetusohjelmassa on esitetty erilaisia ​​tapoja tarkistaa, onko muuttuja asetettu, onko se asetettu tai tyhjä, käyttämällä erilaisia ​​esimerkkejä. Toivottavasti tämä opetusohjelma auttaa käyttäjiä oppimaan tapoja testata mitä tahansa bash -muuttujaa.