Kintamasis dažnai vadinamas langeliu, kuriame yra pavadinimas ir turinys. Paprasta komanda, pvz., 'echo Hello, $Var_Name' išspausdins 'Hello...the kintamojo reikšmė, kaip apibrėžta'. „Bash“ nieko nespausdins, jei langelis tuščias arba nesukurtas. Štai kodėl kuriant bet kokį bash scenarijų svarbu įsitikinti, ar kintamasis nustatytas tinkamai, ar ne.
Kintamuosius galima suskirstyti į dvi dalis:
Kintamieji, kurie yra tinkamai sukurti arba inicijuoti, yra žinomi kaip apibrėžti kintamieji. Jie gali turėti nulinę reikšmę arba tuščią eilutę.
Kintamieji, kurie niekada nėra sukurti ar inicijuojami, yra žinomi kaip neapibrėžti kintamieji.
Norėdami patvirtinti, ar Bash Scripting kintamasis nustatytas, ar ne, galime naudoti -v var arba -z ${var} parinktys kaip išraiška su sąlyginės komandos „if“ deriniu.
Sintaksė
Toliau pateikiamos loginės išraiškos, kurią galima naudoti norint patikrinti, ar kintamasis nustatytas, sintaksės:
[[ -v Variable_Name ]] [[ -z Variable_Name ]]
Būlio išraiška grąžina „Tiesa“, jei kintamasis nustatytas, ir „False“, jei kintamasis nenustatytas.
primityvūs duomenų tipai Java
Toliau pateikiami pavyzdžiai, kaip patikrinti, ar kintamasis nustatytas, ar ne:
Naudojant -v parinktį
#!/bin/bash #Script to check whether a variable is set or not using -v option A=100 #A: variable is set. if [[ -v A ]]; then echo 'Variable having name 'A' is already set.' else echo 'Variable having name 'A' is not set.' fi #B: variable is not set if [[ -v B ]]; then echo 'Variable having name 'B' is already set.' else echo 'Variable having name 'B' is not set.' fi
Išvestis
Čia kintamasis „A“ yra apibrėžtas ir jam priskiriama 100 reikšmė, todėl jis laikomas „nustatyti kintamuoju“. Kintamajam „B“ neapibrėžėme ir nepriskyrėme jokios reikšmės. Dėl to kintamasis „B“ nėra laikomas „nustatyti kintamuoju“.
Naudojant -z parinktį
#!/bin/bash #Script to check whether a variable is set or not using -z option A=100 #A: variable is set. if [[ -z ${A} ]]; then echo 'Variable having name 'A' is not set.' else echo 'Variable having name 'A' is already set.' fi #B: variable is not set if [[ -z ${B} ]]; then echo 'Variable having name 'B' is not set.' else echo 'Variable having name 'B' is already set.' fi
Išvestis
Pastaba:Yra skirtumas tarp nenustatyto kintamojo ir kintamojo, kurio reikšmė nulinė.
Peržiūrėkite šį pavyzdį, rodantį, kad kintamasis su nuline verte gali būti nustatytasis kintamasis.
Pavyzdys
VAR='' #VAR is set if [ -z ${VAR+x} ]; then echo ''VAR' is unset'; else echo ''VAR' is set, its content is '$VAR''; fi #Var is not set if [ -z ${Var+x} ]; then echo ''Var' is unset'; else echo ''Var' is set, its content is '$Var''; fi
Išvestis
Tai yra dažniausiai naudojami metodai, kuriuos galima naudoti norint patikrinti, ar kintamasis nustatytas, ar ne.
kiek uncijų yra 10 mililitrų