Skip to main content

Linux - Unix కమాండ్: బాష్

Anonim

Linux కమాండ్ బాష్ ఒకshప్రామాణిక ఇన్పుట్ నుండి లేదా ఫైల్ నుండి చదివే ఆదేశాలను అమలుచేసే కమాండ్ భాషా ఇంటర్ప్రెటర్.బాష్ కూడా కార్న్ మరియు సి షెల్ల్స్ నుండి ఉపయోగకరమైన లక్షణాలను కలిగి ఉంటుంది (ksh మరియుcsh).

బాష్ ఐచ్ఛికాలు

వర్ణనలో డాక్యుమెంట్ చేయబడిన సింగిల్-పాత్ర షెల్ ఐచ్చికాలతో పాటుసెట్ నిర్మించిన కమాండ్,బాష్ దీనిని ప్రారంభించినప్పుడు క్రింది ఎంపికలను అంచనా వేస్తుంది:

  • -c స్ట్రింగ్: ఉంటే-c ఆప్షన్ ఉంది, అప్పుడు ఆదేశాలను చదవబడుతుంది స్ట్రింగ్ . వాదనలు తర్వాత ఉన్నాయి స్ట్రింగ్ , వారు మొదట స్థాన పారామితులను నియమిస్తారు$0.
  • -i: ఉంటే-i ఎంపిక ఉంది, షెల్ ఉంది పరస్పర .
  • -l: చేయండిబాష్ ఇది ఒక లాగిన్ షెల్ గా ప్రస్తావించబడినట్లుగా వ్యవహరించండి.
  • -r: ఉంటే-r ఎంపిక ఉంది, షెల్ అవుతుంది నిరోధిత.
  • -s: ఉంటే-s ఐచ్ఛికం ఉంది, లేదా ఐచ్ఛికం ప్రాసెసింగ్ తర్వాత వాదనలు ఉండకపోతే, ఆదేశాలను ప్రామాణిక ఇన్పుట్ నుండి చదవబడతాయి. ఇంటరాక్టివ్ షెల్ ను ప్రేరేపించేటప్పుడు స్థాన పారామితులను సెట్ చేయడానికి ఈ ఐచ్ఛికం అనుమతిస్తుంది.
  • -D: అన్ని డబుల్ కోట్ల తీగలను జాబితాకు ముందు$ ప్రామాణిక అవుట్పుట్ మీద ముద్రించబడుతుంది. ప్రస్తుత లొకేల్ లేనప్పుడు భాషా అనువాదానికి లోబడి ఉన్న తీగలను ఇవిసి లేదాPOSIX. ఈ సూచిస్తుంది -n ఎంపిక; ఏ ఆదేశాలు అమలు చేయబడవు.
  • - + ఓ shopt_option : shopt_option అంగీకరించిన షెల్ ఐచ్చికాలలో ఒకటిshopt అంతర్నిర్మిత. ఉంటే shopt_option ఉంది,-O ఆ ఎంపిక యొక్క విలువను సెట్ చేస్తుంది, మరియు+ O అది పునరావృతం అవుతుంది. ఉంటే shopt_option సరఫరా చేయబడలేదు, షెల్ ఐచ్చికముల యొక్క పేర్లు మరియు విలువలు ఆమోదించబడలేదుshopt ప్రామాణిక అవుట్పుట్ న ముద్రితమవుతాయి. ఆహ్వాన ఎంపిక ఉంటే + O, అవుట్ పుట్ ఇన్పుట్గా పునరుపయోగించబడే ఫార్మాట్లో ప్రదర్శించబడుతుంది.
  • --: ఒక-- ఎంపికల ముగింపును సూచిస్తుంది మరియు మరిన్ని ఎంపిక ప్రాసెసింగ్ను నిలిపివేస్తుంది. ఏ వాదనలు తర్వాత-- ఫైల్ పేర్లు మరియు వాదనలుగా వ్యవహరిస్తారు. ఒక వాదన- సమానం--.

బాష్ అనేక బహుళ-పాత్ర ఎంపికలను కూడా అంచనా వేస్తుంది. గుర్తించటానికి ఏకైక-అక్షర ఎంపికలు ముందు కమాండ్ లైన్ పై ఈ ఐచ్చికములు కనిపించాలి:

  • --dump-పో-తీగలను: కు సమానమైన-D, కానీ అవుట్పుట్ GNU లో ఉంది gettext పో (పోర్టబుల్ ఆబ్జెక్ట్) ఫైల్ ఫార్మాట్.
  • --dump-తీగలను: కు సమానమైన-D.
  • --సహాయం: ప్రామాణిక అవుట్పుట్పై వాడుక సందేశాన్ని ప్రదర్శించి విజయవంతంగా నిష్క్రమించండి.
  • --init ఫైల్: ఫైలు మరియు --rcfile ఫైలు : నుండి ఆదేశాలను అమలు ఫైలు ప్రామాణిక వ్యక్తిగత ప్రారంభ ఫైల్కు బదులుగా ~ / .Bashrc షెల్ ఇంటరాక్టివ్ ఉంటే.
  • --login: కు సమానమైన-l.
  • --noediting: GNU వాడకండిreadline షెల్ ఇంటరాక్టివ్ అయినప్పుడు కమాండ్ లైన్లను చదవడానికి లైబ్రరీ.
  • --noprofile: వ్యవస్థాపిత ప్రారంభ ఫైల్ను చదవవద్దు / Etc / ప్రొఫైల్ లేదా వ్యక్తిగత ప్రారంభ ఫైళ్లు ఏ ~ / .Bash_profile , ~ / .Bash_login , లేదా ~ / .Profile . అప్రమేయంగా,బాష్ ఈ ఫైళ్లను ఒక లాగిన్ షెల్ గా ప్రస్తావించినప్పుడు చదువుతుంది.
  • --norc: వ్యక్తిగత ప్రారంభ ఫైలు చదివి అమలు చేయవద్దు ~ / .Bashrc షెల్ ఇంటరాక్టివ్ ఉంటే. ఈ ఐచ్ఛికం డిఫాల్ట్ గా షెల్ ప్రయోగించబడి ఉంటేsh.
  • --posix: ప్రవర్తన మార్చండిబాష్ ఇక్కడ డిఫాల్ట్ ఆపరేషన్ ప్రామాణిక (POSIX ప్రమాణాల నుండి వేర్వేరుగా ఉంటుంది) పోసిక్స్ మోడ్ ).
  • --restricted: షెల్ పరిమితం అవుతుంది.
  • --rpm-అవసరం: షెల్ లిపిని అమలు చేయడానికి అవసరమైన ఫైళ్ల జాబితాను ఉత్పత్తి చేయండి. ఇది '-n' ను సూచిస్తుంది మరియు సమయ తనిఖీ దోష పరిశీలనలో కంపైల్ చేయటానికి అదే పరిమితులకు లోబడి ఉంటుంది; బ్యాక్టిక్స్, పరీక్షలు, మరియు ఎవాల్ లు పార్సేడ్ చేయబడవు, అందువల్ల కొంతమంది ఆధారపడటం తప్పిపోవచ్చు.
  • --verbose: కు సమానమైన-v.
  • --version: ఈ సందర్భం కోసం వెర్షన్ సమాచారాన్ని చూపించుబాష్ ప్రామాణిక అవుట్పుట్ మరియు నిష్క్రమణ విజయవంతంగా.

వాదనలు

వాదనలు ప్రాసెసింగ్ ప్రాసెసింగ్ తర్వాత మరియు ఎవరికీ లేకుంటే-c లేదా-s ఐచ్ఛికం సరఫరా చేయబడింది, మొదటి వాదన షెల్ ఆదేశాలు కలిగిన ఫైల్ యొక్క పేరుగా భావించబడుతుంది. ఉంటే బాష్ ఈ పద్ధతిలో,$0 ఫైలు యొక్క పేరుకు సెట్ చేయబడుతుంది, మరియు స్థాన పారామితులు మిగిలిన వాదాలకు అమర్చబడతాయి.బాష్ ఈ ఫైల్ నుండి ఆదేశాలను చదివి అమలు చేస్తుంది; అప్పుడు నిష్క్రమిస్తాడు.బాష్స్క్రిప్ట్ లో అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి నిష్క్రమణ స్థితి. ఏదేని ఆదేశాలను అమలు చేయకపోతే, నిష్క్రమణ స్థితి 0. ప్రస్తుత డైరెక్టరీలో ఫైల్ను తెరవడానికి మొదట ప్రయత్నం చేయబడి, ఏ ఫైల్ కనుగొనబడకపోతే, షెల్ లో డైరెక్టరీలు శోధిస్తుందిPATH స్క్రిప్ట్ కోసం.

ఆవాహన

ఒక లాగిన్ షెల్ దీని మొదటి అక్షరం వాదన సున్నా a-, లేదా ఒక ప్రారంభించారు--login ఎంపిక.

ఒక పరస్పర షెల్ అనేది నాన్-ఎంపిక వాదనలు లేకుండా మరియు ప్రారంభించబడలేదు-c దీని ప్రామాణిక ఇన్పుట్ మరియు అవుట్పుట్ రెండింటి ద్వారా నిర్ణయించినట్లు టెర్మినల్స్కు అనుసంధానిస్తారు isatty (3), లేదా ఒక ప్రారంభించారు-i ఎంపిక.PS1 సెట్ మరియు $- బాష్ ఇంటరాక్టివ్ ఉంటే షెల్ స్క్రిప్ట్ లేదా స్టార్ట్అప్ ఫైల్ను ఈ రాష్ట్ర పరీక్షించడానికి అనుమతిస్తుంది.

కింది పేరాలు ఎలా వివరిస్తాయిబాష్ దాని ప్రారంభ ఫైళ్లను అమలు చేస్తుంది. ఏ ఫైల్స్ అయినా కానీ చదవబడక పోతే,బాష్ లోపం నివేదిస్తుంది. టిల్డె విస్తరణలో వివరించిన విధంగా టిల్డ్స్ ఫైల్ పేర్లలో విస్తరించబడ్డాయి.

ఎప్పుడుబాష్ ఇంటరాక్టివ్ లాగిన్ షెల్ గా లేదా ఇంటరాక్టివ్ కాని షెల్ లాగా వాడబడుతుంది--login ఐచ్ఛికం, ఇది మొదట ఫైలు నుండి ఆదేశాలను చదివి అమలు చేస్తుంది / Etc / ప్రొఫైల్ , ఆ ఫైల్ ఉనికిలో ఉంటే. ఆ ఫైల్ చదివిన తరువాత, అది చూస్తుంది ~ / .Bash_profile , ~ / .Bash_login , మరియు ~ / .Profile ఆ క్రమంలో, మరియు మొదటిది మరియు చదవగలిగినది నుండి ఆదేశాలను చదివి అమలు చేస్తుంది. ది--noprofile ఈ ప్రవర్తనను నిరోధించటానికి షెల్ ప్రారంభమైనప్పుడు ఎంపికను ఉపయోగించవచ్చు.

ఒక లాగిన్ షెల్ నిష్క్రమిస్తే,బాష్ ఫైల్ నుండి ఆదేశాలను చదివి అమలు చేస్తుంది ~ / .Bash_logout , అది ఉంటే.

ఒక ఇంటరాక్టివ్ షెల్ ఒక లాగిన్ షెల్ ప్రారంభించబడనప్పుడు,బాష్ నుండి ఆదేశాలను చదివి అమలు చేస్తుంది ~ / .Bashrc , ఆ ఫైల్ ఉనికిలో ఉంటే. దీనిని ఉపయోగించడం ద్వారా ఇది నిరోధిస్తుంది--norc ఎంపిక. ది--rcfile ఫైలు ఎంపిక బలవంతం చేస్తుందిబాష్ నుండి ఆదేశాలను చదవడానికి మరియు అమలు చేయడానికి ఫైలు బదులుగా ~ / .Bashrc .

ఎప్పుడుబాష్ ఒక ఇంటరాక్టివ్గా ప్రారంభించబడటం - షెల్ లిపిని నడుపుటకు, ఉదాహరణకు - ఇది వేరియబుల్ కొరకు కనిపిస్తుందిBASH_ENV పర్యావరణంలో దాని విలువ విస్తరించినట్లయితే దాని విలువ విస్తరిస్తుంది మరియు విస్తరించిన విలువను ఫైల్ యొక్క పేరుగా చదవడం మరియు అమలు చేయడానికి ఉపయోగిస్తుంది.బాష్ కింది కమాండ్ అమలు చేయబడి ఉంటే ప్రవర్తిస్తుంది:

-0 "$ BASH_ENV"; అప్పుడు. "$ BASH_ENV"; ఫిక్షన్

కానీ విలువPATH వేరియబుల్ ఫైలు పేరు కోసం శోధించడానికి ఉపయోగించబడదు.

ఉంటేబాష్ పేరుతో పిలుస్తారుsh, అది చారిత్రక సంస్కరణల ప్రారంభ ప్రవర్తనను అనుకరించడానికి ప్రయత్నిస్తుందిsh వీలైనంత దగ్గరగా, అలాగే POSIX ప్రమాణాలకు అనుగుణంగా. ఇంటరాక్టివ్ లాగిన్ షెల్ లేదా ఒక ఇంటరాక్టివ్ షెల్ లాగా ఉపయోగించినప్పుడు--login ఆప్షన్, మొదటి నుండి ఆదేశాలను చదవడానికి మరియు అమలు చేయడానికి ఇది ప్రయత్నిస్తుంది / Etc / ప్రొఫైల్ మరియు ~ / .Profile , ఆ క్రమంలో. ది--noprofile ఈ ప్రవర్తనను నిరోధించడానికి ఎంపికను ఉపయోగించవచ్చు. పేరుతో ఇంటరాక్టివ్ షెల్ లాగా వాడినప్పుడు sh, బాష్ వేరియబుల్ కోసం చూస్తుందిENV, అది నిర్వచించిన దాని విలువను విస్తరిస్తుంది మరియు విస్తరించిన విలువను ఫైల్ యొక్క పేరుగా చదవటానికి మరియు అమలు చేయడానికి ఉపయోగిస్తుంది. ఒక షెల్ ప్రస్తావించబడినందునsh ఇతర ప్రారంభ ఫైళ్ళ నుండి ఆదేశాలను చదవడానికి మరియు అమలు చేయడానికి ప్రయత్నించదు--rcfile ఎంపికకు ఎటువంటి ప్రభావం లేదు. పేరుతో వాడబడిన ఒక ఇంటరాక్టివ్ షెల్sh ఏ ఇతర ప్రారంభ ఫైళ్ళను చదవటానికి ప్రయత్నించరు. ఎప్పుడు పిలిచినప్పుడుsh, బాష్ ప్రవేశిస్తుంది POSIX ప్రారంభ ఫైళ్ళను చదివే తర్వాత మోడ్.

ఎప్పుడుబాష్ ప్రారంభమైంది POSIX మోడ్, వంటి--posix కమాండ్ లైన్ ఐచ్చికం, ఇది ప్రారంభ ఫైళ్ళకు POSIX ప్రమాణాన్ని అనుసరిస్తుంది. ఈ మోడ్లో, ఇంటరాక్టివ్ షెల్లు విస్తరించండిENV వేరియబుల్ మరియు ఆదేశాలను విస్తరించిన విలువ అయిన పేరు నుండి చదివి అమలు చేయబడతాయి. ఇతర ప్రారంభ ఫైళ్లు ఏవీ చదవబడవు.

బాష్ ఇది రిమోట్ షెల్ డీమన్ చేత నడుపబడుతున్నప్పుడు నిర్ధారించడానికి ప్రయత్నిస్తుంది rshd . ఉంటే బాష్ దీనిని నిర్వహిస్తున్నట్లు నిర్ణయిస్తుంది rshd , అది ఆదేశాలను చదివి అమలు చేస్తుంది ~ / .Bashrc , ఆ ఫైల్ ఉనికిలో ఉంటే మరియు చదవగలిగేది. ఇలా చేస్తే అది చేయలేవుsh. ది--norc ఈ ప్రవర్తనను నిరోధించడానికి ఎంపికను ఉపయోగించవచ్చు, మరియు--rcfile ఎంపికను వేరొక ఫైల్ను చదవటానికి ఉపయోగించవచ్చు, కానీ rshd సాధారణంగా ఆ ఐచ్ఛికాలతో షెల్ను ఇన్వోక్ చేయవద్దు లేదా వాటిని పేర్కొనడానికి అనుమతించదు.

వాస్తవ వినియోగదారు (సమూహం) ఐడికి సమానం కాదు, సమర్థవంతమైన యూజర్ (గుంపు) ఐడితో షెల్ ప్రారంభించబడితే-p ఎంపికను అందించడం లేదు, ఏ ప్రారంభ ఫైళ్లు చదవబడవు, షెల్ విధులు పర్యావరణం నుండి వారసత్వంగా లేవుSHELLOPTS వేరియబుల్, ఇది వాతావరణంలో కనిపించినట్లయితే, నిర్లక్ష్యం చేయబడుతుంది మరియు ప్రభావవంతమైన వినియోగదారు ఐడి వాస్తవ వినియోగదారు ఐడికి సెట్ చేయబడుతుంది. ఉంటే-p ఎంపికను ప్రవేశానికి సరఫరా చేయబడుతుంది, ప్రారంభ ప్రవర్తన ఒకటి, కానీ సమర్థవంతమైన వినియోగదారు ఐడి రీసెట్ కాదు.

నిర్వచనాలు

ఈ పత్రం యొక్క మిగిలిన అంశాల్లో క్రింది నిర్వచనాలు ఉపయోగించబడతాయి:

  • ఖాళీ: ఖాళీ లేదా టాబ్.
  • పద: షెల్ ద్వారా ఒక యూనిట్గా పరిగణించబడే అక్షరాల క్రమం. కూడా ఒక టోకెన్.
  • పేరు: ఒక పదం ఆల్ఫాన్యూమరిక్ అక్షరాలను మరియు అండర్ స్కోర్లను మాత్రమే కలిగి ఉంటుంది మరియు ఒక అక్షరక్రమం అక్షరాన్ని లేదా అండర్ స్కోర్తో ప్రారంభమవుతుంది. కూడా ఒక సూచిస్తారుఐడెంటిఫైయర్.
  • Metacharacter: ఒక పాత్ర, unquoted ఉన్నప్పుడు, పదాలను వేరు చేస్తుంది. క్రింది వాటిలో ఒకటి:| &; () <> స్పేస్ టాబ్
  • కంట్రోల్ ఆపరేటర్లు: ఒక టోకెన్ ఇది నియంత్రణ ఫంక్షన్ చేస్తుంది. ఇది క్రింది చిహ్నాలు ఒకటి: || & && ; ;; ( ) |

రిజర్వ్డ్ వర్డ్స్

సంరక్షించబడిన పదాలు షెల్కు ప్రత్యేక అర్ధాన్నిచ్చే పదాలు. Unquoted మరియు ఒక సాధారణ కమాండ్ యొక్క మొదటి పదం లేదా a యొక్క మూడవ పదం గా ఉన్నప్పుడు ఈ క్రింది పదాలు రిజర్వుగా గుర్తింపు పొందాయికేసులేదాకోసం కమాండ్:

! కేసు ఎక్కాకి ఎకాక్ ఫిక్షన్ ఫంక్షన్ కోసం ఎన్నుకోబడితే, అప్పుడు ఆ సమయంలో /

షెల్ గ్రామర్: సింపుల్ ఆదేశాలు

ఒక సాధారణ ఆదేశం తరువాత ఐచ్ఛికమైన వేరియబుల్ కేటాయింపుల శ్రేణిఖాళీ-పట్టి పదాలు మరియు మళ్లింపులు మరియు ఒక ద్వారా రద్దు నియంత్రణ ఆపరేటర్ . మొదటి పదం అమలు చేయవలసిన ఆదేశం నిర్దేశిస్తుంది మరియు వాదన సున్నాగా పంపుతుంది. మిగిలిపోయిన పదాలు వాదించిన ఆదేశాలకు వాదనలుగా ఆమోదించబడతాయి.

ఒక తిరిగి విలువ సాధారణ ఆదేశం దాని నిష్క్రమణ స్థితి, లేదా 128+ n ఆదేశం సిగ్నల్ ద్వారా రద్దు చేయబడితే n .

పైపులైన్ల

ఒక పైప్లైన్ పాత్ర ద్వారా వేరు చేయబడిన ఒకటి లేదా ఎక్కువ ఆదేశాల క్రమం|. పైప్లైన్ కొరకు ఫార్మాట్ సమయం -p ! కమాండ్ | command2 … .

యొక్క ప్రామాణిక అవుట్పుట్ కమాండ్ యొక్క ప్రామాణిక ఇన్పుట్ పైపు ద్వారా అనుసంధానించబడి ఉంది command2 . ఈ కనెక్షన్ ఆదేశించిన ఏదైనా మళ్లింపుల ముందు ప్రదర్శించబడుతుంది.

రిజర్వేషన్ చేసిన పదం! ఒక పైప్లైన్ ముందుగా, ఆ పైప్లైన్ యొక్క నిష్క్రమణ స్థితిని గత ఆదేశం యొక్క నిష్క్రమణ స్థితి యొక్క తార్కిక NOT కాదు. లేకపోతే, పైప్లైన్ యొక్క స్థితి గత ఆదేశం యొక్క నిష్క్రమణ స్థితి. షెల్ పైప్లైన్లోని అన్ని ఆదేశాలకు వేచి ఉండటానికి ముందే ముగించాలి.

ఉంటేసమయం రిజర్వ్డ్ పదం ఒక పైప్ లైన్ ముందు, పైప్లైన్ ఎత్తివేసినప్పుడు గరిష్టంగా అలాగే దాని అమలుచే వినియోగించే వినియోగదారు మరియు సిస్టమ్ సమయం నివేదించబడింది. ది-p ఐచ్ఛికం POSIX చే నిర్దేశించిన అవుట్పుట్ ఫార్మాట్ను మారుస్తుంది. దిసమయ నమూనా టైమింగ్ సమాచారం ఎలా ప్రదర్శించాలో తెలియచేసే ఫార్మాట్ స్ట్రింగ్కు వేరియబుల్ అమర్చబడవచ్చు.

ఒక పైప్లైన్లోని ప్రతి కమాండ్ ప్రత్యేక ప్రక్రియగా (ఉదాహరణకు, ఒక ఉపభాగంలో ఉంటుంది) అమలు చేయబడుతుంది.

జాబితాలు

ఒక జాబితా ఆపరేటర్లు ఒకటి వేరు ఒకటి లేదా ఎక్కువ పైప్లైన్ల శ్రేణి;, &, &&, లేదా||, మరియు వైకల్పికంగా ఒకటి ముగిసింది;, &, లేదా.

ఈ జాబితా నిర్వాహకులు,&& మరియు|| సమానమైన ప్రాధాన్యత కలిగి, తర్వాత; మరియు&, ఇవి సమాన ప్రాధాన్యత కలిగి ఉంటాయి.

ఒకటి లేదా అంతకంటే ఎక్కువ కొత్త లైన్ల శ్రేణి a జాబితా బదులుగా సెమీకోలన్ యొక్క ఆదేశాలు డీలిమిట్ చేయడానికి.

ఒక కమాండ్ నియంత్రిత ఆపరేటర్ చేత రద్దు చేయబడితే&, షెల్ ఆదేశాన్ని అమలు చేస్తుంది నేపథ్య సబ్హెల్ లో. షెల్ కమాండ్ కోసం వేచి ఉండదు, మరియు రిటర్న్ స్థితి 0 అవుతుంది. A; వరుసక్రమంలో అమలు చేయబడతాయి; షెల్ ప్రతి కమాండ్ కోసం వేచి ఉండటానికి వేచి ఉంటుంది. తిరిగి స్థితిని చివరి కమాండ్ యొక్క నిష్క్రమణ స్థితిని అమలు చేస్తుంది.

నియంత్రణ ఆపరేటర్లు&& మరియు|| వరుసగా సూచిస్తుంది మరియు జాబితాలు మరియు జాబితాలు. ఒక మరియు జాబితా రూపం ఉంది

command1 && command2

command2 అమలు చేస్తే, మరియు మాత్రమే ఉంటే, command1 సున్నా యొక్క నిష్క్రమణ స్థితిని తిరిగి పంపుతుంది.

ఒక OR జాబితాలో రూపం ఉంది

command1 || command2

command2 మాత్రమే ఉంటే అమలు చేయబడుతుంది command1 సున్నా నిష్క్రమణ స్థితిని తిరిగి పంపుతుంది. జాబితా మరియు OR జాబితాల యొక్క తిరిగి స్థితి జాబితాలో అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి.

సమ్మేళన ఆదేశాలు

ఒక సమ్మేళనం కమాండ్ కిందివాటిలో ఒకటి:

(జాబితా) : జాబితా సబ్హెల్ లో అమలు అవుతుంది. షెల్ యొక్క వాతావరణాన్ని ప్రభావితం చేసే వేరియబుల్ కేటాయింపులు మరియు అంతర్నిర్మిత ఆదేశాలు కమాండ్ పూర్తయిన తర్వాత అమలులో ఉండవు. తిరిగి స్థితి నిష్క్రమణ స్థితి జాబితా .

{జాబితా; } : జాబితా ప్రస్తుత షెల్ వాతావరణంలో కేవలం అమలు అవుతుంది. జాబితా ఒక క్రొత్త లైన్ లేదా సెమికోలన్తో ముగించబడాలి. ఇది a సమూహం ఆదేశం . తిరిగి స్థితి నిష్క్రమణ స్థితి జాబితా . గమనించండి మెటాచరాక్టర్స్ కాకుండా( మరియు), { మరియు} ఉన్నాయి రిజర్వేషన్ పదాలు మరియు రిజర్వు చేయబడిన పదము గుర్తింపు పొందటానికి అనుమతించబడాలి. వారు ఒక పదం విరామం కారణం కాదు కాబట్టి, వారు నుండి వేరు చేయాలి జాబితా తెల్లని ద్వారా.

((వ్యక్తీకరణ)) : ది వ్యక్తీకరణ కింద వివరించిన నిబంధనల ప్రకారం విశ్లేషించబడుతుంది అంకగణిత మూల్యాంకనం. వ్యక్తీకరణ యొక్క విలువ సున్నా కానిది కాకపోతే, రిటర్న్ స్థితి 0; లేకపోతే రిటర్న్ స్థితి 1. ఇది సరిగ్గా సమానంవీలు ' వ్యక్తీకరణ '.

వ్యక్తీకరణ : షరతు వ్యక్తీకరణ యొక్క మూల్యాంకనం ఆధారంగా 0 లేదా 1 యొక్క స్థితిని తిరిగి పొందండి వ్యక్తీకరణ . వ్యక్తీకరణలు క్రింద వివరించిన ప్రాధమికాలు కలిగి ఉంటాయి కండిషనల్ ఎక్స్ప్రెషన్స్. వర్డ్ విభజన మరియు పాత్ పేరు విస్తరణ మధ్య పదాలపై ప్రదర్శించబడవు మరియు; tilde విస్తరణ, పారామితి మరియు వేరియబుల్ విస్తరణ, అంకగణిత విస్తరణ, కమాండ్ ప్రత్యామ్నాయం, ప్రక్రియ ప్రతిక్షేపణ, మరియు కోట్ తొలగింపు నిర్వహిస్తారు.

ఎప్పుడు అయితే== మరియు!= ఆపరేటర్లు వాడతారు, ఆపరేటర్ యొక్క కుడివైపున స్ట్రింగ్ ఒక నమూనాగా పరిగణించబడుతుంది మరియు కింద వివరించిన నియమాల ప్రకారం సరిపోతుందినమూనా సరిపోలిక. స్ట్రింగ్ సరిపోలుతుంది లేదా నమూనాతో సరిపోలడం లేకుంటే 0, లేదా 1 లేకపోతే తిరిగి విలువ 0 అవుతుంది. నమూనాలోని ఏ భాగానికైనా అది స్ట్రింగ్గా సరిపోయేలా బలవంతం చేయడానికి ఉటంకించబడింది.

వ్యక్తీకరణలు కింది ఆపరేటర్లను కలపడం ద్వారా, ముందస్తు క్రమంలో తగ్గుతున్న జాబితాలో చేర్చబడతాయి:

  • (వ్యక్తీకరణ): విలువను చూపుతుంది వ్యక్తీకరణ . ఇది ఆపరేటర్ల సాధారణ ప్రాధాన్యతను అధిగమించడానికి ఉపయోగించబడుతుంది.
  • ! వ్యక్తీకరణ n: ట్రూ వ్యక్తీకరణ తప్పు.
  • expression1 && expression2 : ట్రూ రెండూ expression1 మరియు expression2 నిజం.
  • expression1 || expression2 : ట్రూ గాని ఉంటే expression1 లేదా expression2 నిజం.

ది&& మరియు|| ఆపరేటర్లు విశ్లేషించరు expression2 విలువ ఉంటే expression1 మొత్తం నియత వ్యక్తీకరణ యొక్క తిరిగి విలువను గుర్తించడానికి సరిపోతుంది.

  • కోసం పేరు లో పదం ; అలా జాబితా ; పూర్తి: క్రింది పదాల జాబితాలో అంశాల జాబితాను రూపొందించడం, విస్తరించడం జరుగుతుంది. వేరియబుల్ పేరు ఈ జాబితాలోని ప్రతి అంశానికి క్రమంగా సెట్ చేయబడింది, మరియు జాబితా ప్రతి సమయం అమలు. ఉంటేలో పదం విస్మరించబడింది, ఆకోసం కమాండ్ అమలు అవుతుంది జాబితా ఒకసారి సెట్ చేయబడిన ప్రతి స్థాన పరామితికి. తిరిగి స్థితిని అమలు చేసే చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి. అంశాల విస్తరణ తరువాతలో ఫలితాలను ఖాళీ జాబితాలో, ఏ ఆదేశాలు అమలు చేయబడవు మరియు రిటర్న్ స్థితి 0 అవుతుంది.
  • కోసం (( expr1 ; expr2 ; expr3 )) ; అలా జాబితా ; పూర్తి: మొదట, అంకగణిత వ్యక్తీకరణ expr1 కింద వివరించిన నిబంధనల ప్రకారం విశ్లేషించబడుతుందిఅంకగణిత మూల్యాంకనం. అంకగణిత వ్యక్తీకరణ expr2 అది సున్నాకి అంచనా వేసేవరకు పదేపదే విశ్లేషించబడుతుంది. ప్రతి సారి expr2 సున్నా-కాని విలువకు మదింపు, జాబితా అమలు మరియు అంకగణిత వ్యక్తీకరణ expr3 అంచనా వేయబడింది. ఏదైనా వ్యక్తీకరణ విస్మరించబడితే, అది 1 కు మదింపు చేస్తే అది ప్రవర్తిస్తుంది. రిటర్న్ విలువ గత కమాండ్ యొక్క నిష్క్రమణ స్థితి జాబితా ఇది అమలు చేయబడుతుంది లేదా వ్యక్తీకరణల్లో ఏదైనా చెల్లనిదిగా ఉంటే తప్పు అవుతుంది.
  • ఎంచుకోండి పేరు లో పదం ; అలా జాబితా ; పూర్తి: క్రింది పదాల జాబితాలో అంశాల జాబితాను రూపొందించడం, విస్తరించడం జరుగుతుంది. విస్తరించిన పదాలు సెట్ ప్రామాణిక లోపం ముద్రించబడుతుంది, ప్రతి ఒక సంఖ్య ద్వారా ముందు. ఉంటేలో పదం వదిలివేయబడింది, స్థాన పారామితులు ముద్రించబడతాయి. ది PS3 ప్రాంప్ట్ అప్పుడు ప్రదర్శించబడుతుంది మరియు ప్రామాణిక ఇన్పుట్ నుండి చదవబడిన ఒక పంక్తి. లైన్ ఉంటే ప్రదర్శించబడుతుంది పదాలు ఒకటి సంబంధిత ఒక సంఖ్య కలిగి, అప్పుడు విలువ పేరు ఆ పదానికి సెట్ చేయబడింది. లైన్ ఖాళీగా ఉంటే, పదాలు మరియు ప్రాంప్ట్ మళ్ళీ ప్రదర్శించబడతాయి. EOF చదవబడితే, ఆదేశం పూర్తి అవుతుంది. ఏ ఇతర విలువ చదివి కారణాలు పేరు శూన్య సెట్. లైన్ చదవబడుతుంది వేరియబుల్ సేవ్ప్రతిస్పందించలేదు. ది జాబితా ప్రతి ఎంపిక తరువాత aవిరామం కమాండ్ అమలు చేయబడుతుంది. నిష్క్రమణ స్థితిఎంచుకోండి లో అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి జాబితా , లేదా సున్నాలు ఎటువంటి ఆదేశాలను అమలు చేయకపోతే.
  • కేసు పదం లో ( నమూనా | నమూనా : ఎకేసు కమాండ్ మొదటి విస్తరిస్తుంది పదం , మరియు ప్రతి వ్యతిరేకంగా అది మ్యాచ్ ప్రయత్నిస్తుంది నమూనా క్రమంగా, పథం విస్తరణ కోసం అదే సరిపోలే నియమాలను ఉపయోగిస్తుంది. ఒక మ్యాచ్ కనుగొనబడినప్పుడు, సంబంధిత జాబితా అమలు చేయబడుతుంది. మొదటి మ్యాచ్ తర్వాత, తదుపరి పోటీలు ప్రయత్నించబడవు. నమూనా సరిపోలిక లేకపోతే నిష్క్రమణ స్థితి సున్నాగా ఉంటుంది. లేకపోతే, అది అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి జాబితా .
  • ఉంటే జాబితా ; అప్పుడు జాబితా; మరియు Elif జాబితా ; అప్పుడు జాబితా ; … వేరే జాబితా ; ఫిక్షన్: దిఉంటే జాబితా అమలు చేయబడుతుంది. దాని నిష్క్రమణ స్థితిని సున్నా అయితే,అప్పుడు జాబితా అమలు చేయబడుతుంది. లేకపోతే, ప్రతి Elif జాబితా క్రమంగా అమలు చేయబడుతుంది మరియు దాని నిష్క్రమణ స్థితి సున్నా అయితే, సంబంధితఅప్పుడు జాబితా అమలు చేయబడుతుంది మరియు ఆదేశం పూర్తి అవుతుంది. లేకపోతే, ఆవేరే జాబితా ఉనికిలో ఉంటే, అమలు చేయబడుతుంది. నిష్క్రమణ స్థితి అనేది చివరి కమాండ్ యొక్క నిష్క్రమణ స్థితి, లేదా సున్నా పరిస్థితి ఏదీ పరీక్షించబడకపోతే సున్నా అవుతుంది.
  • అయితే జాబితా ; అలా జాబితా ; పూర్తి మరియు వరకు జాబితా ; అలా జాబితా ; పూర్తి: దిఅయితే కమాండ్ నిరంతరం అమలు చేస్తుందిఅలా జాబితా చివరి కమాండ్ కాలం వరకు జాబితా సున్నా యొక్క నిష్క్రమణ స్థితిని తిరిగి పంపుతుంది. దివరకు కమాండ్ సమానంగా ఉంటుందిఅయితే ఆదేశం, పరీక్షను తిరస్కరించిన తప్ప; దిఅలా జాబితా చివరి కమాండ్ కాలం వరకు అమలు చేయబడుతుంది జాబితా సున్నా నిష్క్రమణ స్థితిని తిరిగి పంపుతుంది. నిష్క్రమణ స్థితిఅయితే మరియువరకు కమాండ్లు గత నిష్క్రమణ స్థితిఅలా జాబితా కమాండ్ అమలు, లేదా సున్నా అమలు చేయకపోతే.
  • ఫంక్షన్ పేరు () { జాబితా ; }: ఇది అనే ఫంక్షన్ను నిర్వచిస్తుంది పేరు . ది శరీర ఫంక్షన్ ఉంది జాబితా {మరియు} మధ్య ఆదేశాల యొక్క. ఈ జాబితా ఎప్పుడు జరుగుతుంది పేరు సాధారణ ఆదేశం యొక్క పేరుగా పేర్కొనబడింది. ఫంక్షన్ యొక్క నిష్క్రమణ స్థితిని శరీరంలో అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి.

వ్యాఖ్యలు

ఇంటరాక్టివ్ కాని షెల్ లేదా ఇంటరాక్టివ్ షెల్ లో interactive_comments ఎంపికshopt అంతర్నిర్మిత ప్రారంభించబడింది, ప్రారంభమయ్యే పదం# ఆ వాక్యంలో మరియు మిగిలిన అన్ని అక్షరాలను విస్మరించడానికి కారణమవుతుంది. లేకుండా ఇంటరాక్టివ్ షెల్interactive_comments ఎనేబుల్ ఎంపిక వ్యాఖ్యలు అనుమతించదు. ది interactive_comments ఇంటరాక్టివ్ షెల్లలో డిఫాల్ట్గా ఎంపిక ఉంటుంది.

ఉటంకిస్తూ

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

ప్రతి metacharacters కింద జాబితానిర్వచనాలు షెల్కు ప్రత్యేకమైన అర్ధాన్ని కలిగి ఉంది మరియు అది తనకు ప్రాతినిధ్యం వహిస్తే అది ఉటంకించబడాలి.

కమాండ్ చరిత్ర విస్తరణ సౌకర్యాలు ఉపయోగించినప్పుడు, చరిత్ర విస్తరణ పాత్ర, సాధారణంగా!, చరిత్ర విస్తరణను నివారించడానికి కోట్ చేయాలి.

మూడు కోటింగ్ విధానాలు ఉన్నాయి: ఎస్కేప్ పాత్ర , సింగిల్ కోట్స్, మరియు డబుల్ కోట్స్.

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

సింగిల్ కోట్ లలో కలుపుతున్న పాత్రలు కోట్స్లోని ప్రతి పాత్ర యొక్క అక్షర విలువను సంరక్షిస్తుంది. ఒకే కోట్ సింగిల్ కోట్స్ మధ్య జరుగుతుంది, ముందుగానే బాక్ స్లాష్ చేస్తే.

ఉల్లేఖన అక్షరాలు డబుల్ కోట్స్లో అన్ని అక్షరాల అక్షర విలువను ఉల్లేఖనాలు లోపల ఉంచుతుంది, మినహాయించి$, ', మరియు. అక్షరాలు$ మరియు' డబుల్ కోట్స్లో వారి ప్రత్యేక అర్ధాన్ని కలిగి ఉంటాయి. కింది అక్షరాలలో ఒకదాని తరువాత మాత్రమే బాక్ స్లాష్ దాని ప్రత్యేక అర్ధాన్ని కలిగి ఉంటుంది:$, ', ', , లేదా. ద్వంద్వ కోట్ డబుల్ కోట్స్లో ఒక బాక్ స్లాష్ తో ముందుగా ఉటంకించబడింది.

ప్రత్యేక పారామితులు* మరియు@ డబుల్ కోట్స్లో ఉన్నప్పుడు ప్రత్యేక అర్ధాన్ని కలిగి ఉంటాయి.

రూపం యొక్క పదాలు$' స్ట్రింగ్ 'ప్రత్యేకంగా చికిత్స చేస్తారు. పదం విస్తరిస్తుంది స్ట్రింగ్ , ANSI సి స్టాండర్డ్ ద్వారా పేర్కొనబడిన బ్యాక్స్లాష్-తప్పించుకున్న అక్షరాలతో భర్తీ చేయబడింది. బాక్ స్లాష్ ఎస్కేప్ సన్నివేశాలు, ఉన్నట్లయితే, ఈ క్రింది విధంగా డీకోడ్ చేయబడతాయి:

  • ఒక: హెచ్చరిక (గంట)
  • b: బ్యాక్పేస్
  • : ఒక ఎస్కేప్ పాత్ర
  • f: ఫారమ్ ఫీడ్
  • n: కొత్త వాక్యం
  • r: క్యారేజ్ రిటర్న్
  • t: సమాంతర టాబ్
  • v: నిలువు టాబ్
  • \: బాక్ స్లాష్
  • ': సింగిల్ కోట్
  • nnn : ఎనిమిది-బిట్ అక్షరం దీని విలువ అష్ట విలువ nnn (ఒకటి నుండి మూడు అంకెలు)
  • x HH : ఎనిమిది-బిట్ పాత్ర దీని విలువ హెక్సాడెసిమల్ విలువ HH (ఒకటి లేదా రెండు హెక్స్ అంకెలు)
  • సి x : నియంత్రణ- x పాత్ర

విస్తరించిన ఫలితంగా డాలర్ సంకేతం లేనట్లయితే, సింగిల్ కోట్ చేయబడింది.

ఒక డాలర్ సంకేతం ముందుగా డబుల్ కోటెడ్ స్ట్రింగ్$) స్ట్రింగ్ను ప్రస్తుత లొకేల్ ప్రకారం అనువదిస్తుంది. ప్రస్తుత లొకేల్ ఉంటేసి లేదాPOSIX, డాలర్ సైన్ విస్మరించబడుతుంది. స్ట్రింగ్ అనువదించబడి, భర్తీ చేయబడితే, భర్తీ డబుల్ కోట్ చేయబడింది.

పారామీటర్లు

ఒక పరామితి విలువలు నిల్వ చేసే ఒక సంస్థ. ఇది ఒక కావచ్చు పేరు , ఒక సంఖ్య, లేదా కింద జాబితా ప్రత్యేక అక్షరాలు ఒకటిప్రత్యేక పారామితులు. షెల్ యొక్క ప్రయోజనాల కోసం, a వేరియబుల్ ఒక పారామితి సూచిస్తుంది a పేరు . ఒక వేరియబుల్ a విలువ మరియు సున్నా లేదా ఎక్కువ గుణాలు . గుణాలు ఉపయోగించి కేటాయించబడతాయిడిక్లేర్ నిర్మించిన కమాండ్.

విలువను కేటాయించినట్లయితే ఒక పారామితి సెట్ చేయబడింది. శూన్య స్ట్రింగ్ చెల్లుబాటు అయ్యే విలువ. ఒకసారి వేరియబుల్ సెట్ చేయబడితే, అది ఉపయోగించకుండా మాత్రమే అన్సెట్ చేయవచ్చుసెట్ చేయకుండా నిర్మించిన కమాండ్.

ఒక వేరియబుల్ రూపం యొక్క ఒక ప్రకటనచే కేటాయించబడవచ్చు: పేరు = విలువ

ఉంటే విలువ ఇచ్చిన లేదు, వేరియబుల్ శూన్య కేటాయించబడుతుంది. అన్ని విలువలు tilde విస్తరణ, పారామితి మరియు వేరియబుల్ విస్తరణ, కమాండ్ ప్రత్యామ్నాయం, అంకగణిత విస్తరణ, మరియు కోట్ తొలగింపు చేయించుకోవాలి. వేరియబుల్ దాని ఉంటేపూర్ణ సంఖ్య లక్షణం సెట్, అప్పుడు విలువ $ ((…)) విస్తరణ ఉపయోగించబడకపోయినా కూడా అంకగణిత విస్తరణకు లోబడి ఉంటుంది. వర్డ్ విభజన మినహాయించి, ప్రదర్శించబడలేదు'$@' కింద వివరించారుప్రత్యేక పారామితులు. Pathname విస్తరణ ప్రదర్శించబడలేదు. అప్పగించిన ప్రకటనలు కూడా వాదనలుగా కనిపిస్తాయిడిక్లేర్, ముద్రించారు, ఎగుమతి, చదవడానికి మాత్రమే, మరియు స్థానిక అంతర్నిర్మిత ఆదేశాలు.

Positional పారామితులు

ఒక స్థాన పరామితి ఒకటి లేదా అంతకంటే ఎక్కువ అంకెలతో సూచించబడిన ఒక పారామితి. ఇది సింగిల్ అంకె 0 కన్నా మరొకటి. ఇది అమలు చేయబడినప్పుడు షెల్ యొక్క వాదనలు నుండి పదాల పారామితులు కేటాయించబడతాయి మరియుసెట్ నిర్మించిన కమాండ్. పదాల పారామితులు అప్పగించిన ప్రకటనలతో కేటాయించబడకపోవచ్చు. షెల్ ఫంక్షన్ అమలు చేయబడినప్పుడు స్థాన పారామితులు తాత్కాలికంగా భర్తీ చేయబడతాయి.

ఒకే అంకె కంటే ఎక్కువ ఉన్న స్థాన పారామితి విస్తరించబడినప్పుడు, అది కలుపులో జత చేయాలి.

ప్రత్యేక పారామితులు

షెల్ ప్రత్యేకంగా అనేక పారామితులను నిర్వహిస్తుంది. ఈ పారామితులు మాత్రమే ప్రస్తావించబడతాయి; వారికి అప్పగించిన అనుమతి లేదు.

  • *: ఒక నుండి ప్రారంభించి, స్థాన పారామితులను విస్తరించింది. విస్తరణ డబుల్ కోట్స్లో సంభవించినప్పుడు, అది ఒక్క పదానికి విస్తరిస్తుంది, ప్రతి పరామితి విలువతో మొదటి