Kuidas kontrollida, kas muutuja on bashis määratud või tühi

How Check Variable Is Set

Muutuja võib olla määratletud või määratlemata. Kui ühtegi muutujat ei deklareerita ega deklareerita, kuid väärtust pole määratud, pole muutuja määratud ega määratlemata. Kui mis tahes muutuja deklareeritakse ja sellele määratakse väärtus, määratakse muutuja. Mitu korda on vaja teada, kas konkreetne muutuja on programmeerimise eesmärgil seatud või mitte. Muutuja kontrollimise üks olulisi eesmärke on andmete valideerimine. Bashil ei ole sisseehitatud funktsiooni, nagu teistel standardsetel programmeerimiskeeltel, et kontrollida, kas muutuja on seatud või mitte. Kuid bashil on selle ülesande täitmiseks funktsioon. Selles juhendis on näidatud, kuidas kontrollida, kas muutuja on bash -is seatud või mitte.

Süntaks:



[[ -vmuutuja]]Või[[ -Koosmuutuja]]

Valiku „-v” või „-z” abil kontrollitakse, kas muutuja on seatud või seadistamata. Ülaltoodud loogiline avaldis tagastab tõese, kui muutuja on seatud, ja tagastab vale, kui muutuja pole määratud või tühi.



$ {muutuja+string}

Parameetri asendaja on veel üks võimalus kontrollida, kas muutuja on seatud või seadistamata. Kui muutuja on seatud, naaseb stringi väärtus, vastasel juhul tagastatakse null.



Näide-1: kontrollige, kas muutuja on seatud või tühistatud, kasutades valikut -z

Looge bash -fail nimega check_var1.sh järgmise skriptiga. Siin, esimene ` kui ` tingimus naaseb tõeks ja Muutuja arv pole määratud hakkab trükkima. Järgmises lauses on 20 määratud muutujale, $ num . Teine 'if' tingimus tagastab vale ja Num on seatud ja väärtus Num = 20 hakkab trükkima.

check_var1.sh

#!/bin/bash
#Kontrollige, kas muutuja on seatud või mitte
kui [ -Koos $ {Num} ];siis
viskas välja Muutuja „Num” pole määratud ”
muidu
viskas välja Muutuja „Num” on määratud ”
olla
#Määrake väärtus
ühe peale=kakskümmend
#Kontrollige, kas muutuja on pärast väärtuse määramist seatud või mitte
kui [ -Koos $ {Num} ];siis
viskas välja Muutujat „Num” pole määratud ”
muidu
viskas välja '' Arv on seatud ja väärtus Num =$ num'
olla

Käivitage skript.



$löömacheckvar1.sh

Näide-2: kontrollige, kas muutuja on määratud või tühistatud, kasutades parameetri asendajat

Looge bash -fail nimega check_var2.sh ja lisage järgmine skript. Siin määratakse muutujale stringi väärtus, $ str enne muutuja seadistamise või määramata jätmise kontrollimist. Tingimus „kui” vastab tõele ja sõnum, Muutuja „str” on määratud ja väärtus on Tere hakkab trükkima.

check_var2.sh

#!/bin/bash
#Määrake muutuja
lk= Tere
#Määrake väärtus World kontrollvalule, kui muutuja str on seatud
kontrollväärtus=$ {str+maailm}
#Kontrollige, kas muutuja on määratud või tühistatud
kui [ $ checkval -ekvMaailm];siis
viskas välja Muutuja „str” on seatud ja väärtus on$ str'
muidu
viskas välja Muutujat „str” pole määratud ”
olla

Käivitage skript.

$löömacheckvar2.sh

Näide-3: kontrollige, kas muutuja on tühi või mitte

Looge bash -fail nimega check_var3.sh ja lisage järgmine skript. Skript salvestab esimese käsurea argumendi muutujaks, $ argv mida testitakse järgmises avalduses. Väljund saab olema Esimene argument on tühi kui ühtegi argumenti ei edastata, prinditakse esimese argumendi väärtus.

check_var3.sh

#!/bin/sh
#Lugege esimest käsurea argumendi väärtust
argv='$ 1'
#Kontrollige, kas esimene argumendi väärtus on esitatud või mitte
[ -v '$ argv' ] && viskas välja 'Esimene argument on tühi' ||
viskas välja 'Esimese argumendi väärtus on$ argv'

Käivitage skript ilma argumentideta.

$löömacheckvar3.sh

Käivitage skript argumendiga.

$löömacheckvar3.shtest

Järeldus

Selles juhendis on erinevaid näiteid kasutades näidatud erinevaid viise, kuidas kontrollida, kas muutuja on seatud või seadistamata või tühi. Loodetavasti aitab see õpetus kasutajatel õppida bash -muutuja testimise viise.