బాష్‌లో వేరియబుల్ సెట్ చేయబడిందా లేదా ఖాళీగా ఉందో తనిఖీ చేయడం ఎలా

How Check Variable Is Set



వేరియబుల్ నిర్వచించవచ్చు లేదా నిర్వచించబడదు. ఏదైనా వేరియబుల్ డిక్లేర్ చేయబడనప్పుడు లేదా డిక్లేర్ చేయబడనప్పటికీ, విలువ కేటాయించబడనప్పుడు వేరియబుల్ సెట్ చేయబడదు లేదా నిర్వచించబడదు. ఏదైనా వేరియబుల్ ప్రకటించబడినప్పుడు మరియు విలువతో కేటాయించినప్పుడు వేరియబుల్ సెట్ చేయబడుతుంది. ప్రోగ్రామింగ్ ప్రయోజనాల కోసం నిర్దిష్ట వేరియబుల్ సెట్ చేయబడిందో లేదో తెలుసుకోవడం చాలా సార్లు అవసరం. వేరియబుల్ సెట్ చేయబడిందో లేదో తనిఖీ చేసే ముఖ్యమైన ప్రయోజనాల్లో ఒకటి డేటా ధ్రువీకరణ. వేరియబుల్ సెట్ చేయబడిందో లేదో తనిఖీ చేయడానికి ఇతర ప్రామాణిక ప్రోగ్రామింగ్ లాంగ్వేజ్‌ల వలె బాష్‌లో అంతర్నిర్మిత ఫంక్షన్ లేదు. కానీ బాష్ ఈ టాస్క్ చేయడానికి ఒక ఫీచర్ ఉంది. ఈ ట్యుటోరియల్‌లో వేరియబుల్ సెట్ చేయబడిందో లేదో మీరు ఎలా తనిఖీ చేయవచ్చు

వాక్యనిర్మాణం:







[[ -vవేరియబుల్]]లేదా[[ -తోవేరియబుల్]]

వేరియబుల్ సెట్ చేయబడిందా లేదా సెట్ చేయబడలేదని తనిఖీ చేయడానికి ‘-v’ లేదా ‘-z’ ఆప్షన్ ఉపయోగించబడుతుంది. వేరియబుల్ సెట్ చేయబడితే పైన పేర్కొన్న బూలియన్ ఎక్స్‌ప్రెషన్ నిజమవుతుంది మరియు వేరియబుల్ సెట్ చేయకపోతే లేదా ఖాళీగా ఉంటే తప్పుడు రిటర్న్ వస్తుంది.



$ {వేరియబుల్+స్ట్రింగ్}

పరామితి ప్రత్యామ్నాయం వేరియబుల్ సెట్ చేయబడిందా లేదా సెట్ చేయబడలేదని తనిఖీ చేయడానికి మరొక మార్గం. వేరియబుల్ సెట్ చేయబడితే, స్ట్రింగ్ విలువ తిరిగి వస్తుంది లేకపోతే శూన్యము తిరిగి వస్తుంది.



ఉదాహరణ -1: '-z' ఎంపికను ఉపయోగించి వేరియబుల్ సెట్ చేయబడిందా లేదా సెట్ చేయబడలేదని తనిఖీ చేయండి

అనే బాష్ ఫైల్‌ను సృష్టించండి check_var1.sh కింది స్క్రిప్ట్‌తో. ఇక్కడ, మొదటిది if` పరిస్థితి నిజమవుతుంది మరియు సంఖ్య వేరియబుల్ సెట్ చేయబడలేదు ప్రింట్ చేస్తుంది. తదుపరి స్టేట్‌మెంట్‌లో, 20 వేరియబుల్‌కు కేటాయించబడుతుంది, $ num . రెండవ `if` షరతు తప్పుడు మరియు తిరిగి వస్తుంది సంఖ్య సెట్ చేయబడింది మరియు సంఖ్య = 20 విలువ ప్రింట్ చేస్తుంది.





check_var1.sh

#!/బిన్/బాష్
#వేరియబుల్ సెట్ చేయబడిందో లేదో తనిఖీ చేయండి
ఉంటే [ -తో $ {Num} ];అప్పుడు
బయటకు విసిరారు '' నం 'వేరియబుల్ సెట్ చేయబడలేదు'
లేకపోతే
బయటకు విసిరారు '' నం 'వేరియబుల్ సెట్ చేయబడింది'
ఉంటుంది
#విలువను కేటాయించండి
ఒకదానిపై=ఇరవై
#విలువను కేటాయించిన తర్వాత వేరియబుల్ సెట్ చేయబడిందో లేదో తనిఖీ చేయండి
ఉంటే [ -తో $ {Num} ];అప్పుడు
బయటకు విసిరారు '' నం 'వేరియబుల్ సెట్ చేయబడలేదు'
లేకపోతే
బయటకు విసిరారు '' Num సెట్ చేయబడింది మరియు Num = = విలువ$ num'
ఉంటుంది

స్క్రిప్ట్ రన్ చేయండి.



$బాష్checkvar1.sh

ఉదాహరణ -2: పరామితి ప్రత్యామ్నాయాన్ని ఉపయోగించి వేరియబుల్ సెట్ చేయబడిందా లేదా సెట్ చేయబడలేదని తనిఖీ చేయండి

అనే బాష్ ఫైల్‌ను సృష్టించండి check_var2.sh మరియు కింది స్క్రిప్ట్‌ను జోడించండి. ఇక్కడ, స్ట్రింగ్ విలువ వేరియబుల్‌కు కేటాయించబడుతుంది, వేరియబుల్ సెట్ చేయబడిందా లేదా సెట్ చేయబడిందా అని తనిఖీ చేయడానికి ముందు $ str. 'If' షరతు నిజమవుతుంది మరియు సందేశం, 'Str' వేరియబుల్ సెట్ చేయబడింది మరియు విలువ హలో ప్రింట్ చేస్తుంది.

check_var2.sh

#!/బిన్/బాష్
#వేరియబుల్ సెట్ చేయండి
p= హలో
#Str వేరియబుల్ సెట్ చేయబడితే విలువను తనిఖీ చేయడానికి ప్రపంచాన్ని కేటాయించండి
చెక్‌వాల్=$ {str+World}
#వేరియబుల్ సెట్ చేయబడిందా లేదా సెట్ చేయబడలేదని తనిఖీ చేయండి
ఉంటే [ $ checkval -ఎక్యూప్రపంచ];అప్పుడు
బయటకు విసిరారు '' Str 'వేరియబుల్ సెట్ చేయబడింది మరియు విలువ$ str'
లేకపోతే
బయటకు విసిరారు '' Str 'వేరియబుల్ సెట్ చేయబడలేదు'
ఉంటుంది

స్క్రిప్ట్ రన్ చేయండి.

$బాష్checkvar2.sh

ఉదాహరణ -3: వేరియబుల్ ఖాళీగా ఉందో లేదో తనిఖీ చేయండి

అనే బాష్ ఫైల్‌ను సృష్టించండి check_var3.sh మరియు కింది స్క్రిప్ట్‌ను జోడించండి. స్క్రిప్ట్ మొదటి కమాండ్-లైన్ ఆర్గ్యుమెంట్‌ను వేరియబుల్‌లో నిల్వ చేస్తుంది, $ argv తదుపరి ప్రకటనలో పరీక్షించబడింది. అవుట్‌పుట్ ఉంటుంది మొదటి వాదన ఖాళీగా ఉంది ఏ ఆర్గ్యుమెంట్ పాస్ కాకపోతే మొదటి ఆర్గ్యుమెంట్ విలువ ముద్రించబడుతుంది.

check_var3.sh

#!/బిన్/sh
#మొదటి కమాండ్-లైన్ ఆర్గ్యుమెంట్ విలువను చదవండి
argv='$ 1'
#మొదటి ఆర్గ్యుమెంట్ విలువ అందించబడిందో లేదో తనిఖీ చేయండి
[ -v '$ argv' ] && బయటకు విసిరారు 'మొదటి వాదన ఖాళీగా ఉంది' ||
బయటకు విసిరారు 'మొదటి వాదన విలువ$ argv'

ఎటువంటి వాదన లేకుండా స్క్రిప్ట్‌ను అమలు చేయండి.

$బాష్checkvar3.sh

వాదనతో స్క్రిప్ట్‌ను అమలు చేయండి.

$బాష్checkvar3.shపరీక్ష

ముగింపు

వేరియబుల్ సెట్ చేయబడిందో లేదో తనిఖీ చేయడానికి వివిధ మార్గాలు సెట్ చేయబడలేదు లేదా ఖాళీగా ఉన్నాయి, వివిధ ఉదాహరణలను ఉపయోగించి ఈ ట్యుటోరియల్‌లో చూపబడింది. ఆశిస్తున్నాము, ఈ ట్యుటోరియల్ వినియోగదారులకు ఏదైనా బాష్ వేరియబుల్‌ను పరీక్షించే మార్గాలను తెలుసుకోవడానికి సహాయపడుతుంది.