షరతులతో కూడిన కోడ్ అమలు కోసం Bashలో if...else స్టేట్మెంట్ని ఉపయోగించడం.
బాష్ (బోర్న్ ఎగైన్ షెల్) అనేది GNU/Linux ఆపరేటింగ్ సిస్టమ్లలో షెల్ కమాండ్ ప్రాంప్ట్ మరియు స్క్రిప్టింగ్ భాష. ఇది చాలా Linux పంపిణీలకు డిఫాల్ట్ షెల్.
ఏ ప్రోగ్రామింగ్ లాంగ్వేజ్లోనైనా షరతులతో కూడిన స్టేట్మెంట్లు చాలా ముఖ్యమైనవి, కంపైల్ చేయబడినవి మరియు స్క్రిప్ట్ చేయబడినవి. ప్రోగ్రామింగ్ లాజిక్ యొక్క పునాదులలో ఒకటైన ముందే నిర్వచించబడిన షరతు ఆధారంగా కోడ్ యొక్క భాగాన్ని అమలు చేయడానికి వారు వినియోగదారుని అనుమతిస్తారు. ఈ ఆర్టికల్లో, మేము ఎలా ఉపయోగించాలో నేర్చుకుంటాము ఉంటే...లేకపోతే
బాష్లో షరతులతో కూడిన ప్రకటన.
పరిచయం
ది ఉంటే...లేకపోతే
బాష్లోని ప్రకటన షరతుల ఆధారంగా కోడ్ ప్రవాహాన్ని మార్చడానికి వినియోగదారుని అనుమతిస్తుంది. వినియోగదారు అమలు చేయవలసిన ప్రత్యేక కోడ్ బ్లాక్లను పేర్కొనవచ్చు, సంతృప్తి చెందిన సంబంధిత షరతు ఆధారంగా రన్టైమ్ సమయంలో వాటిలో ఒకటి మాత్రమే చివరకు అమలు చేయబడుతుంది.
రెండు కంటే ఎక్కువ షరతులను పేర్కొనవచ్చని గమనించండి ఎలిఫ్
ప్రకటనను ఉపయోగించవచ్చు. వినియోగదారు ఉపయోగించి ఎన్ని షరతులను ఇవ్వవచ్చు ఎలిఫ్
, మరియు చివరకు ఉపయోగించి డిఫాల్ట్ పరిస్థితి లేకపోతే
నిరోధించు. దిగువ వాక్యనిర్మాణం మరియు ఉదాహరణలలో దీని గురించి మరింత చూద్దాం.
సాధారణ వాక్యనిర్మాణం
కోసం సాధారణ వాక్యనిర్మాణం ఉంటే...లేకపోతే
బాష్లోని ప్రకటన:
అలా అయితే లేకపోతే fi
ఇక్కడ, ఉంటే సంతృప్తి చెందుతుంది, అనగా, అది 0 (విజయం)ని అందిస్తే, కోడ్ బ్లాక్ 1 అమలు చేయబడుతుంది. షరతు 0ని తిరిగి ఇవ్వకపోతే, అంటే, అది వైఫల్య స్థితిని అందిస్తుంది, అప్పుడు కోడ్ బ్లాక్ 2 అమలు చేయబడుతుంది. ది
ఉంటే...లేకపోతే
బ్లాక్ a తో ముగుస్తుంది fi
ప్రకటన.
బహుళ షరతులకు అనుగుణంగా బహుళ బ్లాక్ల కోసం,ఎలిఫ్
ఉపయోగించబడింది:
అలా అయితే ఎలిఫ్ అప్పుడు ఎలిఫ్ అప్పుడు ... ... లేకపోతే fi
ఇక్కడ, షరతులు క్రమంలో తనిఖీ చేయబడతాయి మరియు స్థితి 0 (విజయం)ని అందించే మొదటి షరతు యొక్క కోడ్ బ్లాక్ అమలు చేయబడుతుంది. ఉదా. ఉంటే షరతులేవీ స్థితి 0ని అందించకపోతే, గమనించండి కోడ్ బ్లాక్ని అమలు చేయడానికి ఒక వేరియబుల్ నిర్దిష్ట విలువను కలిగి ఉంటే: బహుళ విలువల కోసం తనిఖీ చేయడానికి: షరతులు ఏవైనా Linux ఆదేశాలు కావచ్చు. కమాండ్ విజయవంతంగా అమలు చేయబడితే సంబంధిత కోడ్ బ్లాక్ అమలు అవుతుంది. పై ఉదాహరణలో, నుండి మనం మరొకటి కూడా గూడు కట్టుకోవచ్చు ప్రారంభ షరతు సంతృప్తి చెందిన తర్వాత ప్రత్యేక షరతులను తనిఖీ చేయవలసి వచ్చినప్పుడు ఇది ఉపయోగకరంగా ఉంటుంది. ఉదాహరణకు, కింది కోడ్ వెబ్ సర్వర్ సాఫ్ట్వేర్ను ఇన్స్టాల్ చేయడానికి ప్రయత్నిస్తుంది: సిస్టమ్లో Nginx ఇప్పటికే ఇన్స్టాల్ చేయబడి ఉంటే కోడ్ మొదట తనిఖీ చేస్తుంది. అది ఉంటే, అది కేవలం ఒక సందేశాన్ని ప్రదర్శిస్తుంది మరియు నిష్క్రమిస్తుంది. అది కాకపోతే, అది Nginxని ఇన్స్టాల్ చేయడానికి ప్రయత్నిస్తుంది. కొన్ని కారణాల వల్ల, ప్యాకేజీ నుండి సిస్టమ్లో Nginx ఇన్స్టాల్ చేయబడకపోతే, అది Apache2ని ఇన్స్టాల్ చేయడానికి ప్రయత్నిస్తుంది. Apache2 కూడా ఇన్స్టాల్ చేస్తున్నప్పుడు ఎర్రర్ని ఇస్తే, అది సాఫ్ట్వేర్ను ఇన్స్టాల్ చేయడం సాధ్యం కాదని సందేశాన్ని ప్రదర్శిస్తూ నిష్క్రమిస్తుంది. ఇదే విధంగా, ఒక సమూహ బ్లాక్ను ఒక లోపల ఉపయోగించవచ్చు ఏదైనా బాష్ కోడ్ లాగానే, ది వినియోగదారు ఈ కోడ్ను స్క్రిప్ట్ ఫైల్లో సేవ్ చేయవచ్చు మరియు స్క్రిప్ట్ ఫైల్ను అమలు చేయవచ్చు. ది ఈ ఫైల్ కోసం ఎగ్జిక్యూట్ అనుమతులు ఇవ్వడానికి, అమలు చేయండి: చివరగా, ఫైల్ను అమలు చేయడానికి, అమలు చేయండి: ఏదైనా ప్రోగ్రామింగ్ లాంగ్వేజ్ లాగానే, సున్నా కాని స్థితి (వైఫల్యం) అందిస్తుంది, ఆపై
తనిఖీ చేయబడింది. ఉంటే
స్థితి 0ని అందిస్తుంది,
అమలు చేయబడుతుంది. దీని తర్వాత, తదుపరి పరిస్థితులు తనిఖీ చేయబడవు మరియు కోడ్ అమలు తర్వాత కోడ్కు కొనసాగుతుంది
fi
ప్రకటన. else బ్లాక్లో అమలు చేయబడుతుంది. వేరే బ్లాక్ ఐచ్ఛికం అని గమనించండి. ఏ షరతు సంతృప్తి చెందకపోతే, అలాగే లేదు
లేకపోతే
బ్లాక్ పేర్కొనబడింది, షరతులతో కూడిన కోడ్ బ్లాక్ అమలు చేయబడదు మరియు కోడ్ అమలు తర్వాత కోడ్కు కొనసాగుతుంది fi
ప్రకటన, దిగువ ఫ్లోగ్రాఫ్లో చూపిన విధంగా.అప్పుడు
ప్రకటన తర్వాత మాత్రమే ఉపయోగించాలి ఉంటే
మరియు ఎలిఫ్
ప్రకటనలు మరియు తర్వాత అవసరం లేదు లేకపోతే
ప్రకటన.ఉదాహరణలు
x=0 అయితే [ $x -eq 0 ] ఆపై ప్రతిధ్వని "X విలువ 0" లేకపోతే "X విలువ 0 కాదు" fi
x=2 అయితే [ $x -eq 0 ] ఆపై ప్రతిధ్వని "X విలువ 0" elif [ $x -eq 1 ] ఆపై ప్రతిధ్వని "X విలువ 1" elif [ $x -eq 2 ] ఆపై ప్రతిధ్వని "విలువ X అనేది 2" లేకపోతే "X విలువ 0 కాదు" fi
npm -v అయితే "సిస్టమ్లో ఉన్న NPM" అని ప్రతిధ్వని చేయండి లేకపోతే sudo apt ఇన్స్టాల్ npm fi
npm
సిస్టమ్లో ఇన్స్టాల్ చేయబడలేదు, ఆదేశం npm -v
జీరో కాని స్థితిని తిరిగి పొందింది. అందువల్ల, కోడ్ అమలులోకి వెళ్లింది లేకపోతే
బ్లాక్, ఇక్కడ మేము ఉపయోగించి npm ఇన్స్టాల్ చేస్తాము సముచితమైనది
ప్యాకేజీ మేనేజర్. మనం చూడగలిగినట్లుగా, ఇది పాస్వర్డ్ను నమోదు చేయమని నన్ను ప్రేరేపించింది మరియు npm యొక్క ఇన్స్టాలేషన్ను ప్రారంభించింది.ఉంటే...లేకపోతే
ఒక లోపల బ్లాక్ ఉంటే
, లేకపోతే
లేదా ఎలిఫ్
బ్లాక్:x=0 y=1 అయితే [ $x -eq 0 ] అప్పుడు ప్రతిధ్వని "X ఈజ్ 0" అయితే [ $y -eq 1 ] ఆపై ప్రతిధ్వని "Y ఈజ్ 1" లేకపోతే ప్రతిధ్వని "Y ఈజ్ కాదు 1" Fi వేరే ఎకో "X is 0" fi కాదు
nginx -v అయితే "NGINX ఇప్పటికే ఇన్స్టాల్ చేయబడింది." ఒకవేళ sudo apt nginxని ఇన్స్టాల్ చేస్తే "NGINX ఇన్స్టాలేషన్ విజయవంతమైంది" అని ప్రతిధ్వనిస్తుంది. elif sudo apt apache2ని ఇన్స్టాల్ చేసి, ఆపై "APACHE2 ఇన్స్టాలేషన్ విజయవంతమైంది." లేకపోతే "ఏ వెబ్ సాఫ్ట్వేర్ను ఇన్స్టాల్ చేయడం సాధ్యం కాలేదు." fi
ఎలిఫ్
అలాగే బ్లాక్ చేయండి.అమలు చేస్తోంది
ఉంటే...లేకపోతే
: స్క్రిప్ట్లు మరియు కమాండ్ లైన్ఉంటే...లేకపోతే
ప్రకటన నేరుగా బాష్ షెల్లో లేదా ఎక్జిక్యూటబుల్ షెల్ స్క్రిప్ట్ ఫైల్ నుండి ఉపయోగించవచ్చు. ఒకసారి బాష్ వ్యాఖ్యాత ఒకని కనుగొంటాడు ఉంటే
, లేకపోతే
లేదా ఎలిఫ్
స్టేట్మెంట్, కోడ్ బ్లాక్లోకి ప్రవేశించడానికి వినియోగదారుని అనుమతించడానికి ఇది షెల్ను కొనసాగిస్తుంది.#!/బిన్/బాష్
ప్రారంభంలో ఫైల్ అమలు చేయబడినప్పుడు ఉపయోగించాల్సిన ఇంటర్ప్రెటర్ను నిర్దేశిస్తుంది. ఈ రోజుల్లో Bash అనేది సర్వసాధారణంగా ఉపయోగించే షెల్ అయినప్పటికీ, కొంతమంది వినియోగదారులు zsh వంటి షెల్లను ఇష్టపడతారు, ఈ ఫైల్ ప్రారంభంలో ఇది bash స్థానంలో పేర్కొనబడాలి.chmod +x test.sh
./test.sh
ముగింపు
ఉంటే...లేకపోతే
ప్రకటన బాష్ యొక్క ప్రాథమిక లక్షణం. దాని ఉపయోగం నేర్చుకోవడం ప్రాథమిక మరియు అధునాతన స్క్రిప్ట్లను వ్రాయడంలో చాలా దూరంగా ఉంటుంది.