Skip to main content

లూప్ కోసం 'బాష్' కోసం Linux షెల్ స్క్రిప్ట్ ఉదాహరణలు

Anonim

బాష్ (ఇది బోర్న్ ఎగైన్ షెల్ కోసం నిలుస్తుంది) అనేది చాలా లినక్స్ మరియు UNIX- ఆధారిత ఆపరేటింగ్ సిస్టమ్స్ ద్వారా ఉపయోగించబడిన స్క్రిప్టింగ్ భాష.

మీరు ఒక టెర్మినల్ విండోలో ఒకదాని తరువాత ఒకటి BASH ఆదేశాలను అమలు చేయవచ్చు లేదా షెల్ లిపిని ఉత్పత్తి చేయడానికి మీరు ఒక టెక్స్ట్ ఫైల్కు ఆదేశాలను జోడించవచ్చు.

షెల్ స్క్రిప్ట్స్ వ్రాయడం గురించి గొప్ప విషయం మీరు మళ్లీ మళ్లీ వాటిని అమలు చేయగలదు. ఉదాహరణకు, మీరు వినియోగదారుని సిస్టమ్కు జోడించి, వారి అనుమతులను సెట్ చేసి, వారి ప్రారంభ వాతావరణాన్ని నిర్వహించాలని ఊహించుకోండి. కాగితం ముక్క మీద ఆదేశాలను రాయండి మరియు మీరు క్రొత్త వినియోగదారులను చేర్చినప్పుడు వాటిని అమలు చేయవచ్చు లేదా మీరు ఒకే లిపిని వ్రాయవచ్చు మరియు ఆ లిపిలో పారామితులను పాస్ చేయవచ్చు.

బాష్ వంటి స్క్రిప్టింగ్ లాంగ్వేజ్లు ఇలాంటి ప్రోగ్రామింగ్ను ఇతర భాషల వలె నిర్మించాయి. ఉదాహరణకు, మీరు కీబోర్డ్ నుండి ఇన్పుట్ పొందడానికి మరియు వాటిని వేరియబుల్స్గా నిల్వ చేయడానికి దిగుమతి పారామితులను ఉపయోగించవచ్చు. మీరు ఇన్పుట్ పారామితుల విలువ ఆధారంగా ఒక నిర్దిష్ట చర్యను అమలు చేయడానికి స్క్రిప్ట్ ను పొందవచ్చు.

ఏదైనా ప్రోగ్రామింగ్ మరియు స్క్రిప్టింగ్ భాష యొక్క కీలక భాగం మళ్ళీ అదే కోడ్ కోడ్ను మళ్లీ అమలు చేయడానికి సామర్ధ్యం కలిగి ఉంటుంది.

కోడ్ పునరావృతం చేయటానికి అనేక మార్గాలు ఉన్నాయి (ఉచ్చులు అని కూడా పిలుస్తారు). ఈ మార్గదర్శినిలో, "లూప్" ను ఎలా రాయాలో మీరు చూపబడతారు.

ఒక కోసం లూప్ కోడ్ యొక్క ఒక నిర్దిష్ట విభాగాన్ని మరియు పైగా పునరావృతమవుతుంది. వారు ఉపయోగకరంగా ఉంటారు, అందుచే వరుస ఆదేశాలను నిర్వహించబడే వరకు ఒక నిర్దిష్ట పరిస్థితి అమలవుతుంది, ఆ తర్వాత వారు ఆపివేస్తారు.

ఈ మార్గదర్శినిలో, మీరు BASH లిపిలో లూప్ కోసం ఐదు మార్గాలు చూపబడతారు.

ప్రారంభించే ముందు

లూప్ ఉదాహరణలతో మీరు ప్రారంభించడానికి ముందు, మీరు ఒక టెర్మినల్ విండోను తెరిచి ఈ దశలను పాటించాలి:

  1. ఎంటర్ mkdir స్క్రిప్ట్స్ (ఇక్కడ mkdir గురించి మరింత తెలుసుకోండి).

  2. ఎంటర్ CD స్క్రిప్ట్స్ (ఇది డైరెక్టరీని మారుస్తుంది స్క్రిప్ట్స్ ).

  3. ఎంటర్ నానో examplen.sh (ఎక్కడ n మీరు పని చేస్తున్న ఉదాహరణ).

  4. లిపిని నమోదు చేయండి.

  5. ప్రెస్ CTRL + O సేవ్ మరియు CTRL + X బయటకు పోవుటకు.

  6. రన్ బాష్ examplen.sh (మళ్ళీ, తో n మీరు పని చేస్తున్న ఉదాహరణగా ఉండటం).

ఒక జాబితా ద్వారా లూప్ ఎలా

#! / bin / bashfor సంఖ్య 1 2 3 4 5doecho $ numberdoneexit 0

ఉచ్చులు "కోసం" ఉపయోగించే బాష్ మార్గం చాలా ఇతర ప్రోగ్రామింగ్ మరియు స్క్రిప్టింగ్ భాషలు ఉచ్చులు కోసం "కోసం" నిర్వహించడానికి మార్గం కొంతవరకు భిన్నంగా ఉంటుంది. స్క్రిప్ట్ను విచ్ఛిన్నం చేద్దాం.

బష్ లో "కోసం" లూప్ అన్ని, మధ్య ప్రకటనలు అలా మరియు పూర్తి జాబితాలో ప్రతి అంశం కోసం ఒకసారి నిర్వహిస్తారు.

పైన చెప్పిన ఉదాహరణలో, ఈ పదం పదం తర్వాత వచ్చిన ప్రతిదీ లో (అనగా 1 2 3 4 5).

ప్రతి సమయం లూప్ iterates, జాబితాలో తదుపరి విలువ పదం తర్వాత పేర్కొన్న వేరియబుల్ ఇన్సర్ట్ "కోసం" . పై లూప్ లో, వేరియబుల్ అంటారు సంఖ్య .

స్క్రీన్కు సమాచారం ప్రదర్శించటానికి echo statement ఉపయోగించబడుతుంది.

అందువల్ల, ఈ ఉదాహరణ సంఖ్యలు 1 నుండి 5 వరకు పడుతుంది మరియు వాటికి ఒకదానిని ఒకదానిని ప్రదర్శిస్తుంది:

  • 1
  • 2
  • 3
  • 4
  • 5

ఒక ప్రారంభ మరియు ఎండ్ పాయింట్ మధ్య లూప్ ఎలా

పైన చెప్పిన ఉదాహరణతో మీకు పెద్ద జాబితా (500 నుండి 1 కు) ప్రాసెస్ చేయాలనుకుంటే, అది మొదటి స్థానంలో ఉన్న అన్ని సంఖ్యలను టైప్ చేయడానికి వయస్సు పడుతుంది.

ఇది ఒక ప్రారంభ మరియు ముగింపు బిందువును ఎలా నిర్దేశించాలి అనేదాన్ని చూపించే రెండవ ఉదాహరణకి మనకు ఇది తెస్తుంది:

#! / bin / bashfor సంఖ్య {1.10} doecho "$ number" పూర్తిచేసిన 0

నియమాలు ప్రధానంగా ఉంటాయి. పదం తర్వాత విలువలు " "లో దాని ద్వారా మళ్ళి జాబితాను రూపొందించండి మరియు జాబితాలోని ప్రతి విలువ వేరియబుల్ (అంటే సంఖ్య) లో ఉంచబడుతుంది మరియు ప్రతిసారీ లూప్ మళ్ళిస్తుంది, మధ్య ప్రకటనలు అలా మరియు పూర్తి నిర్వహిస్తారు.

ప్రధాన వ్యత్యాసం జాబితా ఏర్పడిన మార్గం. కర్లీ బ్రాకెట్లను ప్రాథమికంగా ఒక శ్రేణిని సూచిస్తుంది, మరియు ఈ సందర్భంలో శ్రేణి 1 నుండి 10 వరకు ఉంటుంది (రెండు చుక్కలు ఒక పరిధి యొక్క ప్రారంభ మరియు ముగింపును వేరు చేస్తాయి).

ఈ ఉదాహరణ, 1 మరియు 10 మధ్య ప్రతి సంఖ్య ద్వారా నడుస్తుంది మరియు ఈ క్రింది విధంగా స్క్రీన్కు సంఖ్యను అందిస్తుంది:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

అదే లూప్ మొదటి ఉదాహరణకి సింటాక్స్తో సమానంగా ఇలా వ్రాయబడి ఉండవచ్చు:

సంఖ్య కొరకు 1 2 3 4 5 6 7 8 9 10

ఒక రేంజ్లో సంఖ్యలు దాటవేయడం ఎలా

మునుపటి ఉదాహరణ ఒక ప్రారంభ మరియు ముగింపు బిందువు మధ్య లూప్ ఎలా చూపించాలో, కాబట్టి ఇప్పుడు మేము పరిధిలో సంఖ్యలు ఎలా దాటవేయాలి అని చూస్తాము.

మీరు 0 మరియు 100 మధ్య లూప్ చేయాలనుకుంటున్నారని అనుకుందాం కానీ ప్రతి పదవ సంఖ్యను మాత్రమే చూపించు. కింది స్క్రిప్ట్ దీనిని ఎలా చేయాలో చూపిస్తుంది:

#! / bin / bashfor సంఖ్య {0.100..10} doecho "$ number" పూర్తిచేసిన 0

నియమాలు ప్రధానంగా ఉంటాయి. జాబితా, వేరియబుల్, మరియు సమితి యొక్క ప్రకటనలు ఉన్నాయి అలా మరియు పూర్తి . ఈ సమయం జాబితా ఇలా కనిపిస్తుంది: {0.100..10}.

మొదటి నంబరు 0 మరియు ముగింపు సంఖ్య 100. మూడవ సంఖ్య (10) ఇది దాటవేసే జాబితాలోని అంశాల సంఖ్య.

పైన చెప్పిన ఉదాహరణ, ఈ క్రింది అవుట్పుట్ను ప్రదర్శిస్తుంది:

  • 0
  • 10
  • 20
  • 30
  • 40
  • 50
  • 60
  • 70
  • 80
  • 90
  • 100

మరింత సాంప్రదాయ లూప్ కోసం వెతుకుతోంది

ఇతర ప్రోగ్రామింగ్ లాంగ్వేజ్లతో పోలిస్తే ఉచ్చులు కోసం వ్రాసే బాష్ మార్గం కొద్దిగా విచిత్రంగా ఉంటుంది.

మీరు అయితే, సి ప్రోగ్రామింగ్ లాంగ్వేజ్కు ఇలాంటి శైలిలో లూప్ కోసం వ్రాయవచ్చు, ఇలాంటివి:

#! / bin / bashfor ((సంఖ్య = 1; సంఖ్య <100; సంఖ్య + +)) {if (($ number = 5 == 0)) thenecho "$ 5 ద్వారా విభజించబడవచ్చు 5" fi} నిష్క్రమణ 0

లూప్ వేరియబుల్ సంఖ్యను 1 కు అమర్చుట ద్వారా మొదలవుతుంది (సంఖ్య = 1 ). ఒక సంఖ్య విలువ 100 కంటే తక్కువగా ఉన్నప్పుడు లూప్ దానిని మళ్ళిస్తుంది ( సంఖ్య <100 ). విలువ సంఖ్య ప్రతి పునరావృతం తరువాత 1 ని జోడించడం ద్వారా మార్పులు ( సంఖ్య ++ ).

వంకర జంట కలుపులు మధ్య ప్రతిదీ లూప్ యొక్క ప్రతి మళ్ళా ద్వారా నిర్వహిస్తారు.

జంట కలుపులు మధ్య బిట్ a యొక్క విలువను తనిఖీ చేస్తుంది సంఖ్య , అది 5 ద్వారా విభజిస్తుంది, మిగిలినదానిని 0. తో పోల్చి ఉంటుంది. మిగిలిన 0 ఉంటే, సంఖ్య 5 చేత విభజించబడి, అప్పుడు తెరపై ప్రదర్శించబడుతుంది.

ఉదాహరణకి:

  • 5 5 ద్వారా విభజింపబడుతుంది
  • 10 ద్వారా 5 కు విభజించవచ్చు
  • 15 అనేది 5 ద్వారా విభజించబడవచ్చు

మీరు పునరుక్తి యొక్క అడుగు పరిమాణాన్ని మార్చాలనుకుంటే, మీరు సంఖ్య + + విభాగాన్ని మార్చవచ్చు సంఖ్య = సంఖ్య + 2 , సంఖ్య = సంఖ్య + 5 , లేదా సంఖ్య = సంఖ్య + 10 మొదలైనవి

దీనిని మరింత తగ్గించవచ్చు సంఖ్య + = 2 లేదా సంఖ్య + = 5 .

ప్రాక్టికల్ ఉదాహరణ

ఉచ్చులు ఐపరేట్ జాబితాల కంటే ఎక్కువ చేయగలవు. వాస్తవానికి మీరు ఇతర ఆదేశాల జాబితాను జాబితాగా ఉపయోగించవచ్చు.

ఈ క్రింది ఉదాహరణ MP3 నుండి WAV కు ఆడియో ఫైల్లను ఎలా మార్చాలనేది చూపిస్తుంది:

#! / Bin / bash./wgs/"${file}".wav "$ file" లో ఫైల్ కోసం

ఈ ఉదాహరణలోని జాబితా ప్రతి ఫైల్. ప్రస్తుత ఫోల్డర్ మరియు వేరియబుల్ లో MP3 పొడిగింపు a ఫైలు .

ది mpg కమాండ్ MP3 ఫైల్ను WAV లోకి మారుస్తుంది. అయినప్పటికీ, మీ ప్యాకేజీ నిర్వాహికను మొదట ఉపయోగించుకోవచ్చు.