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

NAME

బాష్ - GNU బోర్న్-ఎగైన్ షెల్

సంక్షిప్తముగా

బాష్ [ఎంపికలు] [ఫైలు]

వివరణ

బాష్ అనేది ప్రామాణిక ఇన్పుట్ నుండి లేదా ఫైల్ నుండి చదివే ఆదేశాలను నిర్వర్తించే ఒక sh- compatible command language interpreter. బాష్ కార్న్ మరియు సి షెల్ల్స్ ( కిష్ మరియు సిష్ ) నుండి ఉపయోగకరమైన లక్షణాలను కూడా కలిగి ఉంటుంది.

బాష్ IEEE POSIX షెల్ మరియు టూల్స్ స్పెసిఫికేషన్ (IEEE వర్కింగ్ గ్రూప్ 1003.2) యొక్క స్థిరమైన అమలుకు ఉద్దేశించబడింది.

OPTIONS

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

-c స్ట్రింగ్

-c ఐచ్ఛికం ఉన్నట్లయితే, ఆదేశాలను స్ట్రింగ్ నుండి చదవబడతాయి. స్ట్రింగ్ తరువాత వాదనలు ఉంటే, వారు $ 0 తో ప్రారంభించి, స్థాన పారామితులను నియమిస్తారు.

-i

-i ఐచ్ఛికం వుంటే, షెల్ ఇంటరాక్టివ్ .

-l

బాష్ చర్యను లాగిన్ షెల్ గా ఉపయోగించినట్లుగా చేయండి (దిగువ INVOCATION చూడండి).

-r

-r ఐచ్ఛికం ఉన్నట్లయితే, షెల్ పరిమితం అవుతుంది (దిగువ ఉన్న పరిమిత షెల్ చూడండి).

-s

-s ఐచ్చికం వుంటే, లేదా ఐచ్ఛికం ప్రాసెసింగ్ తరువాత వాదనలు లేకుంటే, అప్పుడు ఆదేశాలను స్టాండర్డ్ ఇన్పుట్ నుండి చదువుతారు. ఇంటరాక్టివ్ షెల్ ను ప్రేరేపించేటప్పుడు స్థాన పారామితులను సెట్ చేయడానికి ఈ ఐచ్ఛికం అనుమతిస్తుంది.

-D

$ ముందున్న అన్ని డబుల్ కోట్ల తీగాల జాబితా ప్రామాణిక ouput లో ముద్రించబడుతుంది. ఈ ప్రస్తుత భాష C లేదా POSIX కానప్పుడు, భాష అనువాదంకు లోబడి ఉన్న తీగలు. ఇది -n ఎంపికను సూచిస్తుంది; ఏ ఆదేశాలు అమలు చేయబడవు.

[- +] ఓ [ shopt_option ]

shopt_option అనేది షాప్ట్ బిల్డింగ్ ద్వారా ఆమోదించబడిన షెల్ ఐచ్చికాలలో ఒకటి (దిగువ షెల్ట్ బిల్లు కమాండ్స్ చూడండి). Shopt_option ఉన్నట్లయితే, -O ఆ ఎంపిక యొక్క విలువను అమర్చుతుంది; + ఓ అది పునఃశ్చరణలు. Shopt_option సరఫరా చేయబడకపోతే , దుకాణముచే స్వీకరించబడిన షెల్ ఐచ్చికముల పేర్లు మరియు విలువలు స్టాండర్డ్ అవుట్పుట్ పైన ముద్రించబడతాయి. Invocation ఎంపిక + O అయితే , అవుట్పుట్ ఇన్పుట్గా పునరుపయోగించబడే ఫార్మాట్లో ప్రదర్శించబడుతుంది.

-

A - ఎంపికల ముగింపు సంకేతాలు మరియు మరిన్ని ఎంపిక ప్రాసెసింగ్ను నిలిపివేస్తుంది. ఏ వాదనలు తర్వాత - ఫైల్ పేర్లు మరియు వాదనలు గా వ్యవహరిస్తారు. ఒక వాదన - సమానం - .

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

--dump-పో-తీగలను

-D కు సమానంగా ఉంటుంది, కానీ అవుట్పుట్ GNU గెట్టెక్స్ట్ పే (పోర్టబుల్ ఆబ్జెక్ట్) ఫైల్ ఫార్మాట్లో ఉంది.

--dump-తీగలను

-D కు సమానమైనది.

--సహాయం

ప్రామాణిక అవుట్పుట్పై వాడుక సందేశాన్ని ప్రదర్శించి విజయవంతంగా నిష్క్రమించండి.

--init ఫైలు ఫైలు

--rcfile ఫైలు

షెల్ ఇంటరాక్టివ్ అయినట్లయితే ప్రామాణిక వ్యక్తిగత ప్రారంభ ఫైలుకు బదులుగా ఫైల్ నుండి ఆదేశాలను నిర్వర్తించండి ~ / .bashrc (క్రింద INVOCATION చూడండి).

--login

-l కు సమానమైనది.

--noediting

షెల్ ఇంటరాక్టివ్ అయినప్పుడు ఆదేశ పంక్తులు చదివేందుకు GNU రీడ్లైన్ లైబ్రరీని ఉపయోగించవద్దు.

--noprofile

సిస్టమ్ వ్యాప్తంగా ప్రారంభ ఫైల్ / etc / ప్రొఫైల్ లేదా వ్యక్తిగత ప్రారంభ ఫైళ్ళలో ఏదీ చదివించవద్దు ~ /. Bash_profile , ~ / .bash_login , లేదా ~ / .profile . అప్రమేయంగా, బాష్ ఈ ఫైళ్ళను లాగిన్ షెల్ లాగా పిలిచినప్పుడు చదువుతుంది (దిగువ INVOCATION చూడండి).

--norc

షెల్ ఇంటరాక్టివ్ అయితే వ్యక్తిగత ప్రారంభ ఫైల్ను ~ /. Bashrc చదివి అమలు చేయకండి . షెల్ sh వంటి వాడుతుంటే ఈ ఐచ్ఛికం అప్రమేయంగా ఉంటుంది.

--posix

ప్రామాణిక ( పోసిక్స్ మోడ్ ) కు సరిపోయే విధంగా POSIX 1003.2 ప్రమాణాల నుండి డిఫాల్ట్ ఆపరేషన్ భిన్నంగా ఉన్న బాష్ యొక్క ప్రవర్తనను మార్చండి.

--restricted

షెల్ పరిమితం అవుతుంది (క్రింద ఉన్న పరిమిత షెల్ చూడండి).

--rpm-అవసరం

షెల్ లిపిని అమలు చేయడానికి అవసరమైన ఫైళ్ల జాబితాను ఉత్పత్తి చేయండి. ఇది '-n' ను సూచిస్తుంది మరియు సమయ తనిఖీ దోష పరిశీలనలో కంపైల్ చేయటానికి అదే పరిమితులకు లోబడి ఉంటుంది; బ్యాక్టిక్స్, [] పరీక్షలు, మరియు ఎవాల్ లు పార్సేడ్ చేయబడవు, అందువల్ల కొంతమంది ఆధారపడటం తప్పిపోవచ్చు. --verbose -v కు సమానమైనది.

--version

ప్రామాణిక అవుట్పుట్ న బాష్ యొక్క ఈ సందర్భంలో సంస్కరణ సమాచారాన్ని చూపుతుంది మరియు విజయవంతంగా నిష్క్రమించండి.

వాదనలు

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

పిలుపుతో

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

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

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

- ఇంటరాక్టివ్ లాగ్ షెల్ లాగా, లేదా - లాజిన్ ఐచ్చికంతో కాని ఇంటరాక్టివ్ షెల్ లాగా బాష్ వ్యవహరించినప్పుడు , ఫైలు మొదట ఫైలు / etc / ప్రొఫైల్ నుండి ఆదేశాలను చదివి అమలు చేస్తుంది. ఆ ఫైల్ చదివిన తర్వాత, ఆ క్రమంలో ~ /. Bash_profile , ~ / .bash_login , మరియు ~ / .profile , కోసం చూస్తుంది , మరియు మొదటిది మరియు చదవగలిగినది నుండి ఆదేశాలను చదివి అమలు చేస్తుంది. ఈ ప్రవర్తనను నిరోధించటానికి షెల్ ప్రారంభించబడినప్పుడు --noprofile ఐచ్చికాన్ని వాడవచ్చు.

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

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

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

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

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

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

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

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

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

నిర్వచనాలు

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

ఖాళీ

ఖాళీ లేదా టాబ్.

పదం

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

పేరు

ఆల్ఫాన్యూమరిక్ అక్షరాలను మరియు అండర్ స్కోర్లను కలిగి ఉన్న ఒక పదం , మరియు అక్షరక్రమం లేదా అండర్ స్కోర్తో మొదలవుతుంది. కూడా ఒక ఐడెంటిఫైయర్ గా సూచిస్తారు.

metacharacter

ఒక పాత్ర, unquoted ఉన్నప్పుడు, పదాలను వేరు చేస్తుంది. క్రింది వాటిలో ఒకటి:

| &; () <> స్పేస్ టాబ్

నియంత్రణ ఆపరేటర్

నియంత్రణ ఫంక్షన్ చేసే టోకెన్ . ఇది క్రింది చిహ్నాలు ఒకటి:

|| &&&; ;; () |

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

షెల్కి ప్రత్యేక అర్ధాన్నిచ్చే పదాలు రిజర్వ్ చేయబడిన పదాలు . Unquoted మరియు సాధారణ కమాండ్ యొక్క మొదటి పదం (క్రింద SHELL GRAMMAR చూడండి) లేదా కేస్ యొక్క మూడవ పదం లేదా కమాండ్:

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

షెల్ GRAMMAR

సాధారణ ఆదేశాలు

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

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

పైపులైన్ల

ఒక పైప్లైన్ అనేది పాత్ర ద్వారా వేరు చేయబడిన ఒకటి లేదా ఎక్కువ ఆదేశాల క్రమం . పైప్లైన్ కోసం ఫార్మాట్:

[ సమయం [ -p ]] [! ] కమాండ్ [ | కమాండ్ 2 ...]

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

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

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

ఒక పైప్లైన్లో ప్రతి కమాండ్ ప్రత్యేక ప్రక్రియగా (అనగా, ఒక subshell లో) అమలు అవుతుంది.

జాబితాలు

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

ఈ జాబితా నిర్వాహకులు, && మరియు || సమాన ప్రాధాన్యత కలిగి, తరువాత ; మరియు & amp ;

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

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

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

command1 && command2

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

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

command1 || command2

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

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

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

( జాబితా )

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

{ జాబితా ; }

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

( వ్యక్తీకరణ ))

ARITHMETIC అంచనా క్రింద వివరించిన నిబంధనల ప్రకారం వ్యక్తీకరణ అంచనా వేయబడుతుంది . వ్యక్తీకరణ యొక్క విలువ సున్నా కానిది కాకపోతే, రిటర్న్ స్థితి 0; లేకపోతే రిటర్న్ స్థితి 1. ఇది " వ్యక్తీకరణ " ను సరిగ్గా సరిపోతుంది.

[[ వ్యక్తీకరణ ]]

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

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

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

( వ్యక్తీకరణ )

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

! వ్యక్తీకరణ

వ్యక్తీకరణ అబద్ధం అయితే ట్రూ.

వ్యక్తీకరణ 1 && వ్యక్తీకరణ 2

నిజం రెండు మరియు వ్యక్తీకరణ 2 నిజం అయితే.

వ్యక్తీకరణ 1 || expression2 నిజమే గాని వ్యక్తీకరణ 1 లేదా వ్యక్తీకరణ 2 నిజం.

&& మరియు || ఎక్స్ప్రెషన్ 1 యొక్క విలువ మొత్తం నియత వ్యక్తీకరణ యొక్క తిరిగి విలువను నిర్ణయించడానికి సరిపోతుందా అనేది ఆపరేటర్లు వ్యక్తీకరణను అంచనా వేయదు.

పేరు [ పదంలో ]; జాబితా చేయండి ; పూర్తి

ఈ క్రింది పదాల జాబితా విస్తరించబడింది, అంశాల జాబితాను ఉత్పత్తి చేస్తుంది. ఈ జాబితా యొక్క ప్రతి మూలకానికి వేరియబుల్ పేరు సెట్ చేయబడింది, మరియు జాబితా ప్రతిసారీ అమలు అవుతుంది. పదంలో విస్మరించబడినట్లయితే, కమాండ్ కోసం అమలు చేయబడిన ప్రతి స్థాన పరామితికి ఒకసారి జాబితా చేయబడుతుంది (క్రింద PARAMETERS చూడండి). తిరిగి స్థితిని అమలు చేసే చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి. అంశాల విస్తరణ ఫలితాల ఫలితంగా ఖాళీ జాబితాలో ఉంటే, ఏ ఆదేశాలు అమలు చేయబడవు మరియు రిటర్న్ స్థితి 0 అవుతుంది.

కోసం (( expr1 ; expr2 ; expr3 )); జాబితా చేయండి ; పూర్తి

మొదటిది, అరిథటిక్ ఇవల్యూషన్ క్రింద వివరించిన నిబంధనల ప్రకారం అంకగణిత వ్యక్తీకరణ expr1 విశ్లేషించబడుతుంది . అంకగణిత వ్యక్తీకరణ expr2 అప్పుడు సున్నాకి అంచనా వేసే వరకు పునరావృతమవుతుంది. ప్రతి సమయం expr2 సున్నా కాని విలువకు మదింపు చేస్తుంది, జాబితా అమలు అవుతుంది మరియు అంకగణిత వ్యక్తీకరణ expr3 విశ్లేషించబడుతుంది. ఏదైనా వ్యక్తీకరణ విస్మరించబడితే, అది 1 కు మదింపు చేస్తే అది ప్రవర్తిస్తుంది. రిటర్న్ విలువ అనేది అమలులో ఉన్న చివరి కమాండ్ యొక్క నిష్క్రమణ స్థితి, లేదా ఎటువంటి వ్యక్తీకరణలు చెల్లనివి అయి ఉంటే అబద్ధం.

పేరును ఎంచుకోండి [ పదం లో ]; జాబితా చేయండి ; పూర్తి

ఈ క్రింది పదాల జాబితా విస్తరించబడింది, అంశాల జాబితాను ఉత్పత్తి చేస్తుంది. విస్తరించిన పదాలు సెట్ ప్రామాణిక లోపం ముద్రించబడుతుంది, ప్రతి ఒక సంఖ్య ద్వారా ముందు. పదం విస్మరించబడితే, స్థాన పారామితులు ముద్రించబడతాయి (క్రింద PARAMETERS చూడండి). PS3 ప్రాంప్ట్ అప్పుడు ప్రదర్శించబడుతుంది మరియు ప్రామాణిక ఇన్పుట్ నుండి చదవబడిన ఒక పంక్తి. లైన్ ప్రదర్శించబడే పదాలలో ఒకటికి సంబంధించిన సంఖ్యను కలిగి ఉంటే, ఆ పేరు యొక్క విలువ ఆ పదానికి అమర్చబడుతుంది. లైన్ ఖాళీగా ఉంటే, పదాలు మరియు ప్రాంప్ట్ మళ్ళీ ప్రదర్శించబడతాయి. EOF చదవబడితే, ఆదేశం పూర్తి అవుతుంది. ఏదైనా ఇతర విలువ చదవబడుతుంది పేరు పేరు శూన్య సెట్. లైన్ చదవబడుతుంది వేరియబుల్ రీప్లేలో సేవ్ చేయబడుతుంది. విరామం ఆదేశం అమలు చేయబడే వరకు జాబితా ప్రతి ఎంపిక తర్వాత అమలు అవుతుంది. ఎంపికల యొక్క నిష్క్రమణ స్థితిని జాబితాలో అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి లేదా ఏ ఆదేశాలను అమలు చేయకపోతే సున్నా అయినా.

[[(]] నమూనాలో [ కేసు పదం ]

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

జాబితా ఉంటే ; అప్పుడు జాబితా; [ ఎలిఫ్ జాబితా ; అప్పుడు జాబితా ; ] ... [ else జాబితా ; ] fi

జాబితా అమలు చేయబడితే . దాని నిష్క్రమణ స్థితి సున్నా అయితే, అప్పుడు జాబితా అమలు అవుతుంది. లేకపోతే, ప్రతి ఎలిఫ్ జాబితా టర్న్ చేయబడుతుంది, మరియు దాని నిష్క్రమణ స్థితిని సున్నా అయితే, సంబంధిత జాబితా అమలు చేయబడుతుంది మరియు ఆదేశం పూర్తి అవుతుంది. లేకపోతే, వేరే జాబితా అమలు చేయబడి ఉంటుంది. నిష్క్రమణ స్థితి అనేది చివరి కమాండ్ యొక్క నిష్క్రమణ స్థితి, లేదా సున్నా పరిస్థితి ఏదీ పరీక్షించబడకపోతే సున్నా అవుతుంది.

జాబితాలో ఉన్నప్పుడు ; జాబితా చేయండి ; పూర్తి

జాబితా వరకు ; జాబితా చేయండి ; పూర్తి

జాబితాలో గత ఆదేశం సున్నా యొక్క నిష్క్రమణ స్థితిని తిరిగి ఇచ్చినంత వరకు డోంట్ జాబితాను నిర్వహిస్తుంది. పరీక్ష ఆదేశానికి మినహా , ఆదేశం ఆదేశానికి సమానంగా ఉంటుంది; జాబితాలోని చివరి ఆదేశం సున్నా-కాని నిష్క్రమణ స్థితిని తిరిగి ఇచ్చినంతకాలం డో- జాబితా అమలు అవుతుంది. ఎగ్జిట్ స్థితిని మరియు ఆదేశాల వరకు అమలు చేయబడిన చివరి డో కమాండ్ ఆదేశం యొక్క నిష్క్రమణ స్థితి లేదా ఎవరూ అమలు చేయకపోతే సున్నా అయినా.

[ ఫంక్షన్ ] పేరు () { జాబితా ; }

ఇది పేరు అనే ఫంక్షన్ నిర్వచిస్తుంది. ఫంక్షన్ యొక్క శరీరం {మరియు} మధ్య ఆదేశాల జాబితా . సాధారణ జాబితా యొక్క పేరుగా పేరు పేర్కొనబడినప్పుడు ఈ జాబితా అమలు అవుతుంది. ఫంక్షన్ యొక్క నిష్క్రమణ స్థితిని శరీరంలో అమలు చేయబడిన చివరి ఆదేశం యొక్క నిష్క్రమణ స్థితి. (క్రింద FUNCTIONS చూడండి.)

కామెంట్స్

నాన్-ఇంటరాక్టివ్ షెల్, లేదా ఇంటరాక్టివ్ కామెంట్స్ ఇన్ ఇంటరాక్టివ్_కాంగ్మెంట్స్ ఐచ్చికం ఎనేబుల్ చేయబడినాయి (చూడండి SHELL BUILTIN COMMANDS క్రింద చూడండి), ప్రారంభమయ్యే పదము #పదములోని పదము మరియు మిగిలిన అక్షరములు విస్మరించబడుతాయి. ప్రారంభించబడిన ఇంటరాక్టివ్_కమ్మెంటేషన్ ఎంపిక లేకుండా ఇంటరాక్టివ్ షెల్ వ్యాఖ్యలను అనుమతించదు. ఇంటరాక్టివ్_కమ్స్ ఎంపికను ఇంటరాక్టివ్ షెల్లలో అప్రమేయంగా ఉంటుంది.

కోటింగ్

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

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

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

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

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

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

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

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

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

\ ఒక

హెచ్చరిక (గంట)

\ b

బ్యాక్స్పేస్ను

\ ఇ

ఎస్కేప్ పాత్ర

\ f

ఫారమ్ ఫీడ్

\ n

కొత్త వాక్యం

\ r

క్యారేజ్ రిటర్న్

\ t

సమాంతర టాబ్

\ v

నిలువు టాబ్

\\

బాక్ స్లాష్

\ '

సింగిల్ కోట్

\ n న

ఎనిమిది-బిట్ అక్షరం దీని విలువ అష్ట విలువ NNN (ఒకటి నుండి మూడు అంకెలు)

\ x HH

ఎనిమిది-బిట్ పాత్ర దీని విలువ హెక్సాడెసిమల్ విలువ HH (ఒకటి లేదా రెండు హెక్స్ అంకెలు)

\ c x

ఒక నియంత్రణ- x పాత్ర

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

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

పారామితులు

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

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

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

పేరు = [ విలువ ]

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

Positional పారామితులు

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

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

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

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

*

స్థాన పారామితులను విస్తరించింది, ఇది ఒకదాని నుండి ప్రారంభమవుతుంది. విస్తరణ డబుల్ కోట్స్లో సంభవించినప్పుడు, IFS స్పెషల్ వేరియబుల్ యొక్క మొదటి అక్షరం వేరుచేసిన ప్రతి పరామితి విలువతో ఒక పదంగా విస్తరిస్తుంది. అనగా, " $ * " " $ 1 సి $ 2 సి ... " కు సమానంగా ఉంటుంది, ఇక్కడ IFS వేరియబుల్ విలువ యొక్క మొదటి అక్షరం c . IFS సెట్ చేయకపోతే, పారామితులు ఖాళీలతో వేరు చేయబడతాయి. IFS శూన్యమైతే, పారామితులు జోక్యం చేసుకోకుండా వేరుచేయబడతాయి.

@

స్థాన పారామితులను విస్తరించింది, ఇది ఒకదాని నుండి ప్రారంభమవుతుంది. విస్తరణ డబుల్ కోట్స్లో సంభవించినప్పుడు, ప్రతి పారామితి ఒక ప్రత్యేక పదానికి విస్తరిస్తుంది. అంటే " $ 1 " " $ 1 " " $ 2 " కు సమానంగా ఉంటుంది ... ఎటువంటి positional పారామితులు లేనప్పుడు, " $ @ " మరియు $ @ విస్తరించడం ఏదీ (అనగా అవి తీసివేయబడతాయి).

#

దశాంశ లో స్థాన పారామితుల సంఖ్యకు విస్తరించింది.

?

ఇటీవల అమలుచేయబడిన ముందువైపు పైప్లైన్ స్థితికి విస్తరించింది.

-

షెడ్యూల్ అంతర్నిర్మిత ఆదేశం ద్వారా, లేదా షెల్ ద్వారా సెట్ చేయబడిన ( -i ఎంపిక) వంటి ప్రస్తుత ఎంపిక ఫ్లాగ్లకు విస్తరించింది.

$

షెల్ యొక్క ప్రాసెస్ ID కు విస్తరించింది. ఒక () సబ్ షెల్ లో, ఇది ప్రస్తుత షెల్ యొక్క ప్రాసెస్ ID కు విస్తరిస్తుంది, సబ్హెల్ కాదు.

!

ఇటీవల అమలుపరచిన నేపథ్య (అసమకాలిక) ఆదేశం యొక్క ప్రాసెస్ ఐడికి విస్తరించింది.

0

షెల్ లేదా షెల్ లిపి పేరుకు విస్తరిస్తుంది. ఇది షెల్ ప్రారంభంలో సెట్ చేయబడింది. ఆదేశాల ఫైలుతో బాష్ ఉంటే, ఆ ఫైల్ యొక్క పేరుకు $ 0 సెట్ అవుతుంది. -c ఐచ్చికంతో బాష్ ప్రారంభించబడితే, స్ట్రింగ్ తరువాత ఉండినట్లయితే, $ 0 మొదటి వాదనకు అమర్చబడుతుంది. లేకపోతే, ఇది వాదన సున్నాచే ఇచ్చిన విధంగా, బాష్ను పిలిచేందుకు ఉపయోగించే ఫైల్ పేరుకు సెట్ చేయబడింది.

_

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

షెల్ వేరియబుల్స్

కింది వేరియబుల్స్ షెల్చే సెట్ చేయబడతాయి:

బాష్

బాష్ యొక్క ఈ ఉదాహరణని ప్రయోగించడానికి పూర్తి ఫైల్ పేరుకు విస్తరించింది.

BASH_VERSINFO

ఈ సభ్యుల బాష్ యొక్క సంస్కరణకు సంస్కరణ సమాచారం కలిగివున్న చదవడానికి మాత్రమే శ్రేణి వేరియబుల్. శ్రేణి సభ్యులకు కేటాయించిన విలువలు క్రింది విధంగా ఉన్నాయి:

BASH_VERSINFO [ 0]

ప్రధాన సంస్కరణ సంఖ్య ( విడుదల ).

BASH_VERSINFO [ 1]

చిన్న సంస్కరణ సంఖ్య ( సంస్కరణ ).

BASH_VERSINFO [ 2]

పాచ్ స్థాయి.

BASH_VERSINFO [ 3]

బిల్డ్ వెర్షన్.

BASH_VERSINFO [ 4]

విడుదల స్థితి (ఉదా., Beta1 ).

BASH_VERSINFO [ 5]

MACHTYPE విలువ.

BASH_VERSION

బాష్ యొక్క ఈ ఉదాహరణ యొక్క వర్షన్ వివరిస్తూ స్ట్రింగ్ కు విస్తరించింది.

COMP_CWORD

COMP_LINE

ప్రస్తుత కమాండ్ లైన్. ఈ వేరియబుల్ షెల్ విధులు మరియు ప్రోగ్రామబుల్ పూర్తైన సౌకర్యాల ద్వారా తీసుకురాబడిన బాహ్య ఆదేశాలలో మాత్రమే అందుబాటులో ఉంది (క్రింద ప్రోగ్రామబుల్ కంప్లీషన్ చూడండి).

COMP_POINT

COMP_WORDS

ప్రస్తుత కమాండ్ లైన్లో వ్యక్తిగత పదాలను కలిగి ఉన్న శ్రేణి వేరియబుల్ (దిగువ శ్రేణులను చూడండి). ఈ వేరియబుల్ ప్రోగ్రామబుల్ పూర్తైన సౌకర్యాలచే షెల్ విధులు మాత్రమే అందుబాటులో ఉంది (క్రింద ప్రోగ్రామబుల్ కంప్లీషన్ చూడండి).

DIRSTACK

డైరెక్టరీ స్టాక్ యొక్క ప్రస్తుత విషయాలను కలిగి ఉన్న శ్రేణి వేరియబుల్ (దిగువ శ్రేణులను చూడండి). డైరెక్టరీలు స్టాక్ లో కనిపిస్తాయి క్రమంలో వారు dirs builtin ద్వారా ప్రదర్శించబడతాయి. ఈ శ్రేణి వేరియబుల్ యొక్క సభ్యులకు కేటాయించడం ఇప్పటికే స్టాక్లో డైరెక్టరీలను సవరించడానికి ఉపయోగించబడుతుంది, కానీ డైరెక్టరీలను జోడించడానికి మరియు తీసివేయడానికి pushd మరియు popd బిల్డ్లను ఉపయోగించాలి. ఈ వేరియబుల్కు కేటాయింపు ప్రస్తుత డైరెక్టరీని మార్చదు. DIRSTACK సెట్ చేయకపోతే, దాని ప్రత్యేక లక్షణాలను కోల్పోయినా, అది రీసెట్ అయినప్పటికీ.

EUID

ప్రస్తుత వినియోగదారు యొక్క సమర్థవంతమైన వినియోగదారు ID కు విస్తరిస్తుంది, షెల్ ప్రారంభంలో ప్రారంభించబడుతుంది. ఈ వేరియబుల్ చదవడానికి మాత్రమే.

FUNCNAME

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

GROUPS

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

HISTCMD

ప్రస్తుత కమాండ్ యొక్క చరిత్ర జాబితా, లేదా జాబితా జాబితాలో సూచిక. HISTCMD సెట్ చేయకపోతే, దాని ప్రత్యేక లక్షణాలను కోల్పోయినా, దాన్ని రీసెట్ చేసినా కూడా.

HOSTNAME

ప్రస్తుత హోస్ట్ యొక్క పేరుకు స్వయంచాలకంగా సెట్ చెయ్యండి.

HOSTTYPE

బాష్ అమరిక ఏ యంత్రం యొక్క రకాన్ని ప్రత్యేకంగా వివరించే ఒక స్ట్రింగ్కు స్వయంచాలకంగా అమర్చండి. అప్రమేయము సిస్టమ్-ఆధారము.

LINENO

ప్రతిసారి ఈ పరామితి ప్రస్తావించబడుతుంది, స్క్రోల్ లేదా ఫంక్షన్ లోపల ప్రస్తుత సీక్వెన్షియల్ లైన్ నంబర్ (1 తో ప్రారంభించి) షెల్ ప్రత్యామ్నాయంగా ఉంటుంది. స్క్రిప్ట్ లేదా ఫంక్షన్లో లేనప్పుడు, ప్రత్యామ్నాయంగా ఉండే విలువ అర్ధవంతమైనదని హామీ ఇవ్వదు. LINENO సెట్ చేయకపోతే, దాని ప్రత్యేక లక్షణాలను కోల్పోయినా, అది రీసెట్ అయినప్పటికీ.

MACHTYPE

ప్రామాణిక GNU cpu- కంపెనీ-సిస్టమ్ ఫార్మాట్ లో, బాష్ ఎగ్జిక్యూట్ చేయబడిన సిస్టమ్ రకాన్ని పూర్తిగా వివరించే స్ట్రింగ్కు స్వయంచాలకంగా అమర్చండి . అప్రమేయము సిస్టమ్-ఆధారము.

OLDPWD

Cd కమాండ్ ద్వారా అమర్చబడిన మునుపటి డైరెక్టరీ డైరెక్టరీ.

OPTARG

Getopts అంతర్నిర్మిత ఆదేశం ద్వారా ప్రాసెస్ చేయబడిన చివరి ఐచ్చిక వాదన యొక్క విలువ (దిగువన SHELL BUILTIN COMMANDS చూడండి).

OPTIND

Getopts builtin ఆదేశం ద్వారా తదుపరి వాదన యొక్క సూచిక ప్రాసెస్ చేయబడాలి (క్రింద SHELL BUILTIN కమాండ్స్ చూడండి).

OSTYPE

బేష్ ఎగ్జిక్యూట్ చేసిన ఆపరేటింగ్ సిస్టమ్ను వివరించే స్ట్రింగ్కు ఆటోమేటిక్ గా సెట్ చెయ్యండి. అప్రమేయము సిస్టమ్-ఆధారము.

PIPESTATUS

చాలా ఇటీవల-అమలు చేయబడిన ముందువైపు పైప్లైన్ (ఇది ఒకే ఆదేశం కలిగి ఉండవచ్చు) ప్రక్రియల నుండి నిష్క్రమణ స్థితి విలువల జాబితాను కలిగి ఉన్న శ్రేణి వేరియబుల్ (దిగువ శ్రేణులను చూడండి).

PPID

షెల్ యొక్క మాతృ యొక్క ప్రాసెస్ ID. ఈ వేరియబుల్ చదవడానికి మాత్రమే.

పిడబ్ల్యుడి

ప్రస్తుత పని డైరెక్టరీ cd కమాండ్ ద్వారా సెట్ చేయబడింది.

RANDOM

ఈ పారామితి ప్రస్తావించబడిన ప్రతిసారి, 0 మరియు 32767 మధ్య రాండమ్ పూర్ణాంకం సృష్టించబడుతుంది. రాండమ్కు విలువను కేటాయించడం ద్వారా యాదృచ్ఛిక సంఖ్యల క్రమాన్ని ప్రారంభించవచ్చు. RANDOM సెట్ చేయకపోతే, దాని ప్రత్యేక లక్షణాలను కోల్పోయినా, అది రీసెట్ అయినప్పటికీ.

ప్రతిస్పందించలేదు

ఏ వాదనలు ఇవ్వబడనప్పుడు చదివిన అంతర్నిర్మిత ఆదేశం ద్వారా చదవబడే ఇన్పుట్ యొక్క పంక్తికి అమర్చండి.

సెకండ్స్

ఈ పారామితి ప్రస్తావించబడిన ప్రతిసారీ, షెల్ ఇన్క్రాక్ నుండి వచ్చిన సెకన్లు సంఖ్య. ఒక విలువ SECONDS కు కేటాయించబడితే, తరువాతి సూచనల తర్వాత ఇవ్వబడిన విలువ అప్పగింత మరియు కేటాయించిన విలువ నుండి సెకన్ల సంఖ్య. SECONDS సెట్ చేయకపోతే, దాని ప్రత్యేక లక్షణాలను కోల్పోయినా, అది రీసెట్ అయినప్పటికీ.

SHELLOPTS

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

SHLVL

ఒక్కోసారి బాష్ యొక్క ఉదాహరణ ప్రారంభించబడింది.

యుఐడి

ప్రస్తుత వినియోగదారు యొక్క వినియోగదారు ID కు విస్తరిస్తుంది, షెల్ ప్రారంభంలో ప్రారంభించబడుతుంది. ఈ వేరియబుల్ చదవడానికి మాత్రమే.

కింది వేరియబుల్స్ షెల్ చేత ఉపయోగించబడుతున్నాయి. కొన్ని సందర్భాల్లో, బాష్ డిఫాల్ట్ విలువను ఒక వేరియబుల్కు కేటాయించింది; ఈ కేసులు క్రింద పేర్కొనబడ్డాయి.

BASH_ENV

బాష్ షెల్ లిపిని నిర్వర్తించునప్పుడు ఈ పారామితి సెట్ చేయబడితే, దాని విలువ షీల్ ను ప్రారంభించటానికి ఆదేశాలను కలిగివున్న ఫైల్ పేరుగా భావించబడుతుంది , ~ / .bashrc లో వలె . BASH_ENV యొక్క విలువ పారామితి విస్తరణకు, కమాండ్ ప్రత్యామ్నాయం మరియు అంకగణిత విస్తరణకు ఒక ఫైల్ పేరుగా అంచనా వేయడానికి ముందు ఉంటుంది. ఫలితంగా ఫైల్ పేరు కోసం శోధించడానికి PATH ఉపయోగించబడదు.

CDPATH

Cd ఆదేశం కోసం శోధన మార్గం. ఇది cd కమాండ్ ద్వారా నిర్దేశించబడిన గమ్య డైరెక్టరీల కోసం షెల్ చూస్తున్న డైరెక్టరీల యొక్క కోలన్-వేరు చేయబడిన జాబితా. నమూనా విలువ "::: usr".

కాలమ్లు

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

COMPREPLY

ప్రోగ్రామబుల్ పూర్తైన సౌకర్యంతో షెల్ ఫంక్షన్ ద్వారా సృష్టించబడే సాధ్యమైన పూర్తిలను బాష్ చదివే నుండి శ్రేణి వేరియబుల్ (క్రింద ప్రోగ్రామబుల్ కంప్లీషన్ చూడండి).

FCEDIT

Fc అంతర్నిర్మిత ఆదేశం కోసం డిఫాల్ట్ ఎడిటర్.

FIGNORE

ఫైల్ పేరు పూర్తయినప్పుడు విస్మరించడానికి ప్రత్యర్థుల యొక్క కోలన్-వేరుచేయబడిన జాబితా (క్రింద READLINE చూడండి). ఫైనరర్లోని ఎంట్రీలలో ఒకదానితో సరిపోల్చిన ఫైల్పేమ్ల జాబితా నుండి మినహాయించబడిన ఒక ఫైల్ పేరు. ఒక నమూనా విలువ ".o: ~".

GLOBIGNORE

ఫైల్ పేన్ల సమూహాన్ని నిర్లక్ష్యం చేయటానికి, పానల్ పేరు విస్తరణ ద్వారా నిర్లక్ష్యం చేయబడిన నమూనాల కోలన్-వేరు చేయబడిన జాబితా. ఒక పాత్ పేరు విస్తరణ నమూనాతో సరిపోలిన ఫైలు పేరు కూడా GLOBIGNORE లోని నమూనాలలో ఒకదానికి సరిపోతుంది , అది మ్యాచ్ల జాబితా నుండి తొలగించబడుతుంది.

HISTCONTROL

నిర్లక్ష్యం యొక్క విలువకు సెట్ చేస్తే , ఖాళీ అక్షరంతో ప్రారంభమయ్యే పంక్తులు చరిత్ర జాబితాలో నమోదు చేయబడవు. నిర్లక్ష్య విలువలను అమర్చినట్లయితే , గత చరిత్ర పంక్తికి సరిపోలే పంక్తులు నమోదు చేయబడలేదు. నిర్లక్ష్యం యొక్క విలువ రెండు ఎంపికలను మిళితం చేస్తుంది. అన్సెట్ చేయకపోతే, లేదా పైన ఉన్న వాటి కంటే ఇతర విలువకు సెట్ చేస్తే, పార్సెస్టర్ ద్వారా చదవబడే అన్ని పంక్తులు HISTIGNORE విలువకు సంబంధించిన చరిత్ర జాబితాలో సేవ్ చేయబడతాయి . ఈ వేరియబుల్ ఫంక్షన్ HISTIGNORE చే భర్తీ చేయబడింది. బహుళ-లైన్ సమ్మేళనం కమాండ్ యొక్క రెండవ మరియు తరువాతి పంక్తులు పరీక్షించబడవు మరియు HISTCONTROL విలువతో సంబంధం లేకుండా చరిత్రకు జోడించబడతాయి .

HISTFILE

కమాండ్ చరిత్ర సేవ్ చేయబడిన ఫైల్ పేరు (దిగువ చరిత్ర చూడండి). డిఫాల్ట్ విలువ ~ /. Bash_history . సెట్ చేయకపోతే, ఇంటరాక్టివ్ షెల్ నిష్క్రమిస్తే కమాండ్ చరిత్ర సేవ్ చేయబడదు.

HISTFILESIZE

చరిత్ర ఫైల్ లో ఉన్న గరిష్ట సంఖ్యల పంక్తులు. ఈ వేరియబుల్ విలువను కేటాయించినప్పుడు, అవసరమైతే, ఆ ఫైల్ యొక్క సంఖ్య సంఖ్య కంటే ఎక్కువ ఉండకూడదు, చరిత్ర ఫైల్ కత్తిరించబడుతుంది. డిఫాల్ట్ విలువ 500. చరిత్ర ఇంటరాక్టివ్ షెల్ నిష్క్రమిస్తున్నప్పుడు చరిత్ర ఫైలు కూడా ఈ పరిమాణానికి కత్తిరించబడింది.

HISTIGNORE

చరిత్ర జాబితాలో ఏ కమాండ్ లైన్లను తప్పక నిర్ణయించాలో నిర్ణయించడానికి ఉపయోగించే నమూనాల కోలన్-వేరు చేయబడిన జాబితా. ప్రతి నమూనా లైన్ ప్రారంభంలో లంగరు మరియు పూర్తి లైన్తో సరిపోలాలి (అవ్యక్త ` * 'జోడించబడదు). HISTCONTROL ద్వారా పేర్కొన్న తనిఖీలను వర్తింపజేసిన తర్వాత ప్రతి నమూనాను పంక్తికి వ్యతిరేకంగా పరీక్షిస్తారు. సాధారణ షెల్ నమూనా సరిపోలే అక్షరాలకు అదనంగా, ` & 'మునుపటి చరిత్ర పంక్తితో సరిపోతుంది. ` & 'ఒక బాక్ స్లాష్ ఉపయోగించి తప్పించుకోవచ్చు; బాక్సులాష్ ఒక మ్యాచ్ ప్రయత్నిస్తున్న ముందు తొలగించబడుతుంది. బహుళ-లైన్ సమ్మేళన కమాండ్ యొక్క రెండవ మరియు తరువాతి పంక్తులు పరీక్షించబడవు మరియు HISTIGNORE విలువతో సంబంధం లేకుండా చరిత్రకు జోడించబడ్డాయి .

HISTSIZE

కమాండ్ చరిత్రలో గుర్తుంచుకోవలసిన ఆదేశాల సంఖ్య (దిగువ చరిత్ర చూడండి). డిఫాల్ట్ విలువ 500.

హోం

ప్రస్తుత యూజర్ యొక్క హోమ్ డైరెక్టరీ; cd అంతర్నిర్మిత ఆదేశం కోసం డిఫాల్ట్ వాదన. టిల్డె విస్తరణను చేస్తున్నప్పుడు ఈ వేరియబుల్ యొక్క విలువ కూడా ఉపయోగించబడుతుంది.

HOSTFILE

షెల్ హోస్ట్పేరును పూర్తిచేసినప్పుడు చదివినప్పుడు / etc / hosts వలె ఒకే ఫార్మాట్లో ఒక ఫైల్ పేరును కలిగి ఉంటుంది. షెల్ల్ నడుస్తున్నప్పుడు సాధ్యమయ్యే హోస్ట్పేరు పూర్తయిన జాబితా మార్చవచ్చు; విలువ మార్చబడిన తర్వాత తరువాతి సారి హోస్ట్పేరు పూర్తయింది, కొత్త ఫైలు యొక్క ప్రస్తుత విషయాలకు బాష్ జతచేస్తుంది. HOSTFILE సెట్ చేయబడితే , కానీ హోస్టునామము యొక్క పూర్తి జాబితాను పొందటానికి / etc / hosts ను చదవటానికి విలువ, బాష్ ప్రయత్నాలు లేవు. HOSTFILE సెట్ చేయకపోతే, హోస్ట్ పేరు జాబితా క్లియర్ అవుతుంది.

ఐఎఫ్ఎస్

అంతర్గత ఫీల్డ్ సెపరేటర్ విస్తరణ తర్వాత పద విభజన కోసం వాడబడుతుంది మరియు అంతర్నిర్మిత అంతర్నిర్మిత కమాండ్తో పదాలను విభజించటానికి వాడబడుతుంది. డిఫాల్ట్ విలువ `` ''.

IGNOREEOF

ఏకైక ఇన్పుట్గా EOF పాత్రను స్వీకరించినప్పుడు ఇంటరాక్టివ్ షెల్ యొక్క చర్యను నియంత్రిస్తుంది. సెట్ చేసినట్లయితే, విలువ అనేది EOF అక్షరాల సంఖ్య, ఇది బాష్ నిష్క్రమణల ముందు ఇన్పుట్ లైన్లోని మొదటి అక్షరాలను టైప్ చేయాలి. వేరియబుల్ ఉన్నట్లయితే, సంఖ్యా విలువ లేనిది లేదా విలువ ఉండకపోతే, డిఫాల్ట్ విలువ 10. ఇది లేకపోతే, EOF షెల్కు ఇన్పుట్ ముగింపుని సూచిస్తుంది.

INPUTRC

చదవబడే ప్రారంభ ఫైల్ కోసం ఫైల్ పేరు, ~ /. ఇన్పుట్ఆర్క్ యొక్క డిఫాల్ట్ భర్తీ (క్రింద READLINE చూడండి).

LANG

LC_ తో ప్రారంభమయ్యే వేరియబుల్తో ఏ వర్గంకు ప్రత్యేకంగా ఎంపిక చేయబడనట్లయితే లొకేల్ వర్గాన్ని గుర్తించడానికి ఉపయోగిస్తారు .

LC_ALL

ఈ వేరియబుల్ LANG మరియు ఇతర LC_ వేరియబుల్ యొక్క విలువను లొకేల్ వర్గాన్ని నిర్దేశిస్తుంది.

LC_COLLATE

ఈ వేరియబుల్ పథం విస్తరణ యొక్క ఫలితాలను క్రమబద్ధీకరించేటప్పుడు ఉపయోగించే ఖండన క్రమాన్ని నిర్ణయిస్తుంది, మరియు శ్రేణి వ్యక్తీకరణల యొక్క ప్రవర్తన, సమాన తరగతులు, మరియు పాత్ పేన్ విస్తరణ మరియు నమూనా సరిపోలికలో కొట్టే క్రమాలను నిర్ణయిస్తుంది.

LC_CTYPE

ఈ వేరియబుల్ పాత్రల యొక్క వివరణ మరియు మార్గాల విస్తరణ మరియు నమూనా సరిపోలికలో అక్షర తరగతులు యొక్క ప్రవర్తనను నిర్ణయిస్తుంది.

LC_MESSAGES

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

LC_NUMERIC

ఈ వేరియబుల్ సంఖ్య ఫార్మాటింగ్ కోసం ఉపయోగించే లొకేల్ వర్గాన్ని నిర్ధారిస్తుంది.

హద్దులు

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

MAIL

ఈ పారామితి ఫైల్ పేరుకు సెట్ చేయబడి ఉంటే మరియు MAILPATH చరరాన్ని సెట్ చేయకపోతే, పేర్కొన్న ఫైలులోని మెయిల్ రాక యొక్క వినియోగదారుకు బాష్ తెలియజేస్తుంది.

mailcheck

ఎంత తరచుగా (సెకన్లలో) మెయిల్ కోసం బాష్ తనిఖీలను నిర్దేశిస్తుంది. డిఫాల్ట్ 60 సెకన్లు. మెయిల్ కోసం తనిఖీ సమయం ఉన్నప్పుడు, షెల్ ప్రాథమిక ప్రామ్ట్ ప్రదర్శించడానికి ముందు అలా చేస్తుంది. ఈ వేరియబుల్ సెట్ చేయకపోతే, లేదా సున్నాకు సమానంగా లేదా సమానంగా ఉన్న విలువకు సెట్ చేయబడితే, షెల్ మెయిల్ తనిఖీని నిలిపివేస్తుంది.

MAILPATH

మెయిల్ కోసం తనిఖీ చేసిన కోలన్-వేరు చేయబడిన ఫైల్ పేర్ల జాబితా. ఒక నిర్దిష్ట ఫైల్లో మెయిల్ వచ్చినప్పుడు ప్రింట్ చేయబడే సందేశం `+ 'తో సందేశం నుండి ఫైల్ పేరును వేరుచేయడం ద్వారా పేర్కొనవచ్చు. సందేశం యొక్క టెక్స్ట్ లో ఉపయోగించినప్పుడు, $ _ ప్రస్తుత mailfile యొక్క పేరుకు విస్తరిస్తుంది. ఉదాహరణ:

MAILPATH = '/ var / mail / bfox? "మీకు మెయిల్ ఉంది": ~ / షెల్-మెయిల్? "$ _ మెయిల్ ఉంది!"'

బాష్ ఈ వేరియబుల్ కోసం ఒక డిఫాల్ట్ విలువను సరఫరా చేస్తుంది, కానీ ఇది వాడుకదారుల మెయిల్ ఫైళ్ళ స్థాన వ్యవస్థను ఆధారపడి ఉంటుంది (ఉదా., / Var / mail / $ USER ).

OPTERR

విలువ 1 కు సెట్ చేస్తే, బాష్ప్ట్ నిర్మించిన ఆదేశం ద్వారా సృష్టించబడిన దోష సందేశాలు (దిగువ షెల్ట్ బిల్లు కమాండ్స్ చూడండి). OPTR షెల్ ప్రవేశానికి లేదా షెల్ స్క్రిప్టు అమలు చేయబడిన ప్రతిసారి 1 కు ప్రారంభించబడుతుంది.

PATH

ఆదేశాల కొరకు శోధన మార్గం. ఇది షీల్ ఆదేశాల కోసం చూస్తున్న డైరెక్టరీల యొక్క కోలన్-వేరు చేయబడిన జాబితా (దిగువ COMMAND అమలు చూడండి). అప్రమేయ మార్గము system-dependent, మరియు అది బాష్ సంస్థాపించు నిర్వాహికచే సెట్ చేయబడుతుంది. ఒక సాధారణ విలువ `` / usr / gnu / bin: / usr / local / bin: / usr / ucb: / bin: / usr / bin: ''.

POSIXLY_CORRECT

బాష్ మొదలవునప్పుడు ఈ వేరియబుల్ పర్యావరణంలో ఉంటే, ఆరంభ ఫైళ్ళను చదివే ముందు షెల్ posix మోడ్లోకి ప్రవేశిస్తుంది - asixix invocation option ఇచ్చినట్లుగా. షెల్ అమలవుతున్నప్పుడు అది సెట్ చేయబడి ఉంటే, కమాండ్ set -o posix అమలు చేయబడినట్లయితే , బాష్ posix మోడ్ను ప్రారంభిస్తుంది.

PROMPT_COMMAND

సెట్ చేస్తే, ప్రాధమిక ప్రాంప్ట్ జారీ చేసే ముందు విలువ కమాండ్గా అమలు అవుతుంది.

PS1

ఈ పారామితి యొక్క విలువ విస్తరించబడింది (క్రింద PROMPTING చూడండి) మరియు ప్రాధమిక ప్రాంప్ట్ స్ట్రింగ్గా ఉపయోగించబడుతుంది. డిఫాల్ట్ విలువ `` \ s- \ v \ $ ''.

PS2

ఈ పారామితి యొక్క విలువ PS1 తో విస్తరించబడింది మరియు సెకండరీ ప్రాంప్ట్ స్ట్రింగ్గా ఉపయోగించబడుతుంది. డిఫాల్ట్ `` > ''.

PS3

ఈ పారామితి యొక్క విలువ ఎంపిక కమాండ్ కొరకు ప్రాంప్ట్గా ఉపయోగించబడుతుంది (పైన SHELL GRAMMAR చూడండి).

PS4

ఈ పారామితి యొక్క విలువ PS1 తో విస్తరించబడింది మరియు ఒక అమలు ట్రేస్ సమయంలో ప్రతి కమాండ్ బాష్ డిస్ప్లేలు ముందు విలువ ముద్రించబడుతుంది. PS4 యొక్క మొదటి పాత్ర అనేకసార్లు నకలు యొక్క బహుళ స్థాయిలను సూచించడానికి, అనేక సార్లు ప్రతిరూపంగా ఉంటుంది. డిఫాల్ట్ `` + ''.

సమయ నమూనా

ఈ పారామితి యొక్క విలువ సమయం ఫార్మాట్ వర్డ్ తో ముందుగా పైప్లైన్ల సమయ సమాచారాన్ని ఎలా ప్రదర్శించాలో పేర్కొనడానికి ఫార్మాట్ స్ట్రింగ్గా ఉపయోగించబడుతుంది. % పాత్ర ఒక సమయం విలువ లేదా ఇతర సమాచారం విస్తరించింది ఒక ఎస్కేప్ సీక్వెన్స్ పరిచయం. ఎస్కేప్ సన్నివేశాలు మరియు వాటి అర్ధాలు క్రింది విధంగా ఉన్నాయి; జంట కలుపులు ఐచ్ఛిక భాగాలను సూచిస్తాయి.

%%

సాహిత్య శాతం .

% [ p ] [l] R

గడిచిన సమయం సెకన్లలో.

% [ p ] [l] U

వినియోగదారు రీతిలో గడిపే CPU సెకన్ల సంఖ్య.

% [ p ] [l] S

సిస్టమ్ రీతిలో CPU సెకన్ల సంఖ్య గడిపాడు.

% పి

CPU శాతం, (% U +% S) /% R గా లెక్కించబడింది.

ఐచ్చిక p అనేది ఒక దశాంశ సంఖ్య తర్వాత, సంక్షిప్త సంఖ్యను పేర్కొనే అంకెల సంఖ్య. 0 యొక్క విలువ సంఖ్య దశాంశ బిందువు లేదా భిన్నం అవుట్పుట్ అవుతుందని. దశాంశ బిందువు పేర్కొన్న తర్వాత మూడు ప్రదేశాలలో; p కంటే 3 కంటే ఎక్కువ విలువలు 3 కు మార్చబడతాయి. p తెలియకపోతే, విలువ 3 ఉపయోగించబడుతుంది.

ఐచ్ఛిక l దీర్ఘ ఫార్మాట్ నిర్దేశిస్తుంది, నిమిషాలు సహా, రూపం MM m SS . FF లు. P యొక్క విలువ భిన్నం చేర్చబడినా లేదా లేదో నిర్ణయిస్తుంది.

ఈ వేరియబుల్ సెట్ చేయకపోతే, అది విలువ $ '\ nreal \ t% 3lR \ nuser \ t% 3lU \ nsys% 3ls' గా ఉంటే బాష్ పనిచేస్తుంది. విలువ శూన్యమైతే, టైమింగ్ సమాచారం ప్రదర్శించబడదు. ఫార్మాట్ స్ట్రింగ్ ప్రదర్శించబడినప్పుడు ట్రయల్ న్యూలైన్ జోడించబడుతుంది.

TMOUT

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

auto_resume

ఈ వేరియబుల్ షెల్ వినియోగదారు మరియు ఉద్యోగ నియంత్రణతో ఎలా సంకర్షిస్తుందో నియంత్రిస్తుంది. ఈ వేరియబుల్ సెట్ చేయబడితే, మినహాయింపు లేకుండా ఏక పదము సాధారణ ఆదేశాలను ఇప్పటికే ఉన్న ఆగిపోయిన ఉద్యోగం కొనసాగించటానికి అభ్యర్ధులుగా వ్యవహరిస్తారు. ఆమోదం అనుమతించబడలేదు; టైప్ చేసిన స్ట్రింగ్తో మొదట్లో ఒకటి కంటే ఎక్కువ ఉద్యోగం ఉంటే, ఇటీవల యాక్సెస్ చేసిన ఉద్యోగం ఎంచుకోబడింది. ఆగిపోయిన ఉద్యోగం యొక్క పేరు , ఈ సందర్భంలో, ఆరంభించటానికి ఉపయోగించిన కమాండ్ లైన్. ఖచ్చితమైన విలువకు సెట్ చేస్తే, సరఫరా చేయబడిన స్ట్రింగ్ సరిగ్గా నిలిపివేయబడిన ఉద్యోగ పేరుతో సరిపోలాలి; సార్టింగ్ సెట్ చేస్తే, స్ట్రింగ్ అందించిన అవసరాలు ఒక నిలిపివేసిన ఉద్యోగం యొక్క పేరుకు అనుగుణంగా సరిపోలడం. Substring విలువ % కి సమానంగా కార్యాచరణను అందిస్తుంది ? జాబ్ ఐడెంటిఫైయర్ (దిగువ JOB నియంత్రణ చూడండి). ఏదైనా ఇతర విలువకు సెట్ చేసినట్లయితే, సరఫరా చేయబడిన స్ట్రింగ్ తప్పనిసరిగా నిలిపివేయబడిన ఉద్యోగాల పేరు యొక్క ఉపసర్గంగా ఉండాలి; ఇది % జాబ్ ఐడెంటిఫైయర్కు సమానమైన కార్యాచరణను అందిస్తుంది.

histchars

చరిత్ర విస్తరణ మరియు టోకెనిజేషన్ను నియంత్రించే రెండు లేదా మూడు అక్షరాలు ( చరిత్ర చరిత్ర క్రింద చూడండి). చరిత్ర మొదటి విస్తరణ చరిత్ర విస్తరణ పాత్ర, చరిత్ర విస్తరణ ప్రారంభంలో సూచిస్తుంది పాత్ర, సాధారణంగా ` ! '. రెండో పాత్ర త్వరిత ప్రత్యామ్నాయ పాత్ర, ఇది ఎంటర్ చేసిన మునుపటి ఆదేశం తిరిగి అమలు చేయటానికి సంక్షిప్తముగా ఉపయోగించబడింది, కమాండ్లో మరొకదానికి ఒక స్ట్రింగ్ ప్రత్యామ్నాయంగా ఉంటుంది. డిఫాల్ట్ ` ^ '. వైకల్పిక మూడవ అక్షరం అనేది అక్షరం యొక్క మొదటి అక్షరం, సాధారణంగా ' # ' గా కనిపించినప్పుడు లైన్ మిగిలినది ఒక వ్యాఖ్య అని సూచిస్తుంది. చరిత్ర వ్యాఖ్య పాత్ర పాత్రపై మిగిలిన పదాల కోసం చరిత్ర ప్రతిక్షేపణను వదిలివేయడానికి కారణమవుతుంది. ఇది తప్పనిసరిగా షెల్ పార్సర్ ఒక వ్యాఖ్యగా మిగిలిన లైన్ చికిత్సకు కారణం కాదు.

వ్యూహాలను

బాష్ ఒక డైమెన్షనల్ శ్రేణి వేరియబుల్స్ అందిస్తుంది. ఏదైనా వేరియబుల్ ఒక అర్రేగా ఉపయోగించవచ్చు; బిల్ట్ డిక్లేర్ స్పష్టంగా అర్రే డిక్లేర్ చేస్తుంది. అర్రే యొక్క పరిమాణంలో ఎటువంటి గరిష్ట పరిమితి లేదు, లేదా సభ్యులకు ఇండెక్స్ లేదా నియమింపబడటానికి అవసరమైన ఏవైనా అవసరం లేదు. శ్రేణులు పూర్ణాంకాల ఉపయోగించి ఇండెక్స్ చేయబడతాయి మరియు సున్నా-ఆధారితవి.

సింటాక్స్ పేరు [ సబ్ స్క్రిప్ట్ ] = విలువను వాడటానికి ఏ వేరియబుల్ కేటాయించబడితే, ఒక అర్రే స్వయంచాలకంగా సృష్టించబడుతుంది. సబ్ప్ట్ట్ ఒక అంకగణిత వ్యక్తీకరణగా పరిగణించబడుతుంది, అది సున్నాకి కన్నా ఎక్కువ లేదా సమానంగా ఉండే సంఖ్యకు అంచనా వేయాలి. స్పష్టంగా ఒక అర్రే డిక్లేర్, డిక్లేర్ -ఏ పేరును ఉపయోగించండి (క్రింద SHELL బిల్లు కమాండ్స్ చూడండి). డిక్లేర్ -ఏ పేరు [ సబ్స్క్రిప్షన్ ] కూడా అంగీకరించబడుతుంది; సబ్ స్క్రిప్టు విస్మరించబడుతుంది. డిక్లేర్ మరియు చదవడానికి మాత్రమే నిర్మించిన ఉపయోగించి శ్రేణి వేరియబుల్ కోసం గుణాలు పేర్కొనవచ్చు. ప్రతి లక్షణం అర్రే యొక్క అన్ని సభ్యులకు వర్తిస్తుంది.

ప్రతి పేరు రూపం [ సబ్స్క్రిప్ట్ ] = స్ట్రింగ్ ఉన్న రూపం పేరు = ( విలువ 1 ... విలువ n ) యొక్క సమ్మేళనం కేటాయింపులను ఉపయోగిస్తుంది. మాత్రమే స్ట్రింగ్ అవసరం. ఐచ్ఛిక బ్రాకెట్లు మరియు సబ్ స్క్రిప్టు సరఫరా చేయబడితే, ఆ సూచిక కేటాయించబడుతుంది; లేకపోతే కేటాయించిన ఎలిమెంట్ యొక్క ఇండెక్స్ చివరి ప్లస్ వన్ ద్వారా కేటాయించిన చివరి సూచిక. సూచిక సున్నా వద్ద మొదలవుతుంది. ఈ వాక్యనిర్మాణం కూడా అంతర్నిర్మిత డిక్లేర్ చేత ఆమోదించబడింది. వ్యక్తిగత శ్రేణి మూలకాలు పేరు [ subscript ] = విలువ వాక్యనిర్మాణాన్ని పైన పరిచయం చేయటానికి కేటాయించబడవచ్చు.

అమరికలను నాశనం చేయడానికి అన్సేట్ బిల్డింగ్ ఉపయోగించబడుతుంది. సెట్ చేయని పేరు [ చందా ] సూచిక సబ్ప్ట్ వద్ద శ్రేణి మూలకం నాశనం చేస్తుంది. సెట్ చేయని పేరు , పేరు పేరు శ్రేణి, లేదా సెట్ చేయని పేరు [ సబ్స్క్రిప్ట్ ], ఇక్కడ సబ్ స్క్రిప్ట్ * లేదా @ , మొత్తం శ్రేణిని తొలగిస్తుంది.

డిక్లేర్ , స్థానిక , మరియు చదవడానికి మాత్రమే నిర్మించిన ప్రతి ఒక్కటి ఒక అర్రేను తెలుపుటకు -a ఐచ్ఛికాన్ని అంగీకరిస్తాయి. స్టాండర్డ్ ఇన్పుట్ నుండి అర్రే వరకు చదవబడిన పదాల జాబితాను కేటాయించడానికి ఒక -A ఎంపికను చదివే నిర్మించిన చదువుతుంది. సెట్లు మరియు బిల్డ్లని అర్రే విలువలను ప్రదర్శించడానికి అనుమతించే విధంగా శ్రేణి విలువలను ప్రదర్శించండి.

విస్తరణ

పదాల విభజన తర్వాత విస్తరణ కమాండ్ లైన్లో నిర్వహిస్తారు. విస్తరించిన ఏడు రకాలు ఉన్నాయి: కలుపు విస్తరణ , టిల్డ్ విస్తరణ , పరామితి మరియు వేరియబుల్ విస్తరణ , కమాండ్ ప్రత్యామ్నాయం , అంకగణిత విస్తరణ , పద విభజన , మరియు పాత్ పేరు విస్తరణ .

విస్తరణ క్రమంలో: కలుపు విస్తరణ, టిల్డె విస్తరణ, పరామితి, వేరియబుల్ మరియు అంకగణిత విస్తరణ మరియు ఆదేశం ప్రత్యామ్నాయం (ఎడమ నుండి కుడికి కుడి పద్ధతిలో జరుగుతుంది), పదం విభజన మరియు మార్గం పేరు విస్తరణ.

ఇది మద్దతునిచ్చే వ్యవస్థలపై, అదనపు విస్తరణ అందుబాటులో ఉంది: ప్రాసెస్ ప్రత్యామ్నాయం .

బ్రేస్ విస్తరణ

బ్రేస్ విస్తరణ ఏకపక్ష తీగలను సృష్టించగల మెకానిజం. ఈ విధానం పాత్ పేరు విస్తరణకు సారూప్యంగా ఉంటుంది, కానీ ఫైల్పేర్లు సృష్టించబడలేదు. బ్రేస్ విస్తరించిన పద్ధతులు ఒక ఐచ్ఛిక ఉపోద్ఘాతం రూపంలోకి వస్తాయి, తరువాత జంట కలుపుల మధ్య కామాతో వేరు చేయబడిన తీగలను వరుసక్రమం చేస్తాయి, ఆపై ఒక ఐచ్ఛిక పోస్ట్స్క్రిప్ట్ ఉంటుంది . ప్రెజెల్లం ప్రతి కలుపుకు అనుసంధానిస్తుంది, అవి బ్రాస్ లలో వుంటాయి, మరియు ప్రతి పోస్ట్ స్ట్రింగ్కు పోస్ట్స్క్రిప్ట్ అనుసంధానించబడుతుంది, ఎడమ నుండి కుడికి విస్తరిస్తుంది.

కలుపు విస్తరణలు సమూహంగా ఉండవచ్చు. ప్రతి విస్తరించిన స్ట్రింగ్ ఫలితాలు క్రమబద్ధీకరించబడవు; ఎడమ నుండి కుడి ఆర్డర్ భద్రపరచబడుతుంది. ఉదాహరణకు, ఒక { d, c, b } మరియు `ade ace abe 'లోకి విస్తరిస్తుంది.

ఏ ఇతర విస్తరణలకు ముందు కలుపు విస్తరణ జరుగుతుంది, ఫలితంగా ఇతర విస్తరణలకు ప్రత్యేకమైన పాత్రలు భద్రపరచబడతాయి. ఇది ఖచ్చితంగా పాఠ్యము. బాష్ విస్తరణ యొక్క సందర్భం లేదా జంట కలుపులు మధ్య టెక్స్ట్ ఏ వాక్యనిర్మాణ వివరణ వర్తించదు.

ఈ నిర్మాణానికి సాధారణంగా సంక్షిప్తీకరణగా ఉపయోగిస్తారు, తీగలను సాధారణ ఆదిప్రత్యయం ఉత్పత్తి చేయబడినప్పుడు పైన చెప్పిన ఉదాహరణ కన్నా ఎక్కువ:

mkdir / usr / local / src / bash / {పాత, కొత్త, దూరము, బగ్స్}

లేదా

chown root /usr/{ucb/{ex.edit}lib/{ex?.?*howhow_ex}}

బ్రేస్ విస్తరణ sh యొక్క చారిత్రక సంస్కరణలతో కొంత అసమర్థతను పరిచయం చేసింది. sh అనేది ఒక పదం యొక్క భాగంలో కనిపించే ప్రత్యేకంగా బ్రేస్లను తెరవడం లేదా మూసివేయడం కాదు, వాటిని అవుట్పుట్లో భద్రపరుస్తుంది. బాష్ బ్రేస్ విస్తరణ ఫలితంగా పదాలు నుండి బంధాలను తొలగిస్తుంది. ఉదాహరణకు, sh వంటి ఫైల్కి {1}} అనే పదానికి, అవుట్పుట్లో ఒకే విధంగా కనిపిస్తుంది. అదే పదం బాష్ ద్వారా విస్తరణ తర్వాత file1 file2 వలె అవుట్పుట్. Sh తో అనుగుణంగా అనుగుణంగా ఉంటే, + B ఎంపికతో బాష్ ప్రారంభించండి లేదా సెట్ ఆదేశానికి + B ఆప్షన్తో బ్రేస్ విస్తరణను డిసేబుల్ చేయండి (క్రింద SHELL BUILTIN COMMANDS చూడండి).

టిల్డ్ విస్తరణ

ఒక వాక్యనిర్మాణం లేని టిల్డే పాత్ర (` ~ ') తో మొదలవుతుంది ఉంటే, ముందుగా చెప్పని స్లాష్ (లేదా అన్ని అక్షరాలు లేనివి స్లాష్ లేకుంటే) ముందు ఉన్న అన్ని అక్షరాలు టిల్డ్-ఉపసర్గంగా పరిగణించబడతాయి. Tilde-prefix లోని అక్షరాలు ఏదీ కోట్ చేయకపోతే, tilde తరువాత tilde-prefix లోని అక్షరాలు సాధ్యమైన లాగిన్ పేరుగా పరిగణిస్తారు. ఈ లాగిన్ పేరు శూన్య స్ట్రింగ్ అయితే, టిల్డే షెల్ పారామితి HOME యొక్క విలువతో భర్తీ చేయబడుతుంది. HOME ని సెట్ చేయకపోతే, షెల్ యొక్క యూజర్ డైరెక్టరీ బదులుగా ప్రత్యామ్నాయంగా ఉంటుంది. లేకపోతే, టిల్డె-ప్రీపిక్స్ పేర్కొన్న లాగిన్ పేరుతో అనుబంధించబడిన హోమ్ డైరెక్టరీతో భర్తీ చేయబడుతుంది.

టిల్డే-ఉపసర్గ ఒక `~ + 'అయితే, షెల్ వేరియబుల్ PWD యొక్క విలువ టైల్డ్-ఉపసర్గను భర్తీ చేస్తుంది. టిల్డె- ప్రీపిక్స్ `~ - 'అయితే, షెల్ వేరియబుల్ OLDPWD యొక్క విలువ, సెట్ చేయబడి ఉంటే, ప్రత్యామ్నాయం అవుతుంది. Tilde-prefix లో tilde ను అనుసరిస్తున్న అక్షరాలను ఒక సంఖ్య N కలిగి ఉంటుంది , ఐచ్ఛికంగా `+ 'లేదా ఒక` -' చేత పూర్వం చేయబడి ఉంటే, ఇది టిల్డే-ఉపసర్గను డైరెక్టరీ స్టాక్ నుండి సంబంధిత మూలకంతో భర్తీ చేస్తుంది, టిల్డే-ఉపసర్గతో వాదనగా పిలిచే dirs ద్వారా. Tilde-prefix లో అక్షరాలను అనుసరిస్తున్న అక్షరాలను ఒక ప్రముఖ `+ 'లేదా` -' లేకుండా అనేక సంఖ్యలో కలిగి ఉంటే, `+ 'ఊహిస్తుంది.

లాగిన్ పేరు చెల్లనిది, లేదా టిల్డ్ విస్తరణ విఫలమైతే, పదం మారదు.

ప్రతి వేరియబుల్ కేటాయింపు unquoted tilde-prefixes వెంటనే తనిఖీ తరువాత : లేదా = . ఈ సందర్భాలలో, టిల్డె విస్తరణ కూడా జరుగుతుంది. దీని ఫలితంగా, పేడ్ , MAILPATH , మరియు CDPATH కు కేటాయించిన కార్యక్రమాలలో ఫైల్ పేర్లను ఫైల్ పేర్లను ఉపయోగించవచ్చు మరియు షెల్ విస్తరించిన విలువను ఇస్తుంది.

పారామీటర్ విస్తరణ

` $ 'పాత్ర పారామీటర్ విస్తరణ, కమాండ్ ప్రత్యామ్నాయం లేదా అంకగణిత విస్తరణను పరిచయం చేస్తుంది. విస్తరింపబడిన పారామితి పేరు లేదా సంకేతం జంట కలుపులలో జతచేయబడి ఉండవచ్చు, అవి వైకల్పికమైనవి, అయితే ఇది వెంటనే కింది అక్షరాల నుంచి విస్తరించడానికి వేరియబుల్ను రక్షించడానికి ఉపయోగపడుతుంది, ఇది పేరులో భాగంగా అనువదించవచ్చు.

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

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

ఈ క్రింద ఉన్న కేసుల్లో, టిల్డె విస్తరణ, పారామీటర్ విస్తరణ, కమాండ్ ప్రత్యామ్నాయం మరియు అంకగణిత విస్తరణకు పదం వర్తిస్తుంది. పదార్ధ విస్తరణను అమలు చేయనప్పుడు, సెట్ చేయని లేదా శూన్యమైన పరామితి కోసం బాష్ పరీక్షలు; కోలన్ ఫలితాన్ని నిలిపివేస్తే అది పారామీటర్కు మాత్రమే పరీక్షించదు.

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

డిఫాల్ట్ విలువలు అప్పగించుము . పారామితి సెట్ చేయకపోతే లేదా శూన్యమైతే, పదం యొక్క విస్తరణ పారామీటర్కు కేటాయించబడుతుంది. పారామితి యొక్క విలువ అప్పుడు ప్రత్యామ్నాయం అవుతుంది. ఈ విధంగా పసిఫిక్ పారామితులు మరియు ప్రత్యేక పారామితులు కేటాయించబడవు.

నల్ లేదా అన్సెట్ చేస్తే డిస్ప్లే లోపం . పారామితి శూన్యమైతే లేదా సెట్ చేయకపోతే, పదం యొక్క విస్తరణ (లేదా పదము లేకపోయినా ఆ పదానికి ఒక సందేశం) ప్రామాణిక దోషము మరియు షెల్ కు వ్రాయబడుతుంది, అది ఇంటరాక్టివ్ కానట్లయితే, నిష్క్రమిస్తుంది. లేకపోతే, పారామితి విలువ ప్రత్యామ్నాయం.

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

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

పరామితి విలువ యొక్క అక్షరాల పొడవు ప్రత్యామ్నాయం. పరామితి * లేదా @ అయితే , స్థాన పరామితుల సంఖ్య ప్రత్యామ్నాయంగా ఉంటుంది. పారామితి అనేది * లేదా @ చే సంతకం చేసిన శ్రేణి పేరు అయితే, విలువ ప్రత్యామ్నాయంగా శ్రేణిలో ఎలిమెంట్ల సంఖ్య.

పదాల విస్తరణలో ఒక నమూనాను ఉత్పత్తి చేయడానికి పదం విస్తరించబడింది. నమూనా పరామితి యొక్క విలువను ప్రారంభించినట్లయితే, విస్తరణ ఫలితంగా అతితక్కువ సరిపోలే నమూనా (`` # కేసు ") లేదా పొడవైన మ్యాచింగ్ నమూనా (` ` ## ' 'కేసు) తొలగించబడింది. పరామితి @ లేదా * అయితే , ప్రతి స్థాన పారామితికి నమూనా తొలగింపు ఆపరేషన్ వర్తించబడుతుంది, మరియు విస్తరణ ఫలితం జాబితా. పారామితి @ లేదా * తో సంతకం చేయబడిన శ్రేణి వేరియబుల్ అయితే, క్రమంలో ప్రతి సభ్యునికి నమూనా తొలగింపు ఆపరేషన్ వర్తించబడుతుంది, మరియు విస్తరణ ఫలితం జాబితా.

పదాల విస్తరణలో ఒక నమూనాను ఉత్పత్తి చేయడానికి పదం విస్తరించబడింది. నమూనా పారామితి విస్తరించిన విలువ యొక్క ఒక వెనుకంజలో భాగం సరిపోతుంది ఉంటే, విస్తరణ యొక్క ఫలితం చిన్నదైన సరిపోలే నమూనా (`` % కేసు సందర్భంలో) లేదా పొడవైన మ్యాచింగ్ నమూనా (`` % % '' కేసు) తొలగించబడ్డాయి. పరామితి @ లేదా * అయితే , ప్రతి స్థాన పారామితికి నమూనా తొలగింపు ఆపరేషన్ వర్తించబడుతుంది, మరియు విస్తరణ ఫలితం జాబితా. పారామితి @ లేదా * తో సంతకం చేయబడిన శ్రేణి వేరియబుల్ అయితే, క్రమంలో ప్రతి సభ్యునికి నమూనా తొలగింపు ఆపరేషన్ వర్తించబడుతుంది, మరియు విస్తరణ ఫలితం జాబితా.

మార్గ నమూనా విస్తరణలో ఒక నమూనాను ఉత్పత్తి చేయడానికి విస్తరించింది. పరామితి విస్తరించబడింది మరియు దాని విలువకు వ్యతిరేకంగా నమూనా యొక్క పొడవైన మ్యాచ్ స్ట్రింగ్తో భర్తీ చేయబడింది. మొదటి రూపంలో, మొదటి మ్యాచ్ మాత్రమే భర్తీ చేయబడింది. రెండవ రూపం నమూనా యొక్క అన్ని మ్యాచ్లను స్ట్రింగ్తో భర్తీ చేస్తుంది. నమూనా # ప్రారంభమైతే, అది పారామితి యొక్క విస్తృత విలువ ప్రారంభంలో సరిపోవాలి. నమూనా % తో ప్రారంభమైతే, అది పారామితి విస్తరించిన విలువ చివరిలో సరిపోవాలి. స్ట్రింగ్ శూన్యమైతే, నమూనా యొక్క మ్యాచ్లు తొలగించబడతాయి మరియు / క్రింది నమూనా తొలగించబడవచ్చు. పరామితి @ లేదా * అయితే , ప్రత్యామ్నాయం ఆపరేషన్ ప్రతి స్థాన పరామితికి వర్తించబడుతుంది, మరియు విస్తరణ ఫలితం జాబితా. పారామితి @ లేదా * తో సంతకం చేయబడిన శ్రేణి వేరియబుల్ అయితే, ప్రత్యామ్నాయ ప్రతి చర్యకు ప్రతిక్షేపణ ఆపరేషన్ వర్తించబడుతుంది, మరియు విస్తరణ ఫలితం జాబితా.

కమాండ్ ప్రత్యామ్నాయం

కమాండ్ ప్రత్యామ్నాయం కమాండు యొక్క ఆదేశం కమాండ్ పేరు స్థానంలో అనుమతిస్తుంది. రెండు రూపాలు ఉన్నాయి:

$ ( ఆదేశం )

లేదా

` ఆదేశం`

బాష్ ఆదేశం అమలు చేయడం ద్వారా విస్తరణను అమలు చేస్తుంది మరియు కమాండ్ యొక్క ప్రత్యామ్నాయంతో కమాండ్ ప్రత్యామ్నాయాన్ని భర్తీ చేయడం ద్వారా, ఏదైనా వెనువెంటనే కొత్త లైన్లు తొలగించబడతాయి. పొందుపర్చిన కొత్త లైన్లు తొలగించబడవు, కానీ పద విభజన సమయంలో వాటిని తీసివేయవచ్చు. కమాండ్ ప్రత్యామ్నాయం $ (పిల్లి ఫైల్ ) ను సమానమైన కానీ వేగంగా $ (< file ) భర్తీ చేయవచ్చు.

ప్రత్యామ్నాయం యొక్క పాత-శైలి backquote రూపం ఉపయోగించినప్పుడు, బాక్ స్లాష్ దాని సాహిత్య అర్ధాన్ని కలిగి ఉంటుంది, తరువాత $ , ` , లేదా తర్వాత. బాక్ స్లాష్ ముందున్న మొదటి backquote కమాండ్ ప్రత్యామ్నాయాన్ని తొలగిస్తుంది. $ ( కమాండ్ ) రూపాన్ని ఉపయోగిస్తున్నప్పుడు, కుండలీకరణాల మధ్య ఉన్న అన్ని అక్షరాలు కమాండ్ను తయారు చేస్తాయి; ఎవరూ ప్రత్యేకంగా చికిత్స చేస్తారు.

కమాండ్ ప్రత్యామ్నాయాలు సమూహంగా ఉండవచ్చు. గూడుకు బ్యాక్కోట్ రూపాన్ని ఉపయోగిస్తున్నప్పుడు, అంతర్గత బ్యాక్క్యోట్లను బ్యాక్స్లాష్లతో తప్పించుకోండి.

ప్రత్యామ్నాయ డబుల్ కోట్స్లో కనిపిస్తే, పద విభజన మరియు పాత్ పేరు విస్తరణ ఫలితాలపై ప్రదర్శించబడవు.

అంకగణిత విస్తరణ

అంకగణిత విస్తరణ ఒక అంకగణిత వ్యక్తీకరణ యొక్క అంచనాను మరియు ఫలితం యొక్క ప్రత్యామ్నాయాన్ని అనుమతిస్తుంది. అంకగణిత విస్తరణకు ఫార్మాట్:

$ ( వ్యక్తీకరణ ))

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

ARITHMETIC అంచనా ప్రకారం క్రింద ఇవ్వబడిన నియమాల ప్రకారం అంచనా వేయబడుతుంది . వ్యక్తీకరణ చెల్లనిది కానట్లయితే , వైఫల్యం సూచిస్తున్న సందేశాన్ని బాష్ ముద్రిస్తుంది మరియు ప్రత్యామ్నాయం సంభవించదు.

ప్రాసెస్ ప్రత్యామ్నాయం

ప్రాసెస్ ప్రతిక్షేపణ అనే పేరు పైపులు ( FIFO లు ) లేదా ఓపెన్ ఫైళ్ళ పేర్ల / dev / fd పద్ధతికి మద్దతు ఇచ్చే వ్యవస్థలపై మద్దతు ఉంది. ఇది <( list ) లేదా > ( జాబితా ) రూపంలో ఉంటుంది . ప్రక్రియ జాబితా దాని ఇన్పుట్ లేదా అవుట్పుట్తో FIFO లేదా కొన్ని ఫైల్ / dev / fd లో అనుసంధానించబడి ఉంది. విస్తరణ ఫలితం ప్రస్తుత కమాండ్కు ఈ ఫైలు పేరు వాదనగా ఆమోదించబడింది. > ( జాబితా ) రూపం ఉపయోగించినట్లయితే, ఫైల్కు రాయడం జాబితాకు ఇన్పుట్ను అందిస్తుంది. <( జాబితా ) రూపం ఉపయోగించినట్లయితే, జాబితా యొక్క అవుట్పుట్ను పొందటానికి వాదనను చదివేటప్పుడు చదవాలి.

అందుబాటులో ఉన్నప్పుడు, పారామితి మరియు వేరియబుల్ విస్తరణ, కమాండ్ ప్రత్యామ్నాయం, మరియు అంకగణిత విస్తరణతో ఏకకాలంలో ప్రాసెస్ ప్రతిక్షేపణ నిర్వహిస్తారు.

పద విభజన

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

ఈ షెల్ ప్రతి IF యొక్క పాత్రను ఒక డీలిమిటర్గా పరిగణిస్తుంది మరియు ఇతర వర్ణాల ఫలితాలను ఈ అక్షరాల మీద పదాలుగా విడదీస్తుంది. IFS సెట్ చేయకపోతే, లేదా దాని విలువ సరిగ్గా , అప్రమేయము, అప్పుడు IFS అక్షరాల ఏ క్రమము పదాలను డీలిమిట్ చేయుటకు ఉపయోగపడుతుంది. IFS డిఫాల్ట్ కంటే వేరొక విలువను కలిగి ఉంటే, తెల్లని అక్షరం IFS ( IFS తెల్లని పాత్ర యొక్క విలువ) లో ఉన్నంత కాలం తెల్లటి అక్షరాల స్థలం మరియు ట్యాబ్ యొక్క సన్నివేశాలు పదం ప్రారంభంలో మరియు ముగింపులో నిర్లక్ష్యం చేయబడతాయి. IFS లో ఏదైనా పాత్ర IFS తెల్లని కాదు, ఏ ప్రక్కన IFS తెల్లని అక్షరాలు పాటు, ఒక field delimits. IFS తెల్లని అక్షరాలు యొక్క శ్రేణి కూడా డీలిమిటర్గా పరిగణించబడుతుంది. IFS విలువ శూన్యమైతే, వర్డ్ విభజన సంభవిస్తుంది.

స్పష్టమైన సున్నా వాదనలు ( "" లేదా "" ) నిలుపుకుంటాయి. విలువలు లేని పారామితుల యొక్క విస్తరణ వలన తొలగించబడని అవ్యక్త శూన్య వాదనలు తొలగించబడతాయి. విలువ లేని పరామితి డబుల్ కోట్స్లో విస్తరించినట్లయితే, ఒక శూన్య వాదన ఫలితాలు మరియు అలాగే ఉంటుంది.

సంఖ్య విస్తరణ సంభవించినట్లయితే, విభజన జరుగదు.

పథం విస్తరణ

పదం విభజన తరువాత, -f ఆప్షన్ సెట్ చేయబడకపోతే, అక్షరాలు ప్రతి అక్షరానికి బాష్ స్కాన్ చేస్తుంది * ,? , మరియు [ . ఈ అక్షరాలలో ఒకటి కనిపించినట్లయితే, ఆ పదం ఒక నమూనాగా పరిగణించబడుతుంది మరియు నమూనాతో సరిపోలే అక్షర పేటిక అక్షరాల జాబితాను భర్తీ చేస్తుంది. సరిపోలే ఫైలు పేర్లు కనుగొనబడలేదు మరియు షెల్ ఐచ్చికం nullglob ఆపివేస్తే, పదం మారదు. Nullglob ఆప్షన్ సెట్ చేయబడితే మరియు సరిపోలికలు కనుగొనబడకపోతే, పదం తీసివేయబడుతుంది. షెల్ ఐచ్చికం nocaseglob ప్రారంభించబడితే, వర్ణమాల అక్షరాల విషయంలో ఈ మ్యాచ్ నిర్వహిస్తారు. ఒక నమూనా పాత్ పేరు విస్తరణ కొరకు ఉపయోగించినప్పుడు, ఆ పాత్ర యొక్క ప్రారంభములో లేదా వెంటనే స్లాష్ తరువాత తప్పక షెల్ ఐచ్చికం dotglob సెట్ చేయకపోతే తప్ప, స్పష్టంగా సరిపోలాలి . ఒక పాత్ పేరును సరిచేస్తున్నప్పుడు, స్లాష్ పాత్ర ఎల్లప్పుడూ స్పష్టంగా సరిపోలాలి. ఇతర సందర్భాల్లో, ``. '' పాత్ర ప్రత్యేకంగా చికిత్స చేయబడదు. షెల్ల్ BUILTIN COMMANDS క్రింద క్రింద ఉన్న దుకాణం యొక్క వివరణను nocaseglob , nullglob మరియు dotglob షెల్ ఐచ్చికాల వివరణ కొరకు చూడండి.

GLOBIGNORE షెల్ వేరియబుల్ ఒక నమూనాకు సరిపోలే ఫైల్ పేర్ల సెట్ని పరిమితం చేయడానికి ఉపయోగించవచ్చు. GLOBIGNORE సెట్ చేయబడితే, GLOBIGNORE లోని నమూనాల్లో ఒకదానికి సరిపోయే ప్రతి సరిపోలే ఫైల్ పేరు మ్యాచ్ల జాబితా నుండి తొలగించబడుతుంది. GLOBIGNORE సెట్ చేయబడినప్పటికీ, ఫైల్ పేర్లు ``. '' మరియు '' .. '' ఎల్లప్పుడూ విస్మరించబడతాయి. అయితే, GLOBIGNORE సెట్టింగు dotglob షెల్ ఎంపికను ఎనేబుల్ చేసే ప్రభావాన్ని కలిగి ఉంటుంది, కాబట్టి అన్ని ఇతర ఫైల్ పేర్లు "`. '' తో మొదలవుతాయి. "" తో ప్రారంభించి ఫైల్ పేర్లను విస్మరించడం యొక్క పాత ప్రవర్తన పొందడానికి, "`. '' GLOBIGNORE లో నమూనాల్లో ఒకటి. GLOBIGNORE సెట్ చేయని సమయంలో dotglob ఎంపిక నిలిపివేయబడుతుంది.

నమూనా సరిపోలిక

ఒక నమూనాలో కనిపించే ఏదైనా పాత్ర, క్రింద వివరించిన ప్రత్యేక నమూనా అక్షరాలు కాకుండా, సరిపోతుంది. NUL పాత్ర ఒక నమూనాలో జరగకపోవచ్చు. వాచ్యంగా సరిపోలినట్లయితే ప్రత్యేకమైన నమూనా అక్షరాలను ఉటంకిస్తూ ఉండాలి.

ప్రత్యేక నమూనా పాత్రలు క్రింది అర్థాలను కలిగి ఉన్నాయి:

*

శూన్య స్ట్రింగ్తో సహా ఏ స్ట్రింగ్ను సరిపోతుంది.

?

ఏ ఒక్క పాత్ర సరిపోతుంది.

[...]

పరివేష్టిత అక్షరాలలో దేనికైనా సరిపోతుంది. హైఫన్తో వేరు చేయబడిన పాత్రల జత రేంజ్ ఎక్స్ప్రెషన్ సూచిస్తుంది; ప్రస్తుత అక్షరక్రమం యొక్క పెరేటింగ్ సీక్వెన్స్ మరియు అక్షర సమితిని ఉపయోగించి, ఆ రెండు పాత్రలతో కలిపి ఏ పాత్ర అయినా సరిపోతుంది. మొదటి అక్షరాన్ని అనుసరించినట్లయితే [ a ! లేదా ఒక ^ అయినా ఏ అక్షరం జతపరచబడలేదు. పరిధి వ్యక్తీకరణల్లో అక్షరాలు క్రమబద్ధీకరణ క్రమాన్ని ప్రస్తుత లొకేల్ మరియు సెట్ చేయబడి ఉంటే, LC_COLLATE షెల్ వేరియబుల్ యొక్క విలువ నిర్ణయించబడుతుంది. A - సెట్లో మొదటి లేదా చివరి అక్షరం వలె చేర్చడం ద్వారా సరిపోలవచ్చు. A ] సెట్లో మొదటి పాత్రగా చేర్చడం ద్వారా సరిపోతుంది.

లోపల [ మరియు ] , అక్షర తరగతులు వాక్యనిర్మాణం [: తరగతి :] ను ఉపయోగించి పేర్కొనవచ్చు, ఇక్కడ తరగతి POSIX.2 ప్రమాణంలో నిర్వచించిన కింది తరగతుల్లో ఒకటి:

alnum alpha ascii blank cntrl అంకెల గ్రాఫ్ తక్కువ ప్రింట్ punct స్పేస్ ఎగువ పదం xdigit
ఒక తరగతి తరగతి ఆ వర్గానికి చెందని ఏ అక్షరానికి సరిపోతుంది. అక్షరం తరగతి అక్షరాలను, అంకెలు మరియు పాత్ర _ తో సరిపోతుంది.

[ మరియు ] లోపల, సిన్టాక్స్ [= c =] ను ఉపయోగించి , సమాన అక్షరాన్ని వర్గీకరించవచ్చు, ఇది అక్షర c గా అన్ని క్యారేషన్ బరువుతో (ప్రస్తుత లొకేల్ నిర్వచించినట్లు) అన్ని పాత్రలకు సరిపోతుంది.

లోపల [ మరియు ] , సింటాక్స్ [. గుర్తు .] పలకల సంకేత చిహ్నాన్ని సరిపోతుంది.

ఎక్స్టగ్లోబ్ షెల్ ఐచ్చికాన్ని దుకాణాల అంతర్నిర్మిత ఉపయోగించి ఉపయోగించినట్లయితే, అనేక పొడిగించబడిన నమూనా సరిపోలే ఆపరేటర్లను గుర్తించవచ్చు. కింది వివరణలో, నమూనా-జాబితా అనేది ఒకటి లేదా అంతకంటే ఎక్కువ నమూనాల జాబితా . క్రింది ఉపవిభాగాలలో ఒకటి లేదా అంతకంటే ఎక్కువ ఉపయోగించి మిశ్రమ నమూనాలను ఏర్పరచవచ్చు:

? ( నమూనా-జాబితా )

ఇచ్చిన నమూనాల యొక్క సున్నా లేదా ఒక సంఘటనను సరిపోతుంది

* ( నమూనా-జాబితా )

ఇచ్చిన నమూనాల సున్నా లేదా ఎక్కువ సంఘటనలను సరిపోతుంది

+ ( నమూనా-జాబితా )

ఇచ్చిన నమూనాల ఒకటి లేదా ఎక్కువ సంఘటనలను సరిపోతుంది

@ ( నమూనా-జాబితా )

సరిగ్గా ఇవ్వబడిన నమూనాల్లో ఒకటి సరిపోతుంది

! ( నమూనా-జాబితా )

ఇవ్వబడిన నమూనాల్లో ఒకదానికి మినహా ఏదైనా సరిపోలుతుంది

కోట్ రిమూవల్

అంతకుముందు విస్తరణ తర్వాత, పైన పేర్కొన్న విస్తరణల్లో ఒక దాని నుండి ఫలితాన్ని ఇవ్వని అక్షరాలు \ , ' , మరియు ' లు అన్నింటికీ తొలగించబడవు.

REDIRECTION

ఒక ఆదేశం అమలు కావడానికి ముందు, దాని ఇన్పుట్ మరియు అవుట్పుట్ షెల్ ద్వారా వివరించబడిన ఒక ప్రత్యేక సంజ్ఞామానం ఉపయోగించి మళ్లించబడవచ్చు . ప్రస్తుత షెల్ ఎగ్జిక్యూషన్ ఎన్విరాన్మెంట్ కోసం ఫైల్లను తెరిచి మూసివేయడానికి దారి మళ్లింపును ఉపయోగించవచ్చు. కింది మళ్లింపు ఆపరేటర్లు ముందుగానే సాధారణ కమాండ్లో ఎక్కడైనా కనిపించవచ్చు లేదా కమాండ్ను అనుసరించవచ్చు. దారి మళ్లింపులను వారు కనిపించే క్రమంలో, ఎడమ నుండి కుడికి ప్రాసెస్ చేయబడతాయి.

కింది వర్ణనలలో, ఫైలు వర్ణన సంఖ్యను విస్మరించినట్లయితే, మరియు మళ్లింపు ఆపరేటర్ యొక్క మొదటి అక్షరం < , మళ్లింపును ప్రామాణిక ఇన్పుట్ (ఫైల్ వర్ణన 0) సూచిస్తుంది. మళ్లింపు ఆపరేటర్ యొక్క మొదటి అక్షరం > ఉంటే , దారి మళ్లింపు ప్రామాణిక అవుట్పుట్ (ఫైల్ వర్ణన 1) ను సూచిస్తుంది.

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

మళ్లింపుల క్రమంలో ముఖ్యమైనది గమనించండి. ఉదాహరణకు, కమాండ్

ls > dirlist 2 > & 1

ఆదేశిస్తున్నప్పుడు, ప్రామాణిక డీబలిస్ట్కు ప్రామాణిక అవుట్పుట్ మరియు ప్రామాణిక దోషాన్ని నిర్దేశిస్తుంది

ls 2 > & 1 > dirlist

ప్రామాణిక అవుట్పుట్ dirlist ను మాత్రమే నిర్దేశిస్తుంది, ఎందుకంటే ప్రామాణిక అవుట్పుట్ dirlist కు మళ్ళించబడుతుంది ముందు ప్రామాణిక లోపం ప్రామాణిక అవుట్పుట్ వలె నకిలీ చేయబడింది.

బాష్ ఈ క్రింది పట్టికలో వివరించిన విధంగా, రీడైరెక్షన్స్లో ఉపయోగించినప్పుడు ప్రత్యేకంగా అనేక ఫైల్ పేన్లను నిర్వహిస్తుంది:

/ dev / fd / fd

Fd చెల్లుబాటు అయ్యే పూర్ణాంకం అయితే, ఫైల్ వర్ణన fd నకలు చెయ్యబడింది.

/ dev / stdin

ఫైలు వివరణ 0 నకిలీ చేయబడింది.

/ dev / stdout

ఫైల్ వివరణ 1 నకిలీ చేయబడింది.

/ dev / stderr

ఫైల్ వర్ణన 2 నకిలీ చేయబడింది.

/ dev / tcp / host / port

హోస్ట్ చెల్లుబాటు అయ్యే హోస్ట్ పేరు లేదా ఇంటర్నెట్ అడ్రస్, మరియు పోర్టు అనునది పూర్ణాంక పోర్ట్ సంఖ్య లేదా సేవా పేరు, సంబంధిత సాకెట్కు TCP అనుసంధానాన్ని తెరిచే బాష్ ప్రయత్నాలు.

/ dev / udp / host / port

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

ఫైల్ను తెరవడానికి లేదా సృష్టించడంలో వైఫల్యం మళ్లింపును విఫలం చేస్తుంది.

ఇన్పుట్ను దారి మళ్లిస్తోంది

ఇన్పుట్ రీడైరెక్ట్ ఫైల్ యొక్క వివరణ విస్తరించడం నుండి ఫైల్ పేరును చదవడానికి తెరవబడుతుంది, లేదా n పేర్కొనబడకపోతే స్టాండర్డ్ ఇన్పుట్ (ఫైల్ డిస్క్రిప్షన్ 0).

రీడైరెక్ట్ ఇన్పుట్ కోసం సాధారణ ఆకృతి:

[ n ] < పదం

రీడైరెక్ట్ అవుట్పుట్

అవుట్పుట్ దారి మళ్లింపు ఫైలు పేరును విస్తరింపచేస్తుంది, దీని ఫలితంగా ఫైల్ వర్ణన n న వ్రాయడం లేదా n పేర్కొనబడకపోతే స్టాండర్డ్ అవుట్పుట్ (ఫైల్ వర్ణన 1). ఫైలు ఉనికిలో లేకపోతే అది సృష్టించబడుతుంది; అది ఉనికిలో ఉంటే అది సున్నా పరిమాణానికి కత్తిరించబడుతుంది.

రీడైరెక్ట్ రీడైనింగ్ కోసం సాధారణ ఫార్మాట్:

[ n ] > పదం

మళ్లింపు ఆపరేటర్లు > ఉంటే , మరియు సెట్డ్ బిల్డింగ్ కు noclobber ఐచ్చికాన్ని ఎనేబుల్ చెయ్యబడింది, వర్డ్ యొక్క విస్తరణ నుండి దాని పేరు యొక్క ఫలితాలు ఉనికిలో ఉన్న ఫైల్ మరియు ఒక సాధారణ ఫైల్ ఉంటే మళ్లింపును విఫలమౌతుంది. మళ్లింపు ఆపరేటర్లు > | , లేదా రీడైరక్షన్ ఆపరేటర్లు > మరియు సెట్ బిల్డ్ కమాండ్కు noclobber ఐచ్చికం ఎనేబుల్ చెయ్యబడలేదు , పదం ఉనికిలో ఉన్న ఫైల్ కూడా రీడైరక్షన్ ప్రయత్నించబడింది.

రీడైరెక్ట్ అవుట్పుట్ను Appending

ఈ పద్ధతిలో అవుట్పుట్ యొక్క దారిమళ్లింపు ఫైల్ పేరును విస్తరించడం ద్వారా ఫైల్ పేరును N , లేదా పేర్కొనబడకపోతే స్టాండర్డ్ అవుట్పుట్ (ఫైల్ డిస్క్రిప్షన్ 1) పై అనుసంధానించడానికి ఫైల్ పేరును కలిగిస్తుంది. ఫైలు ఉనికిలో లేకపోతే అది సృష్టించబడుతుంది.

అవుట్పుట్ను చేర్చుటకు సాధారణ ఆకృతి:

[ n ] >> పదం

స్టాండర్డ్ అవుట్పుట్ మరియు ప్రామాణిక లోపం రీడైరెక్ట్

బాష్ ప్రామాణిక అవుట్పుట్ (ఫైల్ వర్ణన 1) మరియు ప్రామాణిక ఎర్రర్ అవుట్పుట్ (ఫైల్ వర్ణన 2) రెండింటిని ఈ నిర్మాణానికి పదం యొక్క విస్తరణ అనే పేరుకు మళ్ళించటానికి అనుమతిస్తుంది.

ప్రామాణిక అవుట్పుట్ మరియు ప్రామాణిక దోషాన్ని రీడైరెక్ట్ చేయడానికి రెండు ఫార్మాట్లు ఉన్నాయి:

&> పదం

మరియు

> వర్డ్

రెండు రూపాల్లో మొదటిది ప్రాధాన్యం. ఇది అర్థ పదంగా సమానమైనది

> పదం 2 > & 1

ఇక్కడ పత్రాలు

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

ఇక్కడ-పత్రాల ఆకృతి:

<< [ - ] ఇక్కడ పదం -పత్రం డీలిమిటర్

ఏ పారామీటర్ విస్తరణ, కమాండ్ ప్రత్యామ్నాయం, అంకగణిత విస్తరణ, లేదా పాత్ పేరు విస్తరణ పదంగా నిర్వహిస్తారు. పదంలోని ఏదైనా అక్షరాలను ఉల్లేఖించినట్లయితే, డీలిమిటర్ అనేది పదంపై కోట్ తొలగింపు ఫలితంగా మరియు ఇక్కడ-పత్రంలోని పంక్తులు విస్తరించబడవు. పదం వాక్యనిర్మాణం చేయబడకపోతే, ఇక్కడ-పత్రం యొక్క అన్ని పంక్తులు పారామీటర్ విస్తరణకు, కమాండ్ ప్రత్యామ్నాయం మరియు అంకగణిత విస్తరణకు లోబడి ఉంటాయి. తరువాతి సందర్భంలో, పాత్ర క్రమం \ విస్మరించబడుతుంది మరియు \\ అక్షరాలను \ , $ , మరియు ` కోట్ చేయడానికి ఉపయోగించాలి.

మళ్లింపు ఆపరేటర్లు << - ఉంటే , అప్పుడు అన్ని ప్రముఖ ట్యాబ్ అక్షరాలు ఇన్పుట్ పంక్తులు మరియు డీలిమిటర్ కలిగిన లైన్ నుండి తీసివేయబడతాయి. ఇది ఇక్కడ అనుమతిస్తుంది- షెల్ స్క్రిప్ట్స్ లోపల పత్రాలు సహజ పద్ధతిలో ఇండెంట్ చేయడానికి.

ఇక్కడ స్ట్రింగ్స్

ఇక్కడ పత్రాల యొక్క ఒక వైవిధ్యం, ఫార్మాట్:

<<< పదం

పదం దాని ప్రామాణిక ఇన్పుట్పై విస్తరించింది మరియు కమాండ్కు సరఫరా చేయబడింది.

ఫైలు వివరణలు నకిలీ

మళ్లింపు ఆపరేటర్లు

[ n ] <& పదము

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

ఆపరేటర్

[ n ] > & పదం

అవుట్పుట్ ఫైల్ డిస్క్రిప్టర్స్ నకిలీ చేయడానికి అదే విధంగా ఉపయోగిస్తారు. N తెలియకపోతే, ప్రామాణిక అవుట్పుట్ (ఫైల్ వర్ణన 1) ఉపయోగించబడుతుంది. పదంలో అంకెలు అవుట్పుట్ కోసం ఓపెన్ ఫైల్ వివరణను పేర్కొనకపోతే, దారి మళ్లింపు లోపం సంభవిస్తుంది. ప్రత్యేక సందర్భంలో, n విస్మరించబడితే, మరియు పదం ఒకటి లేదా అంతకంటే ఎక్కువ అంకెలకు విస్తరించబడదు, గతంలో వివరించిన విధంగా ప్రామాణిక అవుట్పుట్ మరియు ప్రామాణిక లోపం మళ్ళించబడతాయి.

ఫైలు వివరణలు మూవింగ్

మళ్లింపు ఆపరేటర్లు

[ n ] <& అంకెల -

నాన్ పేర్కొనకపోతే, ఫైలు వర్ణన నకలును నాన్ డిస్క్రిప్టర్ n , లేదా స్టాండర్డ్ ఇన్పుట్ (ఫైల్ డిస్క్రిప్టు 0) కు తరలించవచ్చు. అంకెల n కు నకిలీ తర్వాత మూసివేయబడుతుంది.

అదేవిధంగా, మళ్లింపు ఆపరేటర్

[ n ] > & అంకెల -

n స్పెషల్ అవుట్పుర్డర్ నకలును దానికి తెలుపుతుంది, లేదా n పేర్కొనబడకపోతే స్టాండర్డ్ అవుట్పుట్ (ఫైల్ వర్ణన 1).

పఠనం మరియు రాయడం కోసం ఫైలు వివరణలు తెరవడం

మళ్లింపు ఆపరేటర్లు

[ n ] <> పదము

ఫైల్ పేరును నామకరణం చేస్తుంది, దీని పేరు ఫైల్ వివరణకు n న చదవడం మరియు వ్రాయడం రెండింటికీ తెరవబడుతుంది, లేదా n పేర్కొనబడకపోతే ఫైలు వర్ణన 0 పై ఉంటుంది. ఫైలు ఉనికిలో లేకపోతే, అది సృష్టించబడుతుంది.

మారుపేర్ల

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

మారుపేర్లు సృష్టించబడతాయి మరియు అలియాస్ ఆదేశంతో జాబితా చేయబడతాయి, మరియు యులియాస్ ఆదేశంతో తొలగించబడతాయి.

ప్రత్యామ్నాయ పాఠంలో వాదనలు ఉపయోగించడం కోసం యంత్రాంగం లేదు. వాదనలు అవసరమైతే, షెల్ ఫంక్షన్ను వాడాలి (క్రింద FUNCTIONS చూడండి).

షెల్ట్ ఇంటరాక్టివ్ కానప్పుడు మారుపేర్లు విస్తరించబడవు, expand_aliases షెల్ ఐచ్చికం shopt ఉపయోగించి సెట్ చేయబడకపోతే ( దిగువ షెల్ బిల్లు కమాండ్స్ క్రింద దుకాణం యొక్క వివరణ చూడండి).

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

దాదాపు ప్రతి ప్రయోజనం కోసం, మారుపేర్లు షెల్ విధులు చేత భర్తీ చేయబడతాయి.

విధులు

షెల్ గ్రామర్ కింద వివరించిన షెల్ ఫంక్షన్, తదుపరి అమలు కోసం వరుస ఆదేశాలను నిల్వ చేస్తుంది. ఒక షెల్ ఫంక్షన్ యొక్క పేరు సాధారణ కమాండ్ పేరుగా ఉపయోగించినప్పుడు, ఆ ఫంక్షన్ పేరుతో అనుబంధించబడిన ఆదేశాల జాబితా అమలు చేయబడుతుంది. ప్రస్తుత షెల్ సందర్భంలో విధులు అమలు చేయబడతాయి; వాటిని అర్థం చేసుకోవడానికి కొత్త ప్రక్రియ సృష్టించబడదు (షెల్ లిపి అమలుతో దీనికి విరుద్ధంగా). ఒక ఫంక్షన్ అమలు చేసినప్పుడు, ఫంక్షన్కు వాదనలు దాని అమలు సమయంలో స్థాన పారామితులుగా మారుతాయి. మార్పును ప్రతిబింబించేలా ప్రత్యేక పరామితి # నవీకరించబడింది. పదాల పారామితి 0 మారదు. ఫంక్షన్ అమలు చేస్తున్నప్పుడు FUNCNAME వేరియబుల్ ఫంక్షన్ యొక్క పేరుకు సెట్ చేయబడింది. షెల్ ఎగ్జిక్యూషన్ ఎన్విరాన్మెంట్ యొక్క అన్ని ఇతర అంశాలు, మినహాయింపుతో ఒక ఫంక్షన్ మరియు దాని కాలర్ల మధ్య ఒకేలా ఉంటాయి, DEBUG ట్రాప్ (దిగువ షెల్ బిల్లున్ కమాండ్స్ క్రింద నిర్మించిన ట్రాప్ యొక్క వివరణను చూడండి) ఫంక్షన్ లక్షణం లక్షణం ఇవ్వబడకపోతే క్రింద నిర్మించిన డిక్లేర్ వివరణ చూడండి).

ఫంక్షన్కు స్థానిక వేరియబుల్స్ స్థానిక అంతర్నిర్మిత ఆదేశంతో ప్రకటించబడవచ్చు. సాధారణంగా, వేరియబుల్స్ మరియు వాటి విలువలు ఫంక్షన్ మరియు దాని కాలర్ మధ్య పంచుకుంటున్నాయి.

అంతర్నిర్మిత కమాండ్ రిటర్న్ ఒక ఫంక్షన్ లో అమలు చేయబడితే, ఫంక్షన్ పూర్తి అవ్వడమేగాక ఫంక్షన్ కాల్ తర్వాత ఫంక్షన్ పునఃప్రారంభించబడుతుంది. ఒక ఫంక్షన్ పూర్తయినప్పుడు, స్థాన పారామితుల యొక్క విలువలు మరియు ప్రత్యేక పారామితి # ఫంక్షన్ యొక్క అమలుకు ముందు ఉన్న విలువలకు పునరుద్ధరించబడతాయి.

ఫంక్షన్ పేర్లు మరియు నిర్వచనాలు -f ఐచ్చికాన్ని డిక్లేర్ లేదా టైప్ట్ బిల్ట్ఇన్ ఆదేశాలకు ఇవ్వవచ్చు. డిక్లేర్ లేదా టైప్ట్ యొక్క -F ఎంపిక ఫంక్షన్ పేర్లను మాత్రమే జాబితా చేస్తుంది. విధులు ఎగుమతి చేయబడతాయి, తద్వారా subshells స్వయంచాలకంగా వాటిని -f ఐచ్చికంతో ఎగుమతి అంతర్నిర్మితంగా నిర్వచించవచ్చు.

విధులు పునరావృతమవుతాయి. పునరావృత కాల్స్ సంఖ్యపై పరిమితి విధించబడదు.

అరిథమిక్ ఇవల్యూషన్

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

id ++ id -

వేరియబుల్ పోస్ట్-ఇంక్రిమెంట్ మరియు పోస్ట్-డిక్రిప్షన్

++ id - id

వేరియబుల్ ప్రీ-ఇంక్రిమెంట్ మరియు ప్రీ-డిక్రిప్షన్

- +

unary మైనస్ మరియు ప్లస్

! ~

తార్కిక మరియు బిట్వైజ్ వ్యతిరేకత

**

ఘాతీయ

* /%

గుణకారం, విభజన, మిగిలినవి

+ -

అదనంగా, వ్యవకలనం

<< >>

ఎడమ మరియు కుడి బిట్వైజ్ మార్పులు

<=> = <>

పోలిక

==! =

సమానత్వం మరియు అసమానత

&

bitwise మరియు

^

బిట్వైజ్ ప్రత్యేకమైనది

|

bitwise OR

&&

తార్కిక మరియు

||

తార్కిక OR

expr ? expr : expr

నియత మూల్యాంకనం

= * = / =% = + = - = << = >> = & = ^ = =

అప్పగించిన

expr1 , expr2

కామా

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

ప్రముఖ 0 తో ఉన్న స్థిరాంకాలు అష్ట సంఖ్యల వలె వివరించబడ్డాయి. ఒక ప్రముఖ 0x లేదా 0x హెక్సాడెసిమల్ ను సూచిస్తుంది. లేకపోతే, సంఖ్యలు ఫార్మాట్ [ బేస్ # ] n ను తీసుకుంటాయి, ఇక్కడ బేస్ 2 మరియు 64 మధ్య దశాంశ సంఖ్యను అంకగణిత స్థావరానికి ప్రాతినిధ్యం వహిస్తుంది మరియు n ఆ స్థానములో ఒక సంఖ్య. బేస్ # విస్మరించబడితే, అప్పుడు బేస్ 10 ఉపయోగించబడుతుంది. 9 కంటే ఎక్కువ అంకెలు చిన్న అక్షరాలతో, పెద్ద అక్షరాలు, @, మరియు _, ఆ క్రమంలో ప్రాతినిధ్యం వహిస్తాయి. బేస్ కంటే తక్కువ లేదా 36 కి సమానంగా ఉంటే, చిన్న మరియు పెద్ద అక్షరాల సంఖ్య 10 మరియు 35 మధ్య సంఖ్యలను సూచించడానికి ఉపయోగించబడుతుంది.

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

షరతులతో కూడిన వ్యక్తీకరణలు

షరతు వ్యక్తీకరణలను [[ కాంపౌండ్ కమాండ్ మరియు టెస్ట్ మరియు [ అంతర్నిర్మిత ఆదేశాలను ఫైల్ లక్షణాలను పరీక్షించడానికి మరియు స్ట్రింగ్ మరియు అంకగణిత పోలికలను నిర్వహించడానికి ఉపయోగిస్తారు. వ్యక్తీకరణలు క్రింది అనంతర లేదా బైనరీ ప్రాధమికాల నుండి ఏర్పడతాయి. ప్రాధమికములలో ఒకదానికి ఏ ఫైల్ వాదన ఫారమ్ / dev / fd / n గా ఉంటే , అప్పుడు ఫైలు వర్ణన n తనిఖీ చేయబడుతుంది. ప్రైమరీలలో ఒకదానికి ఫైల్ వాదన ఉంటే, / dev / stdin , / dev / stdout లేదా / dev / stderr , ఫైల్ వివరణ 0, 1 లేదా 2, వరుసగా తనిఖీ చేయబడి ఉంటే.

-a ఫైలు

ఫైల్ ఉంటే ట్రూ.

-b ఫైల్

నిజం ఉంటే ఫైల్ మరియు ఒక ప్రత్యేక ప్రత్యేక ఫైలు.

-c ఫైల్

నిజం ఉంటే ఫైల్ మరియు ఒక పాత్ర ప్రత్యేక ఫైలు.

-d ఫైల్

ట్రూ ఉంటే మరియు డైరెక్టరీ.

-e ఫైలు

ఫైల్ ఉంటే ట్రూ.

-f ఫైల్

ట్రూ ఉనికిలో ఉంటే మరియు సాధారణ ఫైల్.

-g ఫైల్

నిజం ఉంటే ఫైల్ మరియు సెట్-సమూహం-ఐడి.

-h ఫైల్

ట్రూ ఉనికిలో ఉంటే, ఇది లాంఛనప్రాయ లింక్.

-k ఫైల్

నిజం ఉంటే ఫైల్ మరియు దాని `` sticky '' బిట్ సెట్ చేయబడుతుంది.

-p ఫైల్

ట్రూ ఉనికిలో ఉన్నట్లయితే మరియు పేరు పెట్టబడిన పైప్ (FIFO).

-r ఫైలు

నిజం ఉంటే ఫైల్ మరియు చదవగలిగినది.

-s ఫైలు

నిజం ఉంటే ఫైల్ మరియు సున్నా కంటే ఎక్కువ పరిమాణం కలిగి ఉంటుంది.

-t fd

నిజం ఫైల్ సూచిక fd తెరిచి ఉంటే మరియు టెర్మినల్ ను సూచిస్తుంది.

-u ఫైల్

నిజం ఉంటే ఫైల్ మరియు దాని సెట్-యూజర్-id బిట్ సెట్ చేయబడుతుంది.

-w ఫైల్

ఫైల్ ఉనికిలో ఉంటే మరియు వ్రాయదగినది.

-x ఫైలు

ట్రూ ఉనికిలో ఉంటే మరియు అమలు చేయదగినది.

-O ఫైలు

ఫైల్ ఉనికిలో ఉండి, సమర్థవంతమైన యూజర్ ఐడికి స్వంతమైనది.

-G ఫైల్

ఫైల్ ఉనికిలో ఉన్నట్లయితే మరియు సమర్థవంతమైన సమూహం ఐడికి స్వంతమైనది.

-L ఫైల్

ట్రూ ఉనికిలో ఉంటే, ఇది లాంఛనప్రాయ లింక్.

-S ఫైల్

నిజం ఉంటే ఫైల్ మరియు ఒక సాకెట్.

-N ఫైలు

ఇది నిజం అయితే, ఇది చివరిగా చదివినప్పటి నుండి సవరించబడింది.

file1 - nt file2

ఫైల్ 2 కంటే ఫైల్ (మార్పు తేదీ ప్రకారం) క్రొత్తది లేదా ఫైల్1 ఉంటే మరియు ఫైల్ 2 లేనట్లయితే ట్రూ.

file1 - ot file2

ఫైల్ 1 కంటే file1 కంటే పాతది లేదా file2 ఉనికిలో ఉంటే మరియు file1 కాదు.

file1 -ef file2

ట్రూ 1 మరియు ఫైల్ 2 అదే పరికరం మరియు ఐనోడ్ సంఖ్యలను సూచిస్తుంది.

-O ఆప్టిమెండ్

షెల్ ఐచ్చికం ఆప్ట్పేరు ఎనేబుల్ అయినప్పటికి ట్రూ. దిగువ అంతర్నిర్మిత సెట్లో -o ఐచ్చికం యొక్క వివరణ కింద ఎంపికల జాబితాను చూడండి.

-z స్ట్రింగ్

స్ట్రింగ్ యొక్క పొడవు సున్నా అయితే ట్రూ.

-n స్ట్రింగ్

స్ట్రింగ్

స్ట్రింగ్ యొక్క పొడవు సున్నా కానిది అయితే ట్రూ.

string1 == string2

తీగలను సమానం అయితే ట్రూ. = ఖచ్చితమైన POSIX సమ్మతి కోసం == స్థానంలో ఉపయోగించవచ్చు.

స్ట్రింగ్ 1 ! = స్ట్రింగ్ 2

తీగలను సమానంగా లేకుంటే ట్రూ.

స్ట్రింగ్ 1 < స్ట్రింగ్ 2

ట్రూ స్ట్రింగ్ 1 కు ముందు స్ట్రింగ్ 2 లెక్సికోగ్రాఫికల్గా ప్రస్తుత లొకేల్ లో ఉంటే.

string1 > string2

ట్రూ స్ట్రింగ్ 2 తరువాత స్ట్రింగ్ 2 లెక్సికోగ్రాఫికల్గా ప్రస్తుత లొకేల్ లో ఉంటే.

arg1 OP arg2

-eq , -ne , -lt , -le , -gt , లేదా -ge ఒకటి . Arg1 సమానం కాకపోతే, ఈ గణిత బైనరీ ఆపరేటర్లు నిజాన్ని తిరిగి పొందుతాయి , సమానంగా, తక్కువగా, తక్కువ లేదా సమానంగా, వరుసగా, లేదా ఎక్కువ లేదా arg2 కు సమానంగా ఉంటాయి. Arg1 మరియు arg2 సానుకూల లేదా ప్రతికూల పూర్ణాంకాలు కావచ్చు.

SIMPLE COMMAND EXPANSION

సాధారణ ఆదేశం అమలు చేయబడినప్పుడు, షెల్ ఎడమ నుండి కుడికి క్రింది విస్తరణలు, కేటాయింపులు మరియు మళ్లింపులను అమలు చేస్తుంది.

1.పార్సర్ వేరియబుల్ కేటాయింపులను (కమాండ్ పేరుకు ముందే) మరియు మళ్లింపులను తరువాత ప్రాసెసింగ్ కోసం సేవ్ చేయబడ్డ పదాలను గుర్తించారు.

2. వేరియబుల్ కేటాయింపులు లేదా మళ్లింపులు లేని పదాలను విస్తరించారు. ఏ పదాల విస్తరణ తర్వాత అయినా, మొదటి పదం కమాండ్ యొక్క పేరుగా తీసుకోబడుతుంది మరియు మిగిలిన పదాలు వాదనలు.

REDIRECTION క్రింద వివరించిన విధంగా Redirections నిర్వహిస్తారు .

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

ఏ ఆదేశ పేరు ఫలితాలు లేకపోతే, వేరియబుల్ కేటాయింపులు ప్రస్తుత షెల్ పర్యావరణాన్ని ప్రభావితం చేస్తాయి. లేకపోతే, వేరియబుల్స్ executed ఆదేశం యొక్క పర్యావరణంలో చేర్చబడతాయి మరియు ప్రస్తుత షెల్ ఎన్విరాన్మెంట్ను ప్రభావితం చేయవు. అభ్యాసాల ఏమైనా చదవగలిగే చరరాశికి విలువను కేటాయించాలని ప్రయత్నిస్తే, లోపం సంభవిస్తుంది మరియు ఆదేశం సున్నా-కాని స్థితితో నిష్క్రమిస్తుంది.

ఏ ఆదేశ పేరు ఫలితాలు లేకపోతే, మళ్లింపులు నిర్వహిస్తారు, అయితే ప్రస్తుత షెల్ పర్యావరణంపై ప్రభావం చూపకండి. దారి మళ్లింపు లోపం ఒక సున్నా-కాని స్థితితో నిష్క్రమించడానికి ఆదేశాన్ని కలిగిస్తుంది.

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

COMMAND ఎగ్జిక్యూషన్

ఒక ఆదేశం పదాలుగా విభజించబడిన తరువాత, ఒక సాధారణ ఆదేశం మరియు వాదనలు యొక్క ఐచ్ఛిక జాబితా ఫలితంగా ఉంటే, కింది చర్యలు తీసుకుంటారు.

కమాండ్ పేరులో ఏ శ్లాష్లు లేకపోతే, షెల్ దానిని గుర్తించడానికి ప్రయత్నిస్తుంది. ఆ పేరుతో ఒక షెల్ ఫంక్షన్ ఉంటే, ఆ ఫంక్షన్ FUNCTIONS పైన వివరించిన విధంగా ఉపయోగించబడుతుంది. పేరు ఒక ఫంక్షన్కు సరిపోలకపోతే, షెల్ బిల్డ్ల జాబితాలో దాని కోసం శోధిస్తుంది. ఒక మ్యాచ్ కనుగొనబడితే, ఆ బిల్డ్ ఆరంభించబడింది.

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

శోధన విజయవంతమైతే, లేదా కమాండ్ పేరు ఒకటి లేదా అంతకంటే ఎక్కువ స్లాష్లను కలిగి ఉంటే, షెల్ అనే ప్రోగ్రామ్ అమలు ప్రత్యేక అమలు వాతావరణంలో అమలు అవుతుంది. ఇచ్చిన పేరుకు ఆర్గ్యుమెంట్ 0 సెట్ చేయబడుతుంది మరియు ఆదేశానికి మిగిలివున్న వాదనలు ఇచ్చిన వాదనలు ఏవైనా ఉంటే సెట్ చేయబడతాయి.

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

కార్యక్రమం # తో ప్రారంభమయ్యే ఫైలు అయినా ! , మొదటి పంక్తి యొక్క మిగిలినది కార్యక్రమం కోసం ఒక అనువాదకుడు నిర్దేశిస్తుంది. షెల్ ఈ ఎక్జిక్యూటబుల్ ఫార్మాట్ ను నిర్వహించని నిర్వహణ వ్యవస్థలపై పేర్కొన్న వ్యాఖ్యాతలను అమలు చేస్తుంది. వ్యాఖ్యానానికి వాదనలు ప్రోగ్రామ్ యొక్క మొదటి పంక్తిపై వ్యాఖ్యాత పేరును అనుసరించి ఒక ఐచ్ఛిక ఐచ్చిక వాదనను కలిగి ఉంటాయి, తరువాత ప్రోగ్రామ్ యొక్క పేరు, ఆదేశాన్ని వాదనలు, ఏదైనా ఉంటే.

COMMAND ఎగ్జిక్యూషన్ ఎన్విరాన్మెంట్

షెల్ ఒక అమలు వాతావరణాన్ని కలిగి ఉంటుంది , ఇందులో కిందివి ఉన్నాయి:

* ఓపెన్ ఫైల్స్ షల్ ద్వారా సంక్రమించినప్పుడు, కార్యనిర్వాహక అంతర్నిర్మిత కు అందించే మళ్లింపుల ద్వారా సవరించబడినది

* ప్రస్తుత పని డైరెక్టరీ cd , pushd లేదా popd ద్వారా సెట్ చేయబడుతుంది లేదా షోలు చేత షోలు సంక్రమించినప్పుడు

* umask చేత సెట్ చేయబడిన లేదా షెల్ యొక్క పేరెంట్ నుండి వారసత్వంగా రూపొందించబడిన ఫైల్ సృష్టి మోడ్ మాస్క్

* ట్రాప్ చేత ప్రస్తుత వలలు

* వేరియబుల్ అప్పగింత ద్వారా సెట్ లేదా షెల్ యొక్క పేరెంట్ నుండి సెట్ లేదా వారసత్వంగా సెట్ చేసిన షెల్ పారామితులు

* షెల్ విధులు అమలులో లేదా షెల్ యొక్క తల్లిదండ్రుల వాతావరణంలో సంక్రమించినప్పుడు నిర్వచించబడ్డాయి

* ప్రత్యామ్నాయ ప్రవేశాన్ని (డిఫాల్ట్గా లేదా ఆదేశ పంక్తి వాదాలతో) లేదా సెట్ ద్వారా ప్రారంభించవచ్చు

* దుకాణాలచే ఎనేబుల్ * ఎంపికలు

* షెల్ మారుపేర్లు అలియాస్తో నిర్వచించబడ్డాయి

* వివిధ కార్యక్రమ ID లు, నేపథ్య ఉద్యోగాలు, $ $ విలువ మరియు $ PPID విలువలతో సహా

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

* షెల్ యొక్క ఓపెన్ ఫైల్స్, ఆదేశానికి మళ్లింపుల ద్వారా పేర్కొన్న ఏ సవరణలు మరియు చేర్పులు

* ప్రస్తుత పని డైరెక్టరీ

* ఫైల్ సృష్టి మోడ్ మాస్క్

* షెల్ వేరియబుల్స్, ఎగుమతి కోసం గుర్తించబడింది, కమాండ్ కోసం ఎగుమతి చేసిన వేరియబుల్స్తోపాటు, పర్యావరణంలో ఆమోదించబడింది

షెల్ పట్టుకున్న వలలు షెల్ యొక్క పేరెంట్ నుండి వారసత్వంగా తీసుకున్న విలువలకు రీసెట్ అవుతాయి మరియు షెల్ ద్వారా నిర్లక్ష్యం చేయబడిన ఉచ్చులు విస్మరించబడతాయి

ఈ ప్రత్యేక వాతావరణంలో ఉపయోగించిన ఒక ఆదేశం షెల్ యొక్క అమలు వాతావరణాన్ని ప్రభావితం చేయదు.

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

ఒక కమాండ్ను అనుసరిస్తే & ఉద్యోగ నియంత్రణ చురుకుగా లేదు, ఆదేశం కోసం డిఫాల్ట్ ప్రామాణిక ఇన్పుట్ ఖాళీ ఫైల్ / dev / null . లేకపోతే, ఆదేశించిన ఆదేశం మళ్లింపుల ద్వారా సవరించబడిన కాల్ షెల్ యొక్క ఫైల్ సూచికలను పొందుపరుస్తుంది.