షెల్ స్క్రిప్టింగ్ అంటే ఏమిటి మరియు మీరు దానిని ఎందుకు ఉపయోగించాలి

షెల్ స్క్రిప్టింగ్ అంటే ఏమిటి మరియు మీరు దానిని ఎందుకు ఉపయోగించాలి

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





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





1. షెల్ చరిత్ర

1970 లలో యునిక్స్‌తో ప్రారంభించి, అనే షెల్ ప్రోగ్రామ్ ఉంది V6 షెల్ కెన్ థామ్సన్ ద్వారా అభివృద్ధి చేయబడింది. ఇది ఇంటరాక్టివ్ షెల్ మరియు స్క్రిప్టింగ్ సామర్థ్యం లేదు.





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

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



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

చిత్రాలను ఒకటిగా ఎలా తయారు చేయాలి

ఈ ఆర్టికల్లో, మేము షెల్ స్క్రిప్టింగ్ గురించి వివరిస్తాము బాష్ షెల్ .





2. షెల్ స్క్రిప్ట్ అమలు చేయడం

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

నమూనా షెల్ స్క్రిప్ట్:





echo 'hello world'

దీన్ని ఈ క్రింది విధంగా అమలు చేయండి:

$ bash hello.sh
# prints
hello world

గమనిక: షెల్‌కు LF అక్షరాలు (లైన్-ఫీడ్) ద్వారా లైన్‌లను రద్దు చేయడం అవసరం. మీరు మీ షెల్ స్క్రిప్ట్‌ను విండోస్‌లో వ్రాసి, దానిని నేరుగా లైనక్స్ సిస్టమ్‌లో అమలు చేయడానికి ప్రయత్నిస్తే, మీరు లోపాలను ఎదుర్కొంటారు. విండోస్ CR-LF కలయికను ఉపయోగిస్తుంది (క్యారేజ్-రిటర్న్-లైన్-ఫీడ్) లైన్ రద్దు కోసం. దీనిని LF కి మాత్రమే మార్చాలి. దీన్ని చేయడానికి మార్గాల కోసం మీ Windows ఎడిటర్‌ని తనిఖీ చేయండి.

షెల్ స్క్రిప్ట్‌ను నేరుగా కమాండ్‌గా అమలు చేయడానికి మరొక మార్గం ఉంది. కింది పంక్తిని చొప్పించండి (ది హాష్ బ్యాంగ్ డిక్లరేషన్) మీ షెల్ స్క్రిప్ట్ యొక్క మొదటి లైన్.

నాకు ఎంత హార్డ్ డ్రైవ్ స్థలం కావాలి
#!/bin/bash

ఈ మార్పుతో, మా సాధారణ షెల్ స్క్రిప్ట్ ఇప్పుడు:

#!/bin/bash
echo 'hello world'

ఇప్పుడు, మీరు స్క్రిప్ట్ ఫైల్‌ను కింది విధంగా ఎగ్జిక్యూటబుల్ చేయాల్సి ఉంటుంది:

$ chmod +x hello.sh

ఈ సమయంలో, మీరు షెల్‌ను ప్రస్తావించకుండా నేరుగా స్క్రిప్ట్ ఫైల్‌ను అమలు చేయవచ్చు.

$ hello.sh
# prints
hello world

షెల్ స్క్రిప్ట్‌లను ఉపయోగించడం వల్ల కలిగే కొన్ని ప్రయోజనాలను ఇప్పుడు చూద్దాం.

3. టాస్క్ ఆటోమేషన్

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

  • ఆర్కైవ్ చేయండి మరియు ప్రతిరోజూ ఒక ఫైల్ లేదా ఫోల్డర్‌ను a కి అప్‌లోడ్ చేయండి క్లౌడ్ స్టోరేజ్ సౌకర్యం S3 వంటివి.
  • ప్రతిరోజూ పెరుగుతున్న లాగ్ ఫైల్‌లను కుదించండి.
  • స్టాక్ ధరలను పొందండి, పొందిన డేటాను అన్వయించండి మరియు కొన్ని షరతులు నెరవేరినప్పుడు ఇమెయిల్ లేదా SMS ని ట్రిగ్గర్ చేయండి (చాలా ఎక్కువ లేదా చాలా తక్కువ ధరలు).

4. బహుళ ఆదేశాలను కలపడం

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

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

కిందిది నమూనా షెల్ స్క్రిప్ట్, /etc/ప్రొఫైల్ , ఒక యూజర్ లాగిన్ అయిన ప్రతిసారి అమలు చేయబడుతుంది. ఈ ఆదేశాలను చేతితో టైప్ చేయడాన్ని ఊహించండి!

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).
if [ '$PS1' ]; then
if [ '$BASH' ] && [ '$BASH' != '/bin/sh' ]; then
# The file bash.bashrc already sets the default PS1.
# PS1='h:w$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ '`id -u`' -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi
# The default umask is now handled by pam_umask.
# See pam_umask(8) and /etc/login.defs.
if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

5. అభివృద్ధి చేయడం సులభం

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

సిస్టమ్ కాల్‌లను ప్రారంభించడం, డేటా స్ట్రక్చర్‌లను తారుమారు చేయడం వంటి చాలా తక్కువ స్థాయి ఆపరేషన్ కోసం C/C ++ ప్రోగ్రామ్‌లు ఉత్తమం.

6. పారదర్శకత

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

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

7. పోర్టబుల్

కు షెల్ స్క్రిప్ట్ ఇతర యునిక్స్ మరియు యునిక్స్ లాంటి ఆపరేటింగ్ సిస్టమ్‌లకు బదిలీ చేయవచ్చు మరియు అమలు చేయవచ్చు (షెల్ కూడా ఉంటే). X86, MIPS, Sparc, మొదలైన విభిన్న నిర్మాణాల నుండి షెల్ స్క్రిప్ట్‌ను బదిలీ చేసినప్పుడు కూడా, C/C ++ ప్రోగ్రామ్‌ల కంటే షెల్ స్క్రిప్ట్‌లు చాలా పోర్టబుల్‌గా ఉంటాయి.

C/C ++ ప్రోగ్రామ్‌ను బదిలీ చేయడానికి మరియు మరొక సిస్టమ్‌లో ఉపయోగించడానికి ఏకైక మార్గం సోర్స్ కోడ్‌ను కాపీ చేయడం, ప్రోగ్రామ్‌ను రూపొందించడం మరియు దానిని అమలు చేయడానికి ప్రయత్నించడం. అప్పుడు కూడా, అది ఆర్కిటెక్చర్-నిర్దిష్ట కోడ్‌ని ఉపయోగిస్తే అది ఆశించిన విధంగా పనిచేయకపోవచ్చు.

ఇప్పుడు మీకు షెల్ స్క్రిప్ట్‌లు మరియు వాటి యొక్క అనేక ప్రయోజనాలు అనే ఆలోచన ఉంది, మీరు వాటిని మీ పనుల కోసం ఉపయోగించాలనుకోవడం లేదా? వాటిని ఉపయోగించినప్పుడు మీరు ఏ సమస్యలను ఎదుర్కొన్నారు? దయచేసి దిగువ వ్యాఖ్యలలో మాకు తెలియజేయండి.

కంప్యూటర్ భాగాలను విక్రయించడానికి ఉత్తమ ప్రదేశం
షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ మీ వర్చువల్‌బాక్స్ లైనక్స్ మెషిన్‌లను సూపర్‌ఛార్జ్ చేయడానికి 5 చిట్కాలు

వర్చువల్ మెషీన్స్ అందించే పేలవమైన పనితీరుతో విసిగిపోయారా? మీ వర్చువల్‌బాక్స్ పనితీరును పెంచడానికి మీరు ఏమి చేయాలో ఇక్కడ ఉంది.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • లైనక్స్ బాష్ షెల్
రచయిత గురుంచి జై శ్రీధర్(17 కథనాలు ప్రచురించబడ్డాయి) జే శ్రీధర్ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి