బాష్ స్క్రిప్ట్ నుండి ఫైల్ లేదా డైరెక్టరీ ఉందో లేదో తనిఖీ చేస్తోంది
Linuxలో క్రమం తప్పకుండా అమలు చేయబడిన ఆదేశాలను ఆటోమేట్ చేయడానికి Bash ఉపయోగించబడుతుంది. ఫైల్లు/డైరెక్టరీలపై కార్యకలాపాల కోసం ఉద్దేశించిన ఆదేశాలు చాలా తరచుగా ఉపయోగించబడతాయి మరియు సాధారణంగా, అటువంటి ఆదేశాన్ని అమలు చేయడానికి ముందు, నిర్దిష్ట ఫైల్ లేదా డైరెక్టరీ ఉందో లేదో తనిఖీ చేయాలి. ఈ తనిఖీని ఎలా నిర్వహించాలో చూద్దాం.
సింటాక్స్ మరియు వాడుక
ఫైళ్లు
ఫైల్ ఉందో లేదో తనిఖీ చేయడానికి, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి:
[-f]
వ్యక్తీకరణ [-f]
0ని అందిస్తుంది, అంటే విజయం అయితే ఉనికిలో ఉంది మరియు అది లేనట్లయితే అది జీరో కాని స్థితిని అందిస్తుంది. సాధారణంగా, ఇది ఒక షరతుగా ఉపయోగించబడుతుంది
ఉంటే
ప్రకటన.
అయితే [-f ] అప్పుడు fi
తిరిగి వచ్చిన విలువను తిరస్కరించడానికి, కేవలం ముందు -ఎఫ్
నిరాకరణ ఆపరేటర్తో (!
).
అయితే [! -f ] ఆపై fi
ఈ సందర్భంలో, ఫైల్ ఉంటే పరిస్థితి సంతృప్తి చెందుతుంది ఉనికిలో లేదు, తిరిగి వచ్చిన సున్నా కాని స్థితి (తప్పు) తిరస్కరించబడుతుంది మరియు 0 (నిజం)గా పరిగణించబడుతుంది.
తనిఖీ చేయవలసిన ఫైల్ ప్రస్తుత డైరెక్టరీలో లేనట్లయితే మరియు వేరే డైరెక్టరీలో ఉన్నట్లయితే, ఫైల్ పేరుకు బదులుగా ఫైల్ యొక్క పూర్తి పాత్ పేర్కొనబడాలని గుర్తుంచుకోండి.
డైరెక్టరీలు
ఫైల్లను తనిఖీ చేయడానికి ఉపయోగించే సింటాక్స్ డైరెక్టరీలను తనిఖీ చేయడానికి ఉపయోగించబడుతుంది.
[-d]
ఫైల్ల స్టేట్మెంట్ లాగానే, ఈ స్టేట్మెంట్ 0ని అందిస్తుంది, అంటే సక్సెస్, డైరెక్టరీ అయితే ఉనికిలో ఉంది మరియు సున్నా కానిది, అంటే వైఫల్యం స్థితి ఉనికిలో లేనట్లయితే తిరిగి ఇవ్వబడుతుంది. ఇది సాధారణంగా ఒక లో కూడా ఉపయోగించబడుతుంది
ఉంటే
ప్రకటన పరిస్థితి.
[ -d ] అయితే fi
తిరిగి వచ్చిన స్థితిని తిరస్కరించడానికి, ముందు -డి
నిరాకరణ ఆపరేటర్తో (!
).
అయితే [! -d ] తర్వాత fi
ఈ సందర్భంలో డైరెక్టరీ లేనట్లయితే పరిస్థితి (స్టేటస్ 0) సంతృప్తి చెందుతుంది మరియు డైరెక్టరీ ఉన్నట్లయితే విఫలమవుతుంది (స్టేటస్ సున్నా కాదు).
ఫైల్ల కోసం ముందు పేర్కొన్నట్లుగా, తనిఖీ చేయవలసిన డైరెక్టరీ మరొక ప్రదేశంలో ఉంది మరియు ప్రస్తుత డైరెక్టరీలో లేకపోతే, డైరెక్టరీ పేరుకు బదులుగా మొత్తం డైరెక్టరీ పాత్ను నమోదు చేయాలి.
💡 బ్రాకెట్ సింటాక్స్ ( [...]
) ఇక్కడ ఉపయోగించబడింది వాస్తవానికి Linux కమాండ్ అని పిలువబడుతుంది పరీక్ష
. ఎంపికలు -ఎఫ్
మరియు -డి
ఈ కమాండ్ యొక్క లక్షణాలు. మరింత సమాచారం కోసం, పరీక్ష యొక్క మాన్యువల్ పేజీని చూడండి ( మనిషి పరీక్ష
).
బాష్ స్క్రిప్ట్ నుండి తనిఖీ చేయండి
పై ఉదాహరణలలో, మేము వాక్యనిర్మాణాలను నేరుగా టెర్మినల్లో ఉపయోగించాము. షెల్ ఒక లూప్ లేదా షరతులతో కూడిన ప్రకటనను ఎదుర్కొన్నప్పుడల్లా (ఉంటే
మా విషయంలో), ఇది ప్రాంప్ట్ను కొనసాగిస్తుంది మరియు బ్లాక్ని కొనసాగించడానికి వినియోగదారుని అనుమతిస్తుంది.
అదే సింటాక్స్లను బాష్ స్క్రిప్ట్ లోపల నుండి ఉపయోగించవచ్చు.
ది #!/బిన్/బాష్
ప్రారంభంలో ఫైల్ అమలు చేయబడినప్పుడు ఉపయోగించాల్సిన ఇంటర్ప్రెటర్ను నిర్దేశిస్తుంది. ఈ రోజుల్లో బాష్ ఎక్కువగా ఉపయోగించే షెల్ అయినప్పటికీ, కొంతమంది వినియోగదారులు షెల్లను ఇష్టపడతారు zsh
, ఈ ఫైల్ ప్రారంభంలో బాష్ స్థానంలో పేర్కొనబడాలి.
అమలు అనుమతులు ఇవ్వడానికి ఈ ఫైల్ కోసం, అమలు చేయండి:
chmod +x test.sh
చివరగా, ఫైల్ను అమలు చేయడానికి, అమలు:
./test.sh