బాష్‌లో ఫైల్ ఉందో లేదో ఎలా తనిఖీ చేయాలి

How Check If File Exists Bash



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

బాష్ స్క్రిప్టింగ్ ఉపయోగించి ఫైల్ ఉనికిని ఎలా తనిఖీ చేయాలి:

1) టెర్మినల్‌లో ఫైల్ పేరు నమోదు చేయడం ద్వారా:







ముందుగా, మేము బాష్ స్క్రిప్ట్ ఫైల్‌ను సృష్టించాలి, దిగువ పేర్కొన్న ఆదేశాన్ని ఉపయోగించండి:



$స్పర్శtestfile.sh

నేను సృష్టించిన ఫైల్ పేరు testfile.sh, .sh పొడిగింపు షెల్ స్క్రిప్ట్ ఫైల్‌ను సూచిస్తుంది:







ఏదైనా టెక్స్ట్ ఎడిటర్‌లో testfile.sh ని తెరవండి. అప్పుడు స్క్రిప్ట్ వ్రాయండి, సేవ్ నొక్కడం ద్వారా దాన్ని సేవ్ చేయండి.

టెర్మినల్‌లోని వినియోగదారు నుండి ఫైల్ పేరు అడగడం ద్వారా ఫైల్‌ను కనుగొనడం ఒక మార్గం.



వా డు -f ఫైల్ ఉనికిని తనిఖీ చేయడానికి.

దిగువ స్క్రిప్ట్ వ్రాయండి:

#!/బిన్/బాష్
బయటకు విసిరారు 'మీ ఫైల్ పేరు నమోదు చేయండి'
చదవండిnewfile1
ఉంటే [ -f '$ newfile1' ]
అప్పుడు
బయటకు విసిరారు 'ఫైల్ కనుగొనబడింది'
లేకపోతే
బయటకు విసిరారు 'ఫైల్ కనుగొనబడలేదు'
ఉంటుంది

టెర్మినల్‌కు తిరిగి వెళ్లి, అవుట్‌పుట్ ప్రింట్ చేయడానికి ఫైల్‌ని రన్ చేయండి:

./filename.sh

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

దిగువ పేర్కొన్న ఆదేశాన్ని అమలు చేయడం ద్వారా దాన్ని అమలు చేయగలిగేలా చేయండి:

$chmod+ x testfile.sh

ఫైల్ పేరును నమోదు చేయండి మరియు అది అవుట్‌పుట్‌ను ప్రింట్ చేస్తుంది:

2) స్క్రిప్ట్ రాసేటప్పుడు ఫైల్ పేరు నమోదు చేయడం ద్వారా:
స్క్రిప్ట్ రాసేటప్పుడు ఫైల్ పేరు ఇవ్వడం ద్వారా ఫైల్‌ను కనుగొనడానికి మరొక మార్గం. ఫైల్ లభ్యతను తనిఖీ చేయడానికి మాకు మూడు మార్గాలు ఉన్నాయి. మొదటిది టెస్ట్ కమాండ్‌ని ఉపయోగిస్తుంది, రెండవది స్క్వేర్ బ్రాకెట్లలో ఎక్స్‌ప్రెషన్‌తో ఉంటే, మరియు మూడవది దిగువ సూచించిన విధంగా అయితే డబుల్ స్క్వేర్ బ్రాకెట్‌లతో కూడా ఉపయోగించబడుతుంది:

  1. పరీక్ష ఎక్స్‌ప్రెషన్.
  2. ఒకవేళ [ఎక్స్‌ప్రెషన్]
  3. ఒకవేళ [[ఎక్స్‌ప్రెషన్]]

ఉదాహరణలతో అర్థం చేసుకుందాం:

1) పరీక్ష [వ్యక్తీకరణ]
ఇచ్చిన స్క్రిప్ట్‌ను కాపీ చేసి ఎడిటర్‌లో అతికించండి, దాన్ని సేవ్ చేయండి:

#!/బిన్/బాష్
ఫైల్ పేరు= ఫైల్ 1
ఉంటే పరీక్ష -f '$ ఫైల్ పేరు';
అప్పుడు
బయటకు విసిరారు '$ ఫైల్కనుగొన్నారు. '
లేకపోతే
బయటకు విసిరారు '$ ఫైల్కనుగొనబడలేదు '
ఉంటుంది

అవుట్‌పుట్:

నా డైరెక్టరీలో అలాంటి ఫైల్ లేనందున, కోడ్ ఫైల్‌ను సందేశాన్ని కనుగొనలేదు.

2) ఒకవేళ [వ్యక్తీకరణ]

ఫైల్ ఉందో లేదో తనిఖీ చేయడానికి క్రింది స్క్రిప్ట్‌ను కాపీ చేయండి:

#!/బిన్/బాష్
ఫైల్ పేరు= myfile.txt
ఉంటే [ -f '$ ఫైల్ పేరు' ];
అప్పుడు
బయటకు విసిరారు '$ ఫైల్ పేరుకనుగొన్నారు. '
లేకపోతే
బయటకు విసిరారు 'ఫైల్ పేరు కనుగొనబడలేదు'
ఉంటుంది

అవుట్‌పుట్:

3) ఒకవేళ [[వ్యక్తీకరణ]]

దిగువ వ్రాసిన స్క్రిప్ట్‌ను కాపీ చేసి టెర్మినల్‌పై అతికించండి:

#!/బిన్/బాష్
ఫైల్ పేరు= టెస్ట్ ఫైల్
ఉంటే [[ -f '$ ఫైల్ పేరు' ]];
అప్పుడు
బయటకు విసిరారు '$ ఫైల్ పేరుకనుగొన్నారు. '
లేకపోతే
బయటకు విసిరారు '$ ఫైల్ పేరుకనుగొనబడలేదు '
ఉంటుంది

అవుట్‌పుట్:

డైరెక్టరీని తనిఖీ చేయడానికి:

3) స్క్రిప్ట్ రాసేటప్పుడు డైరెక్టరీ పేరు నమోదు చేయడం ద్వారా

ఉపయోగించడానికి -డి డైరెక్టరీ ఉనికిని తనిఖీ చేయడానికి ఫ్లాగ్.

దిగువ పేర్కొన్న స్క్రిప్ట్‌లో, dir11 అనేది మీరు కనుగొన్న ఫైల్‌ను నిల్వ చేసే వేరియబుల్; ఈ ఉదాహరణలో, నేను డైరెక్టరీ పేరు testDir ఉందో లేదో తనిఖీ చేయాలనుకుంటున్నాను.

#!/బిన్/బాష్
dir11= testDir
ఉంటే [ -డి '$ dir11' ]
అప్పుడు
బయటకు విసిరారు 'డైరెక్టరీ కనుగొనబడింది'
లేకపోతే
బయటకు విసిరారు 'డైరెక్టరీ కనుగొనబడలేదు'
ఉంటుంది

అవుట్‌పుట్:

2) టెర్మినల్‌లో ఫైల్ పేరు నమోదు చేయడం ద్వారా:
డైరెక్టరీ ఉందో లేదో తనిఖీ చేయడానికి మీరు టెర్మినల్‌లో ఆదేశాన్ని అమలు చేసినప్పుడు, మీరు వెతుకుతున్న డైరెక్టరీ పేరును నమోదు చేయాలి:

#!/బిన్/బాష్
బయటకు విసిరారు 'మీ డైరెక్టరీ పేరును టైప్ చేయండి.'
చదవండిDir1
ఉంటే [ -డి 'డిర్ 1' ]
అప్పుడు
బయటకు విసిరారు 'డైరెక్టరీ కనుగొనబడింది'
లేకపోతే
బయటకు విసిరారు 'డైరెక్టరీ దొరకలేదు'
ఉంటుంది

అవుట్‌పుట్:

If స్టేట్‌మెంట్‌ని ఉపయోగించకుండా ఫైల్‌ని తనిఖీ చేస్తోంది:

If స్టేట్‌మెంట్ లేకుండా పరీక్ష ఆదేశాన్ని అమలు చేయవచ్చు. ఫైల్ ఉన్నట్లయితే మాత్రమే ఇది అవుట్‌పుట్‌ను ప్రదర్శిస్తుంది; లేకపోతే, అవుట్‌పుట్ ఉండదు:

స్క్రిప్ట్ వ్రాయండి:

  1. పరీక్ష -fmyfile.txt&& బయటకు విసిరారు 'ఫైల్ కనుగొనబడింది'

  2. [ -fmyfile.txt] && బయటకు విసిరారు '$ ఫైల్కనుగొనబడింది. '

  3. [[ -fmyfile.txt]] && బయటకు విసిరారు '$ ఫైల్కనుగొనబడింది. '

అవుట్‌పుట్:

If స్టేట్‌మెంట్ ఉపయోగించకుండా డైరెక్టరీని తనిఖీ చేస్తోంది:

డైరెక్టరీ ఉందో లేదో తనిఖీ చేయడానికి దిగువ పేర్కొన్న స్టేట్‌మెంట్‌లను ఉపయోగించండి:

  1. [[ -డిtestDir]] && బయటకు విసిరారు 'డైరెక్టరీ ఉంది'

  2. 2) [ -డిtestDir] && బయటకు విసిరారు 'డైరెక్టరీ ఉంది'

అవుట్‌పుట్:

బహుళ ఫైల్స్/డైరెక్టరీలను తనిఖీ చేస్తోంది:

1) if స్టేట్‌మెంట్‌లతో బహుళ ఫైల్‌లను తనిఖీ చేస్తోంది:
నెస్టెడ్ if/else స్టేట్‌మెంట్‌లను ఉపయోగించడానికి బదులుగా వివిధ ఫైల్స్ ఉనికిని తనిఖీ చేయడానికి -a ఫ్లాగ్‌ని ఉపయోగించండి:

#!/బిన్/బాష్
ఉంటే [ -fnew_file.txt-వరకు -fnewfile.txt];అప్పుడు
బయటకు విసిరారు 'రెండు ఫైళ్లు ఉన్నాయి.'
ఉంటుంది

మరొక మార్గం:

#!/బిన్/బాష్
ఉంటే [[ -fnew_file.txt&& -fnewfile.txt]];అప్పుడు
బయటకు విసిరారు 'రెండు ఫైళ్లు ఉన్నాయి.'
ఉంటుంది

అవుట్‌పుట్:

2) if స్టేట్‌మెంట్ ఉపయోగించకుండా బహుళ ఫైల్‌లను తనిఖీ చేయడం:
ఒకవేళ ఉపయోగించకుండా 1 ఫైల్ లేకుండా ఒకేసారి బహుళ ఫైల్‌లను తనిఖీ చేయడానికి క్రింది స్టేట్‌మెంట్‌ని ఉపయోగించండి:

  1. [[ -fnew_file.txt&& -fnewfile.txt]] && బయటకు విసిరారురెండు ఫైళ్లు నిష్క్రమిస్తాయి.

  2. [[ -fnew_file.txt&& -fnewfile.txt]] && బయటకు విసిరారురెండు ఫైళ్లు నిష్క్రమిస్తాయి.

అవుట్‌పుట్:

ముగింపు:

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