Kung paano suriin ang variable ay nakatakda o walang laman sa bash

How Check Variable Is Set



Ang isang variable ay maaaring tukuyin o hindi natukoy. Kapag ang anumang variable ay hindi idineklara o idineklara ngunit walang halaga na naitalaga pagkatapos ang variable ay hindi nakatakda o hindi natukoy. Kapag ang anumang variable ay idineklara at itinalaga ng isang halaga pagkatapos ay ang variable ay itinakda. Maraming mga beses na kinakailangan upang malaman ang partikular na variable ay itinakda o hindi para sa mga layunin sa programa. Ang isa sa mga mahahalagang layunin ng pag-check ng variable ay nakatakda o hindi ay ang pagpapatunay ng data. Ang Bash ay walang built-in na pag-andar tulad ng iba pang mga karaniwang wika ng programa upang suriin ang isang variable na itinakda o hindi. Ngunit ang bash ay may tampok upang gawin ang gawaing ito. Kung paano mo masusuri ang variable ay itinakda o hindi sa bash ay ipinapakita sa tutorial na ito.

Syntax:







[[ -vvariable]]O kaya naman[[ -Ngavariable]]

Ginagamit ang pagpipiliang '-v' o '-z' upang suriin ang variable na itinakda o na-unset. Ang nabanggit na Boolean expression ay babalik totoo kung ang variable ay nakatakda at bumalik nang hindi totoo kung ang variable ay hindi nakatakda o walang laman.



$ {variable + string}

Ang kapalit ng parameter ay isa pang paraan upang suriin ang variable na itinakda o na-unset. Kung ang variable ay itinakda, pagkatapos ang halaga ng string ay babalik kung hindi man ay babalik ang null.



Halimbawa-1: Suriin ang variable ay itinakda o na-unset gamit ang pagpipiliang '-z'

Lumikha ng isang bash file na pinangalanan check_var1.sh kasama ang sumusunod na iskrip. Dito, ang unang ` kung` ang kondisyon ay babalik totoo at Hindi naitakda ang variable ng Num magpi-print. Sa susunod na pahayag, ang 20 ay itinalaga sa variable, $ num . Ang pangalawang kundisyon ng `if` ay magbabalik ng mali at Nakatakda ang Num at ang halaga ng Num = 20 magpi-print.





check_var1.sh

#! / baseng / bash
# Suriin ang variable ay itinakda o hindi
kung [ -Nga $ {Num} ];tapos
itinapon Ang '' Num 'variable ay hindi nakatakda'
iba pa
itinapon Nakatakda ang variable na '' Num ''
maging
# Magtalaga ng isang halaga
sa isa=dalawampu
# Suriin ang variable ay itinakda o hindi matapos italaga ang halaga
kung [ -Nga $ {Num} ];tapos
itinapon '' Ang bilang ng variable ay hindi nakatakda '
iba pa
itinapon '’Ang Num ay nakatakda at ang halaga ng Num =$ num'
maging

Patakbuhin ang iskrip.



$bashcheckvar1.sh

Halimbawa-2: Suriin ang variable ay itinakda o hindi naitakda gamit ang pamalit ng parameter

Lumikha ng isang bash file na pinangalanan check_var2.sh at idagdag ang sumusunod na script. Dito, ang isang halaga ng string ay itinalaga sa variable, $ str bago suriin ang variable ay itinakda o na-unset. Ang kundisyon na 'kung' ay babalik totoo at ang mensahe, Ang variable na 'str' ay nakatakda at ang halaga ay Hello magpi-print.

check_var2.sh

#! / baseng / bash
#Itakda ang variable
p= Kumusta
#Magtalaga ng halaga ng Mundo sa checkval kung ang str variable ay itinakda
pagsusuri=$ {str + World}
# Suriin ang variable ay itinakda o na-unset
kung [ $ checkval -eqMundo];tapos
itinapon Ang variable na '' str 'ay itinakda at ang halaga ay$ str'
iba pa
itinapon '' Str 'variable ay hindi nakatakda'
maging

Patakbuhin ang iskrip.

$bashcheckvar2.sh

Halimbawa-3: Suriin ang variable ay walang laman o hindi

Lumikha ng isang bash file na pinangalanan check_var3.sh at idagdag ang sumusunod na script. Itatago ng script ang unang argument ng linya ng utos sa isang variable, $ argv nasubukan yan sa susunod na pahayag. Ang output ay magiging Ang unang pagtatalo ay walang laman kung walang argument na naipasa kung hindi man ang halaga ng unang argumento ay mai-print.

check_var3.sh

#! / bin / sh
#Basahin ang unang halaga ng argumento ng linya ng utos
argv='$ 1'
# Suriin ang unang halaga ng argumento naibigay o hindi
[ -v '$ argv' ] && itinapon 'Ang unang pagtatalo ay walang laman' ||
itinapon 'Ang halaga ng unang argumento ay$ argv'

Patakbuhin ang script nang walang anumang pagtatalo.

$bashcheckvar3.sh

Patakbuhin ang script sa isang pagtatalo.

$bashcheckvar3.shpagsusulit

Konklusyon

Ang iba't ibang mga paraan upang suriin ang variable ay itinakda o na-unset o walang laman ay ipinapakita sa tutorial na ito sa pamamagitan ng paggamit ng iba't ibang mga halimbawa. Sana, makakatulong ang tutorial na ito sa mga gumagamit upang malaman ang mga paraan ng pagsubok sa anumang bash variable.