బాష్ సబ్‌షెల్‌లు

Bas Sab Sel Lu



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

సబ్‌షెల్ యొక్క విభిన్న ఉదాహరణలు

సబ్‌షెల్‌లో స్క్రిప్ట్‌ను అమలు చేసే వివిధ మార్గాలు ట్యుటోరియల్‌లోని ఈ భాగంలో చూపబడ్డాయి.

ఉదాహరణ 1: సింగిల్ కోట్ మరియు డబుల్ కోట్ ఉపయోగించి సబ్‌షెల్‌ను అమలు చేయండి

ప్రస్తుత తేదీ మరియు సమయాన్ని ముద్రించే క్రింది స్క్రిప్ట్‌తో బాష్ ఫైల్‌ను సృష్టించండి. తరువాత, $strVal వేరియబుల్ సింగిల్ కోట్‌లు మరియు డబుల్ కోట్‌లలో సబ్‌షెల్ స్క్రిప్ట్‌ను జతచేయడం ద్వారా ముద్రించబడుతుంది.







#!/బిన్/బాష్

#సబ్‌షెల్‌లో `తేదీ` ఆదేశాన్ని ముద్రించండి

ప్రతిధ్వని 'నేడు `తేదీ` '

#స్ట్రింగ్ వేరియబుల్‌ను నిర్వచించండి

strVal = 'బాష్ సబ్‌షెల్'

#ఒకే కోట్‌లను ఉపయోగించి సబ్‌షెల్‌లో వేరియబుల్‌ను ప్రింట్ చేయండి

ప్రతిధ్వని 'సింగిల్ కోట్‌ల అవుట్‌పుట్:' '$(ఎకో $strVal)'

#డబుల్ కోట్‌లను ఉపయోగించి సబ్‌షెల్‌లో వేరియబుల్‌ను ప్రింట్ చేయండి

ప్రతిధ్వని 'డబుల్ కోట్‌ల అవుట్‌పుట్:' ' $(ఎకో $strVal) '

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





ఉదాహరణ 2: సబ్‌షెల్‌ని ఉపయోగించి ప్రత్యేక పొడిగింపు యొక్క అన్ని ఫైల్‌లను శోధించండి

వినియోగదారు నుండి ఫైల్ పొడిగింపును ఇన్‌పుట్‌గా తీసుకునే కింది స్క్రిప్ట్‌తో Bash ఫైల్‌ను సృష్టించండి. తరువాత, నిర్దిష్ట పొడిగింపు యొక్క అన్ని ఫైల్‌లను శోధించడానికి “ls” ఆదేశం సబ్‌షెల్‌లో అమలు చేయబడుతుంది.





#!/బిన్/బాష్

ప్రతిధ్వని -ఎన్ 'ఫైల్ పొడిగింపు పేరును నమోదు చేయండి:'

#శోధించబడే ఫైల్ పొడిగింపు పేరుని తీసుకోండి

చదవండి ext

#ఇన్‌పుట్ విలువను తనిఖీ చేయండి

ఉంటే [ [ $ext == '' ] ] ; అప్పుడు

#ముద్రణ దోష సందేశం

ప్రతిధ్వని 'ఎటువంటి పొడిగింపు ఇవ్వబడలేదు.'

లేకపోతే

ప్రతిధ్వని 'దీనితో ఫైల్ పేర్లు $ext పొడిగింపు:'

#ఇచ్చిన పొడిగింపుతో అన్ని ఫైల్ పేర్లను ముద్రించండి

ప్రతిధ్వని ' $( echo `ls *.$ext` ) '

ఉంటుంది

“txt” ఇన్‌పుట్‌తో స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత క్రింది అవుట్‌పుట్ కనిపిస్తుంది. అవుట్‌పుట్ ప్రకారం, ప్రస్తుత స్థానంలో మూడు టెక్స్ట్ ఫైల్‌లు ఉన్నాయి:



ఖాళీ విలువతో స్క్రిప్ట్‌ను అమలు చేసిన తర్వాత క్రింది అవుట్‌పుట్ కనిపిస్తుంది:

ఉదాహరణ 3: సబ్‌షెల్‌లో అంకగణిత వ్యక్తీకరణను అమలు చేయండి

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

#!/బిన్/బాష్

#పేరెంట్ షెల్ వేరియబుల్‌ని నిర్వచించండి

సంఖ్య = 10

#పేరెంట్ షెల్ యొక్క వేరియబుల్ ఆధారంగా ఫలితాన్ని ముద్రించండి

( ( ఫలితం = $సంఖ్య + 5 ) )

ప్రతిధ్వని 'మొత్తం $సంఖ్య +5= $ఫలితం '

#పేరెంట్ షెల్ యొక్క అదే పేరుతో సబ్‌షెల్ వేరియబుల్‌ను సృష్టించండి

( సంఖ్య = ఇరవై ; ( ( ఫలితం = $సంఖ్య + 10 ) ) ; ప్రతిధ్వని 'మొత్తం $సంఖ్య +5= $ఫలితం ' )

#పేరెంట్ షెల్ యొక్క వేరియబుల్ ఆధారంగా ఫలితాన్ని మళ్లీ ముద్రించండి

ప్రతిధ్వని 'మొత్తం $సంఖ్య +5= $ఫలితం '

స్క్రిప్ట్‌ని అమలు చేసిన తర్వాత క్రింది అవుట్‌పుట్ కనిపిస్తుంది. మొదటి మరియు చివరి అవుట్‌పుట్‌లు ప్రధాన షెల్ యొక్క ఫలితాన్ని చూపుతాయి. రెండవ అవుట్‌పుట్ సబ్‌షెల్ ఫలితాన్ని చూపుతుంది. ప్రధాన షెల్ యొక్క వేరియబుల్ సబ్‌షెల్ యొక్క వేరియబుల్ ద్వారా సవరించబడలేదు:

ఉదాహరణ 4: సబ్‌షెల్‌లో బహుళ ఆదేశాలను అమలు చేయండి

కింది స్క్రిప్ట్‌తో బాష్ ఫైల్‌ను సృష్టించండి, అది “echo” కమాండ్ యొక్క అవుట్‌పుట్‌ను “sed” కమాండ్‌లోకి పంపుతుంది, అది సరిపోలే స్ట్రింగ్ విలువను మరొక స్ట్రింగ్‌తో భర్తీ చేస్తుంది. “ఎకో” కమాండ్ యొక్క అవుట్‌పుట్ “జావాస్క్రిప్ట్”. కాబట్టి, ఈ విలువ 'జావా' మరియు 'జావాస్క్రిప్ట్' తో పోల్చబడింది. సరిపోలిక కనుగొనబడితే, సరిపోలే స్ట్రింగ్‌లు 'రకం' స్ట్రింగ్‌తో భర్తీ చేయబడతాయి.

#!/బిన్/బాష్

# స్ట్రింగ్ విలువను నిర్వచించండి

strVal = 'జావాస్క్రిప్ట్'

#ఒరిజినల్ స్ట్రింగ్ విలువను ప్రింట్ చేయండి

ప్రతిధ్వని 'స్ట్రింగ్ విలువ: $strVal '

#సబ్‌షెల్ విలువను ముద్రించండి

ప్రతిధ్వని -ఎన్ 'సబ్‌షెల్ విలువ:'

ప్రతిధ్వని ' $(ఎకో $strVal | సెడ్ 'లు|జావా|జావాస్క్రిప్ట్ టైప్|') '

స్క్రిప్ట్‌ని అమలు చేసిన తర్వాత క్రింది అవుట్‌పుట్ కనిపిస్తుంది. అవుట్‌పుట్ ప్రకారం, “జావా” స్ట్రింగ్ స్థానంలో “టైప్” స్ట్రింగ్ వస్తుంది. సబ్‌షెల్ యొక్క అవుట్‌పుట్ “జావాస్క్రిప్ట్ టైప్‌స్క్రిప్ట్”:


ముగింపు

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