Kā pārbaudīt, vai mainīgais ir iestatīts vai tukšs bash

How Check Variable Is Set



Mainīgo var definēt vai nedefinēt. Ja kāds mainīgais netiek deklarēts vai deklarēts, bet netiek piešķirta vērtība, mainīgais nav iestatīts vai nav definēts. Kad jebkurš mainīgais tiek deklarēts un tam ir piešķirta vērtība, tas tiek iestatīts. Daudzas reizes ir jāzina, vai konkrētais mainīgais ir iestatīts programmēšanas nolūkos. Viens no svarīgiem mērķiem, kā pārbaudīt mainīgo, ir iestatīts vai nav, ir datu validācija. Bash nav iebūvēta funkcija, tāpat kā citas standarta programmēšanas valodas, lai pārbaudītu, vai mainīgais ir iestatīts. Bet bash ir funkcija, lai veiktu šo uzdevumu. Šajā apmācībā ir parādīts, kā pārbaudīt, vai mainīgais ir iestatīts vai nav bash.

Sintakse:







[[ -vmainīgais]]Vai[[ -Armainīgais]]

Opcija “-v” vai “-z” tiek izmantota, lai pārbaudītu, vai mainīgais ir iestatīts vai nav iestatīts. Iepriekš minētā Būla izteiksme atgriezīs patiesību, ja mainīgais ir iestatīts, un atgriež nepatiesu, ja mainīgais nav iestatīts vai ir tukšs.



$ {variable+string}

Parametru aizstājējs ir vēl viens veids, kā pārbaudīt, vai mainīgais ir iestatīts vai nav iestatīts. Ja mainīgais ir iestatīts, tad virknes vērtība tiks atgriezta, pretējā gadījumā atgriezīsies null.



1. piemērs: pārbaudiet, vai mainīgais ir iestatīts vai atiestatīts, izmantojot opciju “-z”

Izveidojiet bash failu ar nosaukumu check_var1.sh ar šādu skriptu. Lūk, pirmais ` ja` stāvoklis atgriezīsies un Mainīgais skaitlis nav iestatīts izdrukās. Nākamajā paziņojumā mainīgajam ir piešķirts 20, $ num . Otrais nosacījums “ja” atgriež nepatiesu un Num ir iestatīts, un vērtība Num = 20 izdrukās.





check_var1.sh

#!/bin/bash
#Pārbaudiet, vai mainīgais ir iestatīts vai nav
ja [ -Ar $ {Num} ];tad
izmest ārā Mainīgais “Num” nav iestatīts ”
citādi
izmest ārā Ir iestatīts mainīgais “Num”
būt
#Piešķiriet vērtību
uz vienu=divdesmit
#Pēc vērtības piešķiršanas pārbaudiet, vai mainīgais ir iestatīts
ja [ -Ar $ {Num} ];tad
izmest ārā Mainīgais “Num” nav iestatīts ”
citādi
izmest ārā '' Num ir iestatīts un Num = vērtība$ num'
būt

Palaidiet skriptu.



$bashcheckvar1.sh

2. piemērs. Pārbaudiet, vai mainīgais ir iestatīts vai atiestatīts, izmantojot parametru aizstājēju

Izveidojiet bash failu ar nosaukumu check_var2.sh un pievienojiet šādu skriptu. Šeit mainīgajam tiek piešķirta virknes vērtība $ str pirms mainīgā iestatīšanas vai atiestatīšanas. Nosacījums “ja” atgriezīs patiesību un ziņu, Ir iestatīts mainīgais “str”, un tā vērtība ir Sveiki izdrukās.

check_var2.sh

#!/bin/bash
#Iestatiet mainīgo
lpp= Labdien
#Piešķiriet vērtībai World vērtību checkval, ja ir iestatīts mainīgais str
checkval=$ {str+World}
#Pārbaudiet, vai mainīgais ir iestatīts vai atiestatīts
ja [ $ checkval -ekvPasaule];tad
izmest ārā Ir iestatīts mainīgais “str”, un vērtība ir$ str'
citādi
izmest ārā Mainīgais “str” nav iestatīts ”
būt

Palaidiet skriptu.

$bashcheckvar2.sh

3. piemērs. Pārbaudiet, vai mainīgais ir tukšs vai nav

Izveidojiet bash failu ar nosaukumu check_var3.sh un pievienojiet šādu skriptu. Skripts saglabās pirmo komandrindas argumentu mainīgā, $ argv kas ir pārbaudīts nākamajā paziņojumā. Rezultāts būs Pirmais arguments ir tukšs ja neviens arguments netiek pieņemts, pretējā gadījumā tiks izdrukāta pirmā argumenta vērtība.

check_var3.sh

#!/bin/sh
#Izlasiet pirmo komandrindas argumenta vērtību
argv='$ 1'
#Pārbaudiet, vai pirmā argumenta vērtība ir norādīta
[ -v '$ argv' ] && izmest ārā 'Pirmais arguments ir tukšs' ||
izmest ārā 'Pirmā argumenta vērtība ir$ argv'

Palaidiet skriptu bez jebkādiem argumentiem.

$bashcheckvar3.sh

Palaidiet skriptu ar argumentu.

$bashcheckvar3.shpārbaude

Secinājums

Šajā apmācībā, izmantojot dažādus piemērus, ir parādīti dažādi veidi, kā pārbaudīt, vai mainīgais ir iestatīts vai nav iestatīts vai ir tukšs. Ceru, ka šī apmācība palīdzēs lietotājiem uzzināt, kā pārbaudīt jebkuru bash mainīgo.