బాష్ ప్రోగ్రామింగ్ కొన్నిసార్లు సరదాగా ఉంటుంది. మీ ఇతర ఐఎఫ్లు లేదా ఎలిఫ్ల నుండి బాష్లో పిలవబడే వాటిని ఎలా వేరు చేయాలో తెలుసుకోవడం కూడా సరదాగా ఉంటుంది. మీ బాష్ షరతులను ఎలా పొందాలో తెలుసుకోండి.
బాష్ షరతులు: ఉంటే, లేకపోతే, ఎలిఫ్
అన్ని కోడింగ్ భాషలలో, షరతులు ఉన్నాయి – షరతులతో కూడిన ప్రకటనలు వివిధ పరిస్థితులను పరీక్షించడానికి మిమ్మల్ని అనుమతిస్తాయి. చాలా ప్రోగ్రామింగ్ భాషలలో, ఒక ప్రాథమిక if
ఇచ్చిన ప్రోగ్రామింగ్ వేరియబుల్ యొక్క స్థితి లేదా విలువను పరీక్షించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఉదాహరణకు, వేరియబుల్ ఖాళీగా ఉందో లేదో మీరు తనిఖీ చేయవచ్చు.
బాష్ వేరియబుల్స్ గురించి మరింత తెలుసుకోవడానికి, మీరు బాష్ ఫంక్షన్లు మరియు లోకల్ వేరియబుల్స్ పై మా కథనాన్ని చూడవచ్చు.
బాష్ నిజమైన లైనక్స్ షెల్ మరియు పూర్తి ప్రోగ్రామింగ్ భాష. ఇది దాని స్క్రిప్టింగ్ / ప్రోగ్రామింగ్ భాషలోని అత్యంత సాధారణ షరతులతో కూడిన స్టేట్మెంట్లకు చాలా పొడిగింపులను కలిగి ఉంటుంది. ఉదాహరణకు, మీరు ఫైళ్ళను తనిఖీ చేయవచ్చో లేదో చూడవచ్చు grep -q
ప్రకటన విజయవంతమైంది మరియు మొదలైనవి.
ఇంకా, సంక్లిష్ట షరతులతో కూడిన స్టేట్మెంట్లు మరియు సబ్షెల్లను కూడా ఫైల్లో నేరుగా పేర్కొనవచ్చు if
మొదలైనవి. షరతులతో కూడిన ప్రకటన. ఇది పెద్ద డేటా రాంగ్లింగ్ / మానిప్యులేషన్, టెక్స్ట్ అనాలిసిస్ మరియు అనేక ఇతర DevOps- వంటి పనులకు బాష్ చాలా అనుకూలంగా ఉంటుంది.
ఈ వ్యాసం ప్రధానంగా సరైన షరతులను ఎలా పొందాలనే దానిపై దృష్టి పెడుతుంది if...then
, else
, ఉంది elif
ప్రకటనలు. భవిష్యత్ కథనం షరతులతో కూడిన స్టేట్మెంట్లలోని సబ్షెల్లను ఉపయోగించి మరింత క్లిష్టమైన పరీక్ష పరిస్థితులను పరిశీలిస్తుంది.
షరతులతో కూడిన బాష్ పరీక్ష: if … అప్పుడు … fi
బాష్లో షరతులతో కూడిన స్టేట్మెంట్ రాయడం సులభం మరియు సూటిగా ఉంటుంది. స్క్రిప్ట్ను ఉపయోగించకుండా మీరు వాటిని నేరుగా బాష్ కమాండ్ లైన్లో కూడా వ్రాయవచ్చు:
if [ "1" == "1" ]; then echo 'true'; fi
ఫలితం నిజం, గా 1
మ్యాచ్లు 1
. సమానత్వం కోసం మూలకాలకు పరీక్షించే మార్గం ఉపయోగించడం గమనించండి ==
మరియు కాదు =
. అనేక భాషలలో ఇది జరుగుతుంది మరియు తరచుగా “అసైన్మెంట్” (అనగా ఇచ్చిన విలువకు వేరియబుల్ను సెట్ చేయడం) నివారించడానికి లేదా స్పష్టంగా వేరు చేయడానికి జరుగుతుంది.
మేము ప్రతి షరతులతో ముగుస్తుందని గమనించండి if
ముగింపుతో ప్రకటన fi
(వ్యతిరేకం నేనే) ప్రకటన. ఇది ఆ తర్వాత మరిన్ని పంక్తులను పేర్కొనడానికి అనుమతిస్తుంది then
ముగిసే ముందు నిబంధన అప్పుడు విభాగం.
షరతులతో కూడిన బాష్ పరీక్ష: ఇతర మరియు వేరియబుల్స్
దీన్ని ఇప్పుడు కొద్దిగా స్క్రిప్ట్లో ఉంచండి, ఫైల్ను జోడించండి else
విభాగం మరియు కొన్ని వేరియబుల్ నియంత్రణలను జోడించండి.
మేము నిర్వచించాము test.sh
ఈ క్రింది విధంగా:
#!/bin/bash VAR1=1 VAR2=1 if [ "${VAR1}" == "${VAR2}" ]; then echo 'true' else echo 'false' fi
కాబట్టి, జారీ చేయడం ద్వారా ఈ చిన్న స్క్రిప్ట్ను ఎక్జిక్యూటబుల్ చేద్దాం chmod +x test.sh
ఇది ఎక్జిక్యూటబుల్ ఫ్లాగ్ను సెట్ చేస్తుంది test.sh
స్క్రిప్ట్.
స్క్రిప్ట్ లోపల మేము ఏర్పాటు చేసాము VAR1
ఉంది VAR2
1 విలువకు. తరువాత మనం రెండు వేరియబుల్స్ మరియు ఎకోలను పోల్చిన if స్టేట్మెంట్ ను ప్రచురిస్తాము true
పోలిక చెల్లుబాటు అయితే, ఇ false
పోలిక విఫలమైతే. ఫలితం సరైనది true
ఉత్పత్తి.
షరతులతో కూడిన బాష్ పరీక్ష: నేనే గూడు మరియు అధునాతన నియంత్రణలు
మేము చివరి ఉదాహరణను మరింత విస్తరించవచ్చు మరియు అసమానతను ఉపయోగించి తనిఖీ చేయవచ్చు !=
బదులుగా ==
, సమూహ ఉచ్చులను జోడించి, అదే సమయంలో కొన్ని బాష్ స్థానిక అధునాతన వేరియబుల్ నియంత్రణలను ఉపయోగించండి.
మేము నిర్వచించాము test2.sh
ఈ క్రింది విధంగా:
#!/bin/bash VAR1="${1}" VAR2="${2}" if [ ! -z "${VAR1}" -a ! -z "${VAR2}" ]; then if [ "${VAR1}" != "${VAR2}" ]; then echo 'true' else echo 'false' fi else echo "Assert: Either VAR1 (value: '${VAR1}'), or VAR2 (value: '${VAR2}'), or both, are empty!" fi
ఈ స్క్రిప్ట్లో, మన హార్డ్-కోడెడ్ విలువలను భర్తీ చేసాము 1
ఇద్దరికి VAR1
ఉంది VAR2
రెండు ప్రత్యేక వేరియబుల్స్ తో ${1}
ఉంది ${2}
, ఇది నిలుస్తుంది మొదటి మరియు రెండవ ఎంపిక / పరామితి, కమాండ్ లైన్ నుండి స్క్రిప్ట్కు పంపబడింది. మేము మా స్క్రిప్ట్ను మళ్లీ అమలు చేయగలము మరియు తప్పు ఎంపికల యొక్క వివిధ కలయికలతో దీన్ని అమలు చేస్తాము.
ది -z
కోడ్ అంటే పరామితి ఖాళీగా ఉందో లేదో తనిఖీ చేస్తుంది. ఆశ్చర్యార్థక బిందువును ఉపయోగించి మేము ఫలితాన్ని తిరస్కరించాము (అనగా అవును కాదు మరియు అవును కాదు, లేదా మంచి / మంచి నిజం అబద్ధం అవుతుంది మరియు తప్పుడు నిజం అవుతుంది)!
) ముందు -z
తనిఖీ. కాబట్టి మేము ఒక ఫైల్ను కూడా ఉపయోగిస్తాము IS నిబంధన (అనగా రెండు వైపులా IS నిబంధన తప్పక నిజం).
మరో మాటలో చెప్పాలంటే, మీరు ఫైల్ను చదివిన విధానం if [ ! -z "${VAR1}" -a ! -z "${VAR2}" ];
సహజ భాషా పంక్తి VAR1 మరియు VAR2 రెండూ ఖాళీగా ఉండకూడదు. ఈ షరతులతో కూడిన స్టేట్మెంట్ ద్వారా మన వేరియబుల్స్ సరిగ్గా తనిఖీ చేయబడిందని మనం చూడవచ్చు, ఎందుకంటే ప్రతిసారీ మనం ఒక వేరియబుల్ లేదా రెండు వేరియబుల్స్ మాత్రమే పాస్ చేయడానికి ప్రయత్నిస్తాము, వాటిలో ఒకటి ఖాళీగా ఉంది, ప్రోగ్రామ్ దీనికి దూకుతుంది else
స్క్రిప్ట్ ఎంపికల యొక్క మా దుర్వినియోగాన్ని నివేదించే నిబంధన.
చివరగా, మొదటి లోపల if
షరతులతో కూడిన ప్రకటన, మాకు ద్వితీయ (కంప్యూటర్ పరిభాష: గూడు) షరతులతో కూడిన ప్రకటన. ఈ ప్రకటన మా అసమానతను ఉపయోగించి తనిఖీ చేస్తుంది అదే కాదు (!=
). ఖచ్చితంగా, మేము రెండు వేర్వేరు విలువలను దాటినప్పుడు 1
ఉంది 2
స్క్రిప్ట్ కోసం, అవుట్పుట్ నిజం: ఈ సంఖ్యలు సమానం కాదు.
షరతులతో కూడిన బాష్ పరీక్ష: elif
మీరు బాష్లో మరింత సంక్లిష్టమైన మరియు లోతుగా సమూహ ప్రకటనలను అభివృద్ధి చేయటం ప్రారంభించినప్పుడు, మీరు సమూహ కోడ్లోకి లోతుగా మరియు లోతుగా కొట్టుకుపోతున్న ఒక సందర్భం ఉందని మీరు కనుగొంటారు మరియు బహుళ స్థాయిల లోతు కారణంగా కోడ్ మరింత క్లిష్టంగా కనిపిస్తుంది. తరచుగా, ఎల్లప్పుడూ కాకపోయినా, మీరు a ను ఉపయోగించవచ్చు elif
ఈ సందర్భాలలో ప్రకటన. ఉదాహరణకి:
#!/bin/bash if [ "${1}" -lt 2 ]; then echo "less then 2" else if [ "${1}" -lt 4 ]; then echo "less then 4" else if [ "${1}" -lt 6 ]; then echo "less then 6" fi fi fi if [ "${1}" -lt 2 ]; then echo "less then 2" elif [ "${1}" -lt 4 ]; then echo "less then 4" elif [ "${1}" -lt 6 ]; then echo "less then 6" fi
ఈ స్క్రిప్ట్ను test3.sh గా నిర్వచించిన తరువాత, మేము దానిని ఎక్జిక్యూటబుల్ చేసి రన్ చేస్తాము.
కోడ్ యొక్క రెండు బ్లాక్లు సరిగ్గా ఒకే విధంగా ఉంటాయి: స్క్రిప్ట్కు మొదటి ఎంపికగా విలువ ఆమోదించబడిందో లేదో వారు తనిఖీ చేస్తారు (1, 3 మరియు 5 వరుసగా) కంటే తక్కువ (-lt
) విలువలు 2, 4 మరియు 6 క్రమంలో. రెండు బ్లాక్స్ సరిగ్గా ఒకే విధంగా పనిచేస్తాయని మేము చూస్తాము.
ఏదేమైనా, కోడ్ యొక్క రెండవ బ్లాక్, ఇది ఉపయోగించబడుతుంది elif
ప్రకటనలు (వీటిని కూడా చదవవచ్చు లేకపోతే ప్రకటనలు) బదులుగా ఇతర..ఇఫ్ షరతులతో కూడిన ప్రకటనల బ్లాక్స్. కోడ్ యొక్క రెండవ బ్లాక్ చిన్నది మాత్రమే కాదు, ఇది శుభ్రంగా, స్పష్టంగా మరియు చూడటానికి సులభం. మీరు కూడా కలపవచ్చని గమనించండి else
ఉంది elif
కలయిక, సమూహ మొదలైన ప్రకటనలు.
ముగింపు
బాష్ కోడ్ రాయడం అనేది కొంతకాలంగా చాలా మందికి ఆహ్లాదకరమైన వ్యాయామం. బాగా ఆలోచించదగిన షరతులతో కూడిన ప్రకటనలను సృష్టించడం ఇందులో అంతర్భాగం మరియు సాధారణ భాగం. ఈ చిన్న ట్యుటోరియల్లో, మేము సమీక్షించాము if
, then
, else
, elif
ఉంది fi
ప్రకటనలు. వివిధ షరతులతో కూడిన స్టేట్మెంట్లను ఉపయోగించి మీరు అద్భుతమైన మరియు శుభ్రమైన కోడ్ను సృష్టించగలరు. సుఖపడటానికి!