#01. బాష్ స్క్రిప్ట్ అంటే ఏమిటి?
బాష్ స్క్రిప్ట్ అనేది షెల్ ప్రోగ్రామింగ్ లాంగ్వేజ్. సాధారణంగా, సమయం మరియు కృషి అవసరమయ్యే ప్రతి ఆదేశాన్ని విడిగా టైప్ చేయడం ద్వారా మేము టెర్మినల్ నుండి అనేక రకాల షెల్ ఆదేశాలను అమలు చేస్తాము. ఒకవేళ మనం మళ్లీ అదే ఆదేశాలను అమలు చేయాల్సి వస్తే, టెర్మినల్ నుండి అన్ని ఆదేశాలను మళ్లీ అమలు చేయాలి. కానీ బాష్ స్క్రిప్ట్ ఉపయోగించి, మేము అనేక షెల్ కమాండ్ స్టేట్మెంట్లను ఒకే బాష్ ఫైల్లో స్టోర్ చేయవచ్చు మరియు ఏ సమయంలోనైనా ఒకే కమాండ్ ద్వారా ఫైల్ను ఎగ్జిక్యూట్ చేయవచ్చు. అనేక సిస్టమ్ అడ్మినిస్ట్రేషన్ సంబంధిత పనులు, ప్రోగ్రామ్ ఇన్స్టాలేషన్, డిస్క్ బ్యాకప్, మూల్యాంకనం లాగ్లు మొదలైనవి సరైన బాష్ స్క్రిప్ట్ ఉపయోగించి చేయవచ్చు.
#02. బాష్ స్క్రిప్ట్లను ఉపయోగించడం వల్ల కలిగే ప్రయోజనాలు ఏమిటి?
బాష్ స్క్రిప్ట్ క్రింద వివరించబడిన అనేక ప్రయోజనాలను కలిగి ఉంది:
- ఇది ఉపయోగించడం మరియు నేర్చుకోవడం సులభం.
- తరచుగా అమలు చేయాల్సిన అనేక మాన్యువల్ పనులు బాష్ స్క్రిప్ట్ రాయడం ద్వారా స్వయంచాలకంగా చేయబడతాయి.
- బహుళ షెల్ ఆదేశాల క్రమం ఒకే ఆదేశం ద్వారా అమలు చేయబడుతుంది.
- ఒక లైనక్స్ ఆపరేటింగ్ సిస్టమ్లో వ్రాసిన బాష్ స్క్రిప్ట్ ఇతర లైనక్స్ ఆపరేటింగ్ సిస్టమ్లో సులభంగా అమలు చేయగలదు. కాబట్టి, ఇది పోర్టబుల్.
- ఇతర ప్రోగ్రామింగ్ భాషల కంటే బాష్లో డీబగ్ చేయడం సులభం.
- టెర్మినల్లో ఉపయోగించే కమాండ్-లైన్ వాక్యనిర్మాణం మరియు ఆదేశాలు బాష్ స్క్రిప్ట్లో ఉపయోగించే ఆదేశాలు మరియు వాక్యనిర్మాణం వలె ఉంటాయి.
- ఇతర స్క్రిప్ట్ ఫైళ్లతో లింక్ చేయడానికి బాష్ స్క్రిప్ట్ ఉపయోగించవచ్చు.
#03. బాష్ స్క్రిప్ట్ల యొక్క ప్రతికూలతలను పేర్కొనండి
బాష్ స్క్రిప్ట్ యొక్క కొన్ని ప్రతికూలతలు క్రింద పేర్కొనబడ్డాయి:
- ఇది ఇతర భాషల కంటే నెమ్మదిగా పనిచేస్తుంది.
- సరికాని స్క్రిప్ట్ మొత్తం ప్రక్రియను దెబ్బతీస్తుంది మరియు సంక్లిష్టమైన దోషాన్ని సృష్టిస్తుంది.
- ఇది పెద్ద మరియు క్లిష్టమైన అప్లికేషన్ను అభివృద్ధి చేయడానికి తగినది కాదు.
- ఇతర ప్రామాణిక ప్రోగ్రామింగ్ భాషలతో పోలిస్తే ఇది తక్కువ డేటా నిర్మాణాన్ని కలిగి ఉంటుంది.
#04. బాష్లో ఏ రకమైన వేరియబుల్స్ ఉపయోగించబడతాయి?
బాష్ స్క్రిప్ట్లో రెండు రకాల వేరియబుల్స్ ఉపయోగించవచ్చు. ఇవి:
సిస్టమ్ వేరియబుల్స్
లైనక్స్ ఆపరేటింగ్ సిస్టమ్ ద్వారా ముందుగా నిర్వచించబడిన మరియు నిర్వహించబడే వేరియబుల్స్ సిస్టమ్ వేరియబుల్స్ అని పిలువబడతాయి. ఈ రకమైన వేరియబుల్స్ ఎల్లప్పుడూ పెద్ద అక్షరం ద్వారా ఉపయోగించబడతాయి. అవసరాల ఆధారంగా ఈ వేరియబుల్స్ యొక్క డిఫాల్ట్ విలువలను మార్చవచ్చు.
`సెట్`,` ఎన్వీ` మరియు ` printenv సిస్టమ్ వేరియబుల్స్ జాబితాను ముద్రించడానికి ఆదేశాలను ఉపయోగించవచ్చు.
ఉదాహరణ:
#!/బిన్/బాష్
# ప్రింటింగ్ సిస్టమ్ వేరియబుల్స్
#ప్రింట్ బాష్ షెల్ పేరు
బయటకు విసిరారు $ బాష్
# ప్రింట్ బాష్ షెల్ వెర్షన్
బయటకు విసిరారు $ BASH_VERSION
# ప్రింట్ హోమ్ డైరెక్టరీ పేరు
బయటకు విసిరారు $ హోమ్
వినియోగదారు నిర్వచించిన వేరియబుల్
వినియోగదారులు సృష్టించిన మరియు నిర్వహించే వేరియబుల్స్ను యూజర్-నిర్వచించిన వేరియబుల్స్ అంటారు. వాటిని స్థానిక వేరియబుల్స్ అని కూడా అంటారు. ఈ రకమైన వేరియబుల్స్ చిన్న అక్షరాలు లేదా పెద్ద అక్షరాలు లేదా పెద్ద అక్షరాలు మరియు చిన్న అక్షరాలు రెండింటినీ ఉపయోగించి ప్రకటించబడతాయి. అయితే సిస్టమ్ వేరియబుల్స్ నుండి వేరియబుల్స్ని వేరు చేయడానికి అన్ని పెద్ద అక్షరాలను ఉపయోగించడం మానుకోవడం మంచిది.
ఉదాహరణ:
ఒకదానిపై=100
బయటకు విసిరారు $ num
#05. బాష్లో వేరియబుల్స్ను డిక్లేర్ చేయడం మరియు తొలగించడం ఎలా?
డేటా రకం ద్వారా లేదా డేటా రకం లేకుండా వేరియబుల్ను బాష్లో ప్రకటించవచ్చు. ఏదైనా బాష్ వేరియబుల్ లేకుండా ప్రకటించబడితే ప్రకటించండి ఆదేశం, అప్పుడు వేరియబుల్ ఒక స్ట్రింగ్గా పరిగణించబడుతుంది. తో బాష్ వేరియబుల్ ప్రకటించబడింది ప్రకటించండి సమయ ప్రకటనలో వేరియబుల్ యొక్క డేటా రకాన్ని నిర్వచించడానికి ఆదేశం.
- ఆర్ , -i, -a, -A, -l, -u, -t మరియు –X ఎంపికలను దీనితో ఉపయోగించవచ్చు ప్రకటించండి వివిధ డేటా రకాలతో ఒక వేరియబుల్ ప్రకటించడానికి ఆదేశం.
ఉదాహరణ:
#!/బిన్/బాష్#ఏ రకం లేకుండా వేరియబుల్ని ప్రకటించండి
ఒకదానిపై=10
#విలువలు కలపబడతాయి కానీ జోడించబడవు
ఫలితం=$ num+ఇరవై
బయటకు విసిరారు $ ఫలితం
#పూర్ణాంక రకంతో వేరియబుల్ని ప్రకటించండి
ప్రకటించండి -ఐ ఒకదానిపై=10
#విలువలు జోడించబడతాయి
ప్రకటించండి -ఐ ఫలితం= సంఖ్య+ఇరవై
బయటకు విసిరారు $ ఫలితం
సెట్ చేయలేదు ఏదైనా బాష్ వేరియబుల్ను తొలగించడానికి కమాండ్ ఉపయోగించబడుతుంది. వేరియబుల్ ఉపయోగించిన తర్వాత ప్రాప్యత చేయబడదు లేదా నిర్వచించబడదు సెట్ చేయలేదు కమాండ్
ఉదాహరణ:
#!/బిన్/బాష్p='లైనక్స్ సూచన'
బయటకు విసిరారు $ str
సెట్ చేయలేదు $ str
బయటకు విసిరారు $ str
#06. బాష్ స్క్రిప్ట్లో వ్యాఖ్యలను ఎలా జోడించాలి?
సింగిల్ లైన్ మరియు మల్టీ-లైన్ వ్యాఖ్యలను బాష్ స్క్రిప్ట్లో ఉపయోగించవచ్చు. ' # 'సింగిల్-లైన్ వ్యాఖ్య కోసం చిహ్నం ఉపయోగించబడుతుంది. '<<’ డీలిమిటర్తో గుర్తు మరియు ':' సింగిల్ (‘) తో బహుళ-లైన్ వ్యాఖ్యను జోడించడానికి ఉపయోగిస్తారు.
ఉదాహరణ:
#!/బిన్/బాష్#వచనాన్ని ముద్రించండి [సింగిల్ లైన్ వ్యాఖ్య]
బయటకు విసిరారు 'బాష్ ప్రోగ్రామింగ్'
<
రెండు సంఖ్యల [మల్టీలైన్ వ్యాఖ్య]
అదనపు వ్యాఖ్య
ఒకదానిపై=25+35
బయటకు విసిరారు $ num
:'
రెండు కలపండి
స్ట్రింగ్ డేటా [మల్టీలైన్ కామెంట్]
'
స్ట్రింగ్='హలో'
బయటకు విసిరారు $ స్ట్రింగ్'ప్రపంచం'
#07. బాష్ స్క్రిప్ట్లో మీరు స్ట్రింగ్లను ఎలా మిళితం చేయవచ్చు?
స్ట్రింగ్ విలువలను బాష్లో వివిధ రకాలుగా కలపవచ్చు. సాధారణంగా, స్ట్రింగ్ విలువలు కలిసి ఉంచడం ద్వారా కలుపుతారు కానీ స్ట్రింగ్ డేటాను కలపడానికి బాష్లో ఇతర మార్గాలు ఉన్నాయి.
ఉదాహరణ:
#!/బిన్/బాష్#వేరియబుల్స్ ప్రారంభించండి
str1='PHP'
str2='బాష్'
str3='పెర్ల్'
# స్ట్రింగ్ను స్పేస్తో కలిపి ప్రింట్ చేయండి
బయటకు విసిరారు $ str1 $ str2 $ str3
#అన్ని వేరియబుల్స్ కలిపి మరో వేరియబుల్లో స్టోర్ చేయండి
p='$ str1,$ str2మరియు$ str3'
#స్ట్రింగ్ యొక్క ప్రస్తుత విలువతో ఇతర స్ట్రింగ్ డేటాను కలపండి
str + ='స్క్రిప్టింగ్ భాషలు'
#స్ట్రింగ్ను ముద్రించండి
బయటకు విసిరారు $ str
#08. బాష్లో అవుట్పుట్ను ముద్రించడానికి ఏ ఆదేశాలు ఉపయోగించబడతాయి?
`ప్రతిధ్వని ' మరియు `printf` బాష్లో అవుట్పుట్ను ముద్రించడానికి ఆదేశాలను ఉపయోగించవచ్చు. `ప్రతిధ్వని `కమాండ్ సాధారణ అవుట్పుట్ ప్రింట్ చేయడానికి ఉపయోగించబడుతుంది మరియు `printf` ఫార్మాట్ చేసిన అవుట్పుట్ను ప్రింట్ చేయడానికి కమాండ్ ఉపయోగించబడుతుంది.
ఉదాహరణ:
#!/బిన్/బాష్#వచనాన్ని ముద్రించండి
బయటకు విసిరారు 'LinuxHint కి స్వాగతం'
సైట్='linuxhint.com'
#ఫార్మాట్ చేసిన వచనాన్ని ముద్రించండి
printf '%s ఒక ప్రముఖ బ్లాగ్ సైట్ n' $ సైట్
#09. బాష్లో టెర్మినల్ నుండి ఇన్పుట్ ఎలా తీసుకోవాలి?
`చదవండి` టెర్మినల్ నుండి ఇన్పుట్ తీసుకోవడానికి బాష్ స్క్రిప్ట్లో కమాండ్ ఉపయోగించబడుతుంది.
ఉదాహరణ:
#!/బిన్/బాష్#ముద్రణ సందేశం
బయటకు విసిరారు 'మీ పేరు రాయుము, మీ పేరు రాయండి'
#వినియోగదారు నుండి ఇన్పుట్ తీసుకోండి
చదవండిపేరు
# ఇతర స్ట్రింగ్తో $ పేరు విలువను ముద్రించండి
బయటకు విసిరారు 'మీ పేరు$ పేరు'
#10. బాష్లో కమాండ్-లైన్ ఆర్గ్యుమెంట్లను ఎలా ఉపయోగించాలి?
కమాండ్ లైన్ వాదనలు చదివి వినిపిస్తాయి $ 1, $ 2, $ 3 ... $ n వేరియబుల్స్. బాష్ స్క్రిప్ట్ను అమలు చేసేటప్పుడు టెర్మినల్లో కమాండ్-లైన్ ఆర్గ్యుమెంట్ విలువలు అందించబడతాయి. $ 1 మొదటి వాదన చదవడానికి ఉపయోగించబడుతుంది, $ 2 రెండవ వాదన మరియు మొదలైనవి చదవడానికి ఉపయోగిస్తారు.
ఉదాహరణ:
#!/బిన్/బాష్#ఏదైనా వాదన అందించబడిందో లేదో తనిఖీ చేయండి
ఉంటే [[ $ # -ఎక్యూ 0 ]];అప్పుడు
బయటకు విసిరారు 'ఎటువంటి వాదన ఇవ్వబడలేదు.'
బయటకి దారి 0
ఉంటుంది
#మొదటి ఆర్గ్యుమెంట్ విలువను స్టోర్ చేయండి
రంగు=$ 1
# ఇతర స్ట్రింగ్తో వాదనను ముద్రించండి
printf 'మీకు ఇష్టమైన రంగు %s n' $ రంగు
#11. బాష్ బలహీనంగా టైప్ చేసిన భాషనా? ఎందుకు?
అవును, వేరియబుల్ డిక్లరేషన్ సమయంలో డేటా రకాన్ని ప్రకటించాల్సిన అవసరం లేనందున బాష్ బలహీనంగా లేదా వదులుగా టైప్ చేసిన భాషగా పరిగణించబడుతుంది. అన్ని బాష్ వేరియబుల్స్ డిఫాల్ట్గా స్ట్రింగ్గా పరిగణించబడతాయి మరియు ప్రస్తుత విలువ ఆధారంగా వేరియబుల్ రకం సెట్ చేయబడుతుంది. డేటా రకాలతో బాష్ వేరియబుల్స్ ఉపయోగించడం ద్వారా నిర్వచించవచ్చు ప్రకటించండి నిర్దిష్ట ఎంపికతో ఆదేశం. కానీ డేటా రకాలను నిర్వచించే ఎంపికలు పరిమితం మరియు అన్ని రకాల డేటాకు మద్దతు ఇవ్వవు. ఉదాహరణకి, తేలుతాయి ఉపయోగించడం ద్వారా డేటా రకాన్ని ప్రకటించలేము ప్రకటించండి కమాండ్
ఉదాహరణ:
#!/బిన్/బాష్#$ MyVar డేటా రకం డిఫాల్ట్గా స్ట్రింగ్
myVar=29
# వేరియబుల్ ప్రింట్ చేయండి
బయటకు విసిరారు $ myVar
# విలువ 67 తో పూర్ణాంక వేరియబుల్ $ సంఖ్యను ప్రకటించండి
ప్రకటించండి -ఐ సంఖ్య=67
#వేరియబుల్ను ముద్రించండి
బయటకు విసిరారు $ సంఖ్య
# స్ట్రింగ్ డేటాను సంఖ్యా చరరాశికి కేటాయించండి. కింది లైన్ జనరేట్ చేస్తుంది
# వాక్యనిర్మాణ లోపం మరియు $ సంఖ్య విలువ మారదు
సంఖ్య='నాకు బాష్ అంటే ఇష్టం'
బయటకు విసిరారు $ సంఖ్య
#12. ఫైల్ యొక్క ప్రతి లైన్ నుండి రెండవ పదం లేదా కాలమ్ ఎలా చదవాలి?
ఫైల్ యొక్క రెండవ పదం లేదా నిలువు వరుసను బాష్ స్క్రిప్ట్లో వివిధ బాష్ ఆదేశాలను సులభంగా ఉపయోగించడం ద్వారా చదవవచ్చు, ఉదాహరణకు `awk`,` sed` మొదలైనవి. `అవాక్` కింది ఉదాహరణలో చూపబడింది.
ఉదాహరణ: Course.txt ఫైల్ కింది కంటెంట్ను కలిగి ఉందని అనుకుందాం మరియు మేము ఈ ఫైల్ యొక్క ప్రతి పంక్తిలోని రెండవ పదాన్ని మాత్రమే ముద్రించాము.
CSE303 డేటా నిర్మాణం
CSE408 యునిక్స్ ప్రోగ్రామింగ్#!/బిన్/బాష్
# కింది స్క్రిప్ట్ course.txt ఫైల్ నుండి ప్రతి పంక్తిలోని రెండవ పదాన్ని ప్రింట్ చేస్తుంది.
# పిల్లి కమాండ్ యొక్క అవుట్పుట్ రెండవ పదాన్ని చదివే ఏవ్ కమాండ్కు వెళుతుంది
ప్రతి లైన్లో #.
బయటకు విసిరారు 'పిల్లికోర్సు. టెక్స్ట్| అవాక్ '{ప్రింట్ $ 2}''
#13. బాష్లో అర్రే వేరియబుల్ని డిక్లేర్ చేయడం మరియు యాక్సెస్ చేయడం ఎలా?
సంఖ్యా మరియు అనుబంధ శ్రేణులు రెండూ బాష్ స్క్రిప్ట్ ద్వారా మద్దతిస్తాయి. అర్రే వేరియబుల్ డిక్లేర్ కమాండ్తో మరియు లేకుండా డిక్లేర్ చేయవచ్చు. -వరకు సంఖ్యా శ్రేణిని నిర్వచించడానికి డిక్లేర్ కమాండ్తో ఎంపిక ఉపయోగించబడుతుంది -టూ బాష్లో అనుబంధ శ్రేణిని నిర్వచించడానికి డిక్లేర్ స్టేట్మెంట్తో ఎంపిక ఉపయోగించబడుతుంది. డిక్లేర్ ఆదేశం లేకుండా, సంఖ్యా శ్రేణిని బాష్లో మాత్రమే నిర్వచించవచ్చు.
ఉదాహరణ:
#!/బిన్/బాష్# సాధారణ సంఖ్యా శ్రేణిని ప్రకటించండి
arr1=(CodeIgniter Laravel ReactJS)
# $ Arr1 యొక్క మొదటి మూలకం విలువను ముద్రించండి
బయటకు విసిరారు $ {arr1 [0] {
# డిక్లేర్ ఆదేశాన్ని ఉపయోగించి సంఖ్యా శ్రేణిని ప్రకటించండి
ప్రకటించండి -వరకు arr2=(HTML CSS జావాస్క్రిప్ట్)
# $ Arr2 యొక్క రెండవ మూలకం విలువను ముద్రించండి
బయటకు విసిరారు $ {arr2 [1]}
# ప్రకటన ప్రకటనను ఉపయోగించి అనుబంధ శ్రేణిని ప్రకటించండి
ప్రకటించండి -టూ ఆర్ 3=( [ఫ్రేమ్వర్క్]= లారావెల్[CMS]= Wordpress[గ్రంధాలయం]= J క్వెరీ)
# $ Arr3 యొక్క మూడవ మూలకం విలువను ముద్రించండి
బయటకు విసిరారు $ {arr3 [లైబ్రరీ]}
శ్రేణిలోని అన్ని మూలకాలను ఏదైనా లూప్ లేదా ‘*’ చిహ్నాన్ని శ్రేణి సూచికగా ఉపయోగించడం ద్వారా యాక్సెస్ చేయవచ్చు.
#14. బాష్లో షరతులతో కూడిన స్టేట్మెంట్లను ఎలా ఉపయోగించవచ్చు?
చాలా ప్రోగ్రామింగ్ భాషలలో అత్యంత సాధారణ షరతులతో కూడిన ప్రకటన if-elseif-else ప్రకటన. యొక్క వాక్యనిర్మాణం if-elseif-else బాష్లో స్టేట్మెంట్ ఇతర ప్రోగ్రామింగ్ భాషల నుండి కొద్దిగా భిన్నంగా ఉంటుంది. 'ఉంటే' బాష్ స్క్రిప్ట్ మరియు ప్రతి రకంలో స్టేట్మెంట్ను రెండు విధాలుగా ప్రకటించవచ్చు 'ఉంటే' బ్లాక్ తప్పనిసరిగా మూసివేయబడాలి 'ఉండండి' . 'ఉంటే' స్టేట్మెంట్ను ఇతర ప్రోగ్రామింగ్ లాంగ్వేజ్ల వంటి మూడవ బ్రాకెట్లు లేదా మొదటి బ్రాకెట్ల ద్వారా నిర్వచించవచ్చు.
వాక్యనిర్మాణం:
కు.
అప్పుడు
ప్రకటనలు
ఉంటుంది
బి.
ఉంటే [పరిస్థితి];అప్పుడుప్రకటనలు1
లేకపోతే
ప్రకటన2
ఉంటుంది
సి.
ఉంటే [పరిస్థితి];అప్పుడుప్రకటన1
ఎలిఫ్[పరిస్థితి];అప్పుడు
ప్రకటన2
….
లేకపోతే
ప్రకటన n
ఉంటుంది
ఉదాహరణ:
#!/బిన్/బాష్# $ N కి విలువను కేటాయించండి
ఎన్=30
# $ 100 100 కంటే ఎక్కువ ఉందో లేదో తనిఖీ చేయండి
ఉంటే [ $ n -జిటి 100 ];అప్పుడు
బయటకు విసిరారు '$ n100 కంటే తక్కువ '
# $ N id 50 కంటే ఎక్కువ లేదా లేదో తనిఖీ చేయండి
ఎలిఫ్ [ $ n -జిటి యాభై ];అప్పుడు
బయటకు విసిరారు '$ n50 కంటే తక్కువ '
లేకపోతే
బయటకు విసిరారు '$ n50 కంటే తక్కువ '
ఉంటుంది
#15. బాష్లో విలువలను ఎలా పోల్చాలి?
విలువలను పోల్చడానికి ఆరు రకాల పోలిక ఆపరేటర్లను బాష్లో ఉపయోగించవచ్చు. డేటా రకాన్ని బట్టి బాష్లో ఈ ఆపరేటర్లను ఉపయోగించడానికి రెండు మార్గాలు ఉన్నాయి. ఇవి క్రింద పేర్కొనబడ్డాయి.
స్ట్రింగ్ పోలిక | పూర్ణాంక కొమరిసన్ | వివరణ |
== | -ఎక్యూ | ఇది సమానత్వాన్ని తనిఖీ చేయడానికి ఉపయోగించబడుతుంది |
! = | -పుట్టిన | ఇది అసమానతను తనిఖీ చేయడానికి ఉపయోగించబడుతుంది |
< | -లిట్ | ఇది ఉపయోగించబడుతుంది మొదటి విలువ రెండవ విలువ కంటే తక్కువగా ఉందో లేదో తనిఖీ చేయండి |
> | -జిటి | ఇది ఉపయోగించబడుతుంది మొదటి విలువ రెండవ విలువ కంటే ఎక్కువగా ఉందో లేదో తనిఖీ చేయండి |
<= | -ది | ఇది ఉపయోగించబడుతుంది మొదటి విలువ రెండవ విలువ కంటే తక్కువ లేదా సమానంగా ఉందో లేదో తనిఖీ చేయండి |
> = | -ఇవ్వండి | ఇది ఉపయోగించబడుతుంది మొదటి విలువ రెండవ విలువ కంటే ఎక్కువ లేదా సమానంగా ఉందో లేదో తనిఖీ చేయండి |
ఉదాహరణ:
#!/బిన్/బాష్# $ N ప్రారంభించండి
ఎన్=130
లేదా='కూడా'
# $ 100 100 కంటే ఎక్కువ లేదా సమానంగా ఉందా లేదా ‘–ge’ ని ఉపయోగించకుండా తనిఖీ చేయండి.
ఉంటే [ $ n -ఇవ్వండి 100 ];అప్పుడు
బయటకు విసిరారు '$ n100 'కంటే ఎక్కువ లేదా సమానం
లేకపోతే
బయటకు విసిరారు '$ n100 కంటే తక్కువ '
ఉంటుంది
# $ = '==' ఆపరేటర్ని ఉపయోగించి సరి లేదా బేసి అని తనిఖీ చేయండి
ఉంటే (( $ o=='కూడా' ));అప్పుడు
బయటకు విసిరారు 'సంఖ్య సరి'
లేకపోతే
బయటకు విసిరారు 'సంఖ్య అసాధారణమైనది'
ఉంటుంది
#16. బాష్లో if-elseif-else స్టేట్మెంట్లకు ప్రత్యామ్నాయంగా ఏ షరతులతో కూడిన స్టేట్మెంట్ను ఉపయోగించవచ్చు?
'కేసు' స్టేట్మెంట్ను ప్రత్యామ్నాయ టిపిగా ఉపయోగించవచ్చు if-elseif-if ప్రకటన. కోసం వాక్యనిర్మాణం 'కేసు' బాష్ స్క్రిప్ట్లలో స్టేట్మెంట్ భిన్నంగా ఉంటుంది స్విచ్-కేస్ ఇతర ప్రోగ్రామింగ్ భాషల ప్రకటన. 'కేసు' బ్లాక్ మూసివేయబడింది 'ఇసాక్' బాష్లో ప్రకటన. లేదు ' విరామం 'స్టేట్మెంట్ లోపల ఉపయోగించబడుతుంది' కేసు 'బ్లాక్ నుండి ముగించడానికి బ్లాక్.
వాక్యనిర్మాణం:
కేసు లోమ్యాచ్ నమూనా1)ఆదేశాలు;;
మ్యాచ్ నమూనా2)ఆదేశాలు;;
……
మ్యాచ్ నమూనా n)ఆదేశాలు;;
esac
ఉదాహరణ:
#!/బిన్/బాష్#వేరియబుల్ $ టికెట్ని ప్రారంభించండి
టికెట్=101
# $ టికెట్ విలువను 23, 101 మరియు 503 తో సరిపోల్చండి
కేసు $ టికెట్ లో
2. 3)
# విలువ 23 అయితే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'నీకు మొదటి బహుమతి వచ్చింది';;
101)
# విలువ 101 ఉంటే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'మీకు రెండవ బహుమతి వచ్చింది';;
503)
# విలువ 503 అయితే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'మీకు మూడో బహుమతి వచ్చింది';;
*)
విలువ 23, 101 మరియు 503 తో సరిపోలకపోతే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'క్షమించండి, తదుపరి సారి ప్రయత్నించండి'
బయటకి దారి 0;;
esac
#17. బాష్లో ఏ రకమైన ఉచ్చులు ఉపయోగించవచ్చు?
మూడు రకాల లూప్లకు బాష్ స్క్రిప్ట్ మద్దతు ఇస్తుంది. ఇవి అయితే, కోసం మరియు వరకు ఉచ్చులు. బాష్లోని లూప్లు లూప్ ప్రారంభంలో పరిస్థితిని తనిఖీ చేస్తాయి. కాగా షరతు నిజం అయ్యే వరకు లూప్ పనిచేస్తుంది మరియు వరకు షరతు తప్పుగా ఉండే వరకు లూప్ పనిచేస్తుంది. ఉపయోగించడానికి రెండు మార్గాలు ఉన్నాయి కోసం లూప్. ఒకటి సాధారణమైనది కోసం మూడు భాగాలను కలిగి ఉన్న లూప్ మరియు మరొకటి కోసం లూప్. ఈ మూడు లూప్ల ఉపయోగాలు క్రింది ఉదాహరణలో చూపబడ్డాయి.
ఉదాహరణ:
#!/బిన్/బాష్# $ N ప్రారంభించండి
ఎన్=5
# అయితే లూప్ ఉపయోగించి 5-1 స్క్వేర్ను లెక్కించండి
అయితే [ $ n -జిటి 0 ]
చేయండి
sqr= $((ఎన్*ఎన్))
బయటకు విసిరారు 'యొక్క చతురస్రం$ nఉంది$ sqr'
((n--))
పూర్తి
# లూప్ కోసం ఉపయోగించి 5-1 స్క్వేర్ను లెక్కించండి
కోసం (( i=5; i>0; నేను--))
చేయండి
sqr= $((i*i))
బయటకు విసిరారు 'యొక్క చతురస్రం$ iఉంది$ sqr'
పూర్తి
# $ X ప్రారంభించండి
x=5
లూప్ వరకు ఉపయోగించి 5-1 స్క్వేర్ను లెక్కించండి
వరకు [ $ x -ది 0 ]
చేయండి
sqr= $((x*x))
బయటకు విసిరారు 'యొక్క చతురస్రం$ xఉంది$ sqr'
((x--))
పూర్తి
#18. సబ్రౌటిన్లను ఎలా ప్రకటించవచ్చు మరియు బాష్లో పిలుస్తారు?
బాష్లో ఫంక్షన్ లేదా విధానాన్ని సబ్రౌటిన్ అంటారు. బాష్లో సబ్రౌటిన్ యొక్క ప్రకటన మరియు కాల్ ఇతర భాషల నుండి భిన్నంగా ఉంటుంది. ఇతర ప్రామాణిక ప్రోగ్రామింగ్ లాంగ్వేజ్ల వలె కాకుండా సబ్రౌటిన్లలో ఆర్గ్యుమెంట్ ప్రకటించబడదు. కానీ స్థానిక వేరియబుల్స్ ఉపయోగించి సబ్రౌటిన్లో నిర్వచించవచ్చు 'స్థానిక' కీవర్డ్.
ఉదాహరణ:
#!/బిన్/బాష్# ప్రపంచవ్యాప్తంగా ఉన్న వేరియబుల్ $ x మరియు $ y లను ప్రారంభించండి
x=10
మరియు=35
# ఫంక్షన్ని ప్రకటించండి
myFunc() {
# స్థానిక వేరియబుల్ $ x ని ప్రకటించండి
స్థానిక x=పదిహేను
# గ్లోబల్ వేరియబుల్ $ y ని తిరిగి కేటాయించండి
మరియు=25
# $ X మరియు $ y మొత్తాన్ని లెక్కించండి
తో= $((x + y))
# స్థానిక వేరియబుల్, $ x మరియు గ్లోబల్ వేరియబుల్, $ y మొత్తాన్ని ముద్రించండి
బయటకు విసిరారు 'మొత్తం$ xమరియు$ yసమానంగా$ z'
}
# ఫంక్షన్కు కాల్ చేయండి
myFunc
# గ్లోబల్ వేరియబుల్స్, $ x మరియు $ y మొత్తాన్ని ముద్రించండి
బయటకు విసిరారు 'మొత్తం$ xమరియు$ yసమానంగా$ z'
#19. బాష్లో స్ట్రింగ్ డేటాలోని కొంత భాగాన్ని ఎలా కట్ చేసి ప్రింట్ చేయాలి?
స్ట్రింగ్ డేటాలో కొంత భాగాన్ని కత్తిరించడానికి ఇతర భాషల వలె బాష్లో అంతర్నిర్మిత ఫంక్షన్ లేదు. కానీ పరామితి విస్తరణను ఉపయోగించి ఏదైనా స్ట్రింగ్ విలువను బాష్లో కట్ చేయవచ్చు. స్ట్రింగ్ డేటాలోని ఏదైనా భాగాన్ని కత్తిరించడానికి పెద్దప్రేగుతో వేరు చేయడం ద్వారా పారామీటర్ విస్తరణలో మూడు భాగాలను నిర్వచించవచ్చు. ఇక్కడ, మొదటి రెండు భాగాలు తప్పనిసరి మరియు చివరి భాగం ఐచ్ఛికం. మొదటి భాగంలో కట్ చేయడానికి ఉపయోగించే ప్రధాన స్ట్రింగ్ వేరియబుల్ ఉంటుంది, రెండవ భాగం స్ట్రింగ్ కట్ చేయబడే ప్రారంభ స్థానం మరియు మూడవ భాగం కటింగ్ స్ట్రింగ్ పొడవు. కట్టింగ్ విలువను తిరిగి పొందడానికి ప్రారంభ స్థానం తప్పనిసరిగా 0 నుండి లెక్కించబడాలి మరియు పొడవు ప్రధాన స్ట్రింగ్ యొక్క 1 నుండి లెక్కించబడాలి.
ఉదాహరణ:
#!/బిన్/బాష్# స్ట్రింగ్ విలువను $ స్ట్రింగ్గా ప్రారంభించండి
స్ట్రింగ్='పైథాన్ స్క్రిప్టింగ్ లాంగ్వేజ్'
# స్ట్రింగ్ విలువను 7 వ స్థానం నుండి స్ట్రింగ్ చివరి వరకు కత్తిరించండి
బయటకు విసిరారు $ {స్ట్రింగ్: 7}
# స్థానం 7 నుండి 9 అక్షరాల స్ట్రింగ్ విలువను కత్తిరించండి
బయటకు విసిరారు $ {స్ట్రింగ్: 7: 9}
# స్ట్రింగ్ విలువను 17 నుండి 20 కి తగ్గించండి
బయటకు విసిరారు $ {స్ట్రింగ్: 17: -4}
#20. బాష్లో అంకగణిత కార్యకలాపాలను నిర్వహించడానికి కొన్ని మార్గాలను పేర్కొనండి?
గణిత కార్యకలాపాలు బాష్లో అనేక విధాలుగా చేయవచ్చు. 'లెట్', 'ఎక్స్ప్ర్', 'బిసి' మరియు డబుల్ బ్రాకెట్లు బాష్లో అంకగణిత కార్యకలాపాలను నిర్వహించడానికి అత్యంత సాధారణ మార్గాలు. ఈ ఆదేశాల ఉపయోగాలు క్రింది ఉదాహరణలో చూపబడ్డాయి.
ఉదాహరణ:
#!/బిన్/బాష్# ఎక్స్ప్రర్ మరియు పారామీటర్ విస్తరణను ఉపయోగించి తీసివేతను లెక్కిస్తోంది
var1= $( expr 120-100 )
# ఫలితాన్ని ముద్రించండి
బయటకు విసిరారు $ var1
# లెట్ కమాండ్ ఉపయోగించి అదనంగా లెక్కించండి
వీలు var2=200+300
# ఫలితాన్ని ముద్రించండి
బయటకు విసిరారు $ var2
ఫలితాన్ని పొందడానికి 'bc' ఉపయోగించి విభజన విలువను లెక్కించి ముద్రించండి
# పాక్షిక విలువతో
బయటకు విసిరారు 'స్కేల్ = 2; 44/7 ' | bc
# డబుల్ బ్రాకెట్లను ఉపయోగించి గుణకారం యొక్క విలువను లెక్కించండి
var3= $(( 5*3 ))
# ఫలితాన్ని ముద్రించండి
బయటకు విసిరారు $ var3
#21. డైరెక్టరీ ఉందో లేదో తనిఖీ చేయడం లేదా బాష్ని ఉపయోగించకపోవడం ఎలా?
ఫైల్ లేదా డైరెక్టరీ ఉందో లేదో మరియు ఫైల్ రకాన్ని తనిఖీ చేయడానికి బాష్కు అనేక పరీక్ష ఆదేశాలు ఉన్నాయి. '-D' డైరెక్టరీ బాష్లో ఉందో లేదో తనిఖీ చేయడానికి షరతులతో కూడిన స్టేట్మెంట్గా డైరెక్టరీ పాత్తో ఆప్షన్ ఉపయోగించబడుతుంది. డైరెక్టరీ ఉనికిలో ఉంటే, అది నిజమైనదిగా తిరిగి వస్తుంది, లేకుంటే అది తప్పుగా తిరిగి వస్తుంది.
ఉదాహరణ:
#!/బిన్/బాష్# వేరియబుల్, $ పథంలో పాత్తో డైరెక్టరీని కేటాయించండి
మార్గం='/హోమ్/ఉబుంటు/టెంప్'
# డైరెక్టరీ ఉందో లేదో తనిఖీ చేయండి
ఉంటే [ -డి '$ మార్గం' ];అప్పుడు
# డైరెక్టరీ ఉంటే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'డైరెక్టరీ ఉంది'
లేకపోతే
# డైరెక్టరీ లేకపోతే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు 'డైరెక్టరీ లేదు'
ఉంటుంది
#22. అన్ని స్టేట్మెంట్లను అమలు చేయకుండా బాష్ స్క్రిప్ట్ ఎలా రద్దు చేయబడుతుంది?
ఉపయోగించి 'బయటకి దారి' ఆదేశం, అన్ని స్టేట్మెంట్లను అమలు చేయకుండా బాష్ స్క్రిప్ట్ను రద్దు చేయవచ్చు. కింది స్క్రిప్ట్ నిర్దిష్ట ఫైల్ ఉందో లేదో తనిఖీ చేస్తుంది. ఫైల్ ఉనికిలో ఉంటే, అది ఫైల్ యొక్క మొత్తం అక్షరాలను ప్రింట్ చేస్తుంది మరియు ఫైల్ లేనట్లయితే అది సందేశాన్ని చూపించడం ద్వారా స్క్రిప్ట్ను రద్దు చేస్తుంది.
ఉదాహరణ:
#!/బిన్/బాష్# ఫైల్ పేరును వేరియబుల్, $ ఫైల్ పేరుకు ప్రారంభించండి
ఫైల్ పేరు='course.txt'
# -F ఎంపికను ఉపయోగించి ఫైల్ ఉందో లేదో తనిఖీ చేయండి
ఉంటే [ -f '$ ఫైల్ పేరు' ];అప్పుడు
# ఫైల్ ఉంటే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు '$ ఫైల్ పేరుఉనికిలో ఉంది '
లేకపోతే
# ఫైల్ లేకపోతే సందేశాన్ని ముద్రించండి
బయటకు విసిరారు '$ ఫైల్ పేరుఉనికిలో లేదు '
# స్క్రిప్ట్ను రద్దు చేయండి
బయటకి దారి 1
ఉంటుంది
# ఫైల్ ఉన్నట్లయితే ఫైల్ పొడవును లెక్కించండి
పొడవు='wc -సి $ ఫైల్ పేరు'
# ఫైల్ పొడవును ముద్రించండి
బయటకు విసిరారు మొత్తం అక్షరాలు -$ పొడవు'
#23. బాష్లో బ్రేక్ మరియు కంటిన్యూ స్టేట్మెంట్ల ఉపయోగాలు ఏమిటి?
విరామం ఒక షరతు ఆధారంగా పూర్తి పునరావృతాన్ని పూర్తి చేయకుండా లూప్ నుండి ముగించడానికి స్టేట్మెంట్ ఉపయోగించబడుతుంది కొనసాగించండి ఒక షరతు ఆధారంగా కొన్ని స్టేట్మెంట్లను వదిలివేయడానికి స్టేట్మెంట్ లూప్లో ఉపయోగించబడుతుంది. యొక్క ఉపయోగాలు విరామం మరియు కొనసాగించండి ప్రకటనలు క్రింది ఉదాహరణలో వివరించబడ్డాయి.
ఉదాహరణ:
#!/బిన్/బాష్లూప్ను ప్రారంభించడానికి వేరియబుల్ $ i నుండి 0 వరకు ప్రారంభించండి
i=0
# లూప్ 10 సార్లు ఫోట్ అవుతుంది
అయితే [ $ i -ది 10 ]
చేయండి
# $ 1 విలువను 1 ద్వారా పెంచండి
((నేను ++))
# $ I విలువ 8 కి సమానమైతే, 'బ్రేక్' స్టేట్మెంట్ ఉపయోగించి లూప్ను ముగించండి
ఉంటే [ $ i -ఎక్యూ 8 ];అప్పుడు
విరామం;
ఉంటుంది
# $ I విలువ 6 కంటే ఎక్కువగా ఉంటే, లూప్ యొక్క చివరి స్టేట్మెంట్ను వదిలివేయండి
# స్టేట్మెంట్ స్టేట్మెంట్ ఉపయోగించడం ద్వారా
ఉంటే [ $ i -ఇవ్వండి 6 ];అప్పుడు
కొనసాగించండి;
ఉంటుంది
బయటకు విసిరారు 'i = ప్రస్తుత విలువ$ i'
పూర్తి
# లూప్ నుండి ముగించిన తర్వాత $ i విలువను ముద్రించండి
బయటకు విసిరారు 'ఇప్పుడు i = విలువ$ i'
#24. బాష్ ఫైల్ను ఎగ్జిక్యూటబుల్ చేయడం ఎలా?
ఎగ్జిక్యూటబుల్ బాష్ ఫైల్స్ ఉపయోగించి తయారు చేయవచ్చు 'Chmod' కమాండ్ ఎక్జిక్యూటబుల్ పర్మిషన్ ఉపయోగించి సెట్ చేయవచ్చు '+ X' లో chmod స్క్రిప్ట్ ఫైల్ పేరుతో కమాండ్. బాష్ ఫైల్స్ స్పష్టంగా లేకుండా అమలు చేయవచ్చు 'బాష్' ఆ ఫైల్ కోసం ఎగ్జిక్యూషన్ బిట్ సెట్ చేసిన తర్వాత కమాండ్.
ఉదాహరణ:
# అమలు బిట్ సెట్ చేయండి$chmod+ x filename.sh
# ఎక్జిక్యూటబుల్ ఫైల్ని రన్ చేయండి
$/filename.sh
#25. ఫైల్లను పరీక్షించడానికి ఉపయోగించే కొన్ని ఎంపికలను పేర్కొనండి
ఫైల్ని పరీక్షించడానికి బాష్లో అనేక ఎంపికలు అందుబాటులో ఉన్నాయి. కొన్ని ఎంపికలు క్రింద పేర్కొనబడ్డాయి.
ఎంపిక | వివరణ |
-f | ఫైల్ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది మరియు ఇది సాధారణ ఫైల్. |
-మరియు | ఫైల్ ఉనికిని పరీక్షించడానికి మాత్రమే ఇది ఉపయోగించబడుతుంది. |
-ఆర్ | ఫైల్ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది మరియు దానికి చదవడానికి అనుమతి ఉంది. |
-ఇన్ | ఫైల్ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది మరియు దానికి అనుమతి వ్రాయాలి. |
-x | ఫైల్ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది మరియు దానికి అమలు అనుమతి ఉంది. |
-డి | డైరెక్టరీ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది. |
-ది | ఫైల్ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది మరియు ఇది సింబాలిక్ లింక్. |
-ఎస్ | ఫైల్ ఉనికిని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది మరియు ఇది ఒక సాకెట్. |
-బి | ఫైల్ బ్లాక్ పరికరం అని పరీక్షించడానికి ఇది ఉపయోగించబడుతుంది. |
-ఎస్ | ఫైల్ సున్నా పరిమాణాలు కాదా అని తనిఖీ చేయడానికి ఇది ఉపయోగించబడుతుంది. |
-ఉదా | ఇది మొదటి ఫైల్ యొక్క కంటెంట్ని తనిఖీ చేయడానికి ఉపయోగించబడుతుంది, ఇది రెండో ఫైల్ కంటే కొత్తది. ఉదాహరణకు, ఫైల్ 1 -nt ఫైల్ 2 ఫైల్ 2 ఫైల్ 2 కంటే కొత్తది అని సూచిస్తుంది. |
-ఓట్ | మొదటి ఫైల్ యొక్క కంటెంట్ రెండవ ఫైల్ కంటే పాతది అని తనిఖీ చేయడానికి ఇది ఉపయోగించబడుతుంది. ఉదాహరణకు, ఫైల్ 1 -ఓట్ ఫైల్ 2 ఫైల్ 2 ఫైల్ 2 కంటే పాతదని సూచిస్తుంది. |
-ef | రెండు హార్డ్ లింక్లు ఒకే ఫైల్ని సూచిస్తాయో లేదో తనిఖీ చేయడానికి ఇది ఉపయోగించబడుతుంది. ఉదాహరణకు, ఫ్లింక్ 1 -ఈఎఫ్ ఫ్లింక్ 2 అంటే ఫ్లింక్ 1 మరియు ఫ్లింక్ 2 హార్డ్ లింక్లు మరియు రెండూ ఒకే ఫైల్ని సూచిస్తాయి. |
#26. 'Bc' అంటే ఏమిటి మరియు ఈ ఆదేశాన్ని బాష్లో ఎలా ఉపయోగించవచ్చు?
'Bc' యొక్క పూర్తి రూపం బాష్ కాలిక్యులేటర్ బాష్లో అంకగణిత కార్యకలాపాలను మరింత ఖచ్చితంగా నిర్వహించడానికి. ఉపయోగించడం ద్వారా బాష్లో ఏదైనా అంకగణిత ఆపరేషన్ జరిగితే పాక్షిక భాగం వదిలివేయబడుతుంది 'Expr' కమాండ్ పాక్షిక భాగాన్ని ఉపయోగించడం ద్వారా కూడా గుండ్రంగా చేయవచ్చు స్థాయి తో విలువ 'Bc' కమాండ్
ఉదాహరణ:
#!/బిన్/బాష్# భిన్న విలువ లేకుండా విభజనను లెక్కించండి
బయటకు విసిరారు '39 / 7 ' | bc
# పూర్తి భిన్న విలువతో విభజనను లెక్కించండి
బయటకు విసిరారు '39 / 7 ' | bc -ది
# దశాంశ బిందువు తర్వాత మూడు అంకెలతో విభజనను లెక్కించండి
బయటకు విసిరారు 'స్కేల్ = 3; 39/7 ' | bc
#27. మీరు బాష్లో ఫైల్ యొక్క నిర్దిష్ట పంక్తిని ఎలా ముద్రించవచ్చు?
బాష్లో నిర్దిష్ట పంక్తిని ముద్రించడానికి అనేక మార్గాలు ఉన్నాయి. ఎలా 'అవ్', 'సెడ్' మరియు 'తోక' కింది ఉదాహరణలో బాష్లో ఫైల్ యొక్క నిర్దిష్ట పంక్తిని ముద్రించడానికి ఆదేశాలను ఉపయోగించవచ్చు.
ఉదాహరణ:
#!/బిన్/బాష్# NR వేరియబుల్తో `awk` ఆదేశాన్ని ఉపయోగించి ఫైల్లోని మొదటి పంక్తిని చదవండి మరియు నిల్వ చేయండి
లైన్ 1='అవాక్ '{if (NR == 1) ప్రింట్ $ 0}'కోర్సు. టెక్స్ట్'
# లైన్ ప్రింట్ చేయండి
బయటకు విసిరారు $ లైన్ 1
#N ఎంపికతో `sed` ఆదేశాన్ని ఉపయోగించి ఫైల్ నుండి రెండవ పంక్తిని చదవండి
లైన్ 2='సెడ్ -n2p కోర్సు. టెక్స్ట్'
# లైన్ ప్రింట్ చేయండి
బయటకు విసిరారు $ లైన్ 2
#N ఎంపికతో `tail` ఆదేశాన్ని ఉపయోగించి ఫైల్ నుండి చివరి పంక్తిని చదవండి
లైన్ 3='తోక -n 1కోర్సు. టెక్స్ట్'
# ఫైల్ను ప్రింట్ చేయండి
బయటకు విసిరారు $ లైన్ 3
#28. IFS అంటే ఏమిటి?
IFS ఒక ప్రత్యేక షెల్ వేరియబుల్. పూర్తి రూపం IFS అంతర్గత ఫీల్డ్ సెపరేటర్,
ఇది టెక్స్ట్ లైన్ నుండి పదాన్ని వేరు చేయడానికి డీలిమిటర్గా పనిచేస్తుంది. ఇది ప్రధానంగా స్ట్రింగ్ను విభజించడానికి, ఆదేశాన్ని చదవడానికి, వచనాన్ని భర్తీ చేయడానికి మొదలైన వాటికి ఉపయోగించబడుతుంది.
ఉదాహరణ:
#!/బిన్/బాష్# 'ప్రకటించండి': 'వచనాన్ని విభజించడానికి డీలిమిటర్గా
IFS=':'
# టెక్స్ట్ డేటాను ':' తో $ టెక్స్ట్కి కేటాయించండి
టెక్స్ట్='ఎరుపు: ఆకుపచ్చ: నీలం'
# IFS ఆధారంగా టెక్స్ట్ను విభజించిన తర్వాత లూప్ ప్రతి పదాన్ని చదువుతుంది
కోసంగంటలులో $ టెక్స్ట్;చేయండి
# పదాన్ని ముద్రించండి
బయటకు విసిరారు $ గంటలు
పూర్తి
#29. స్ట్రింగ్ డేటా పొడవును ఎలా కనుగొనాలి?
'Expr', 'wc' మరియు 'అయ్యో' బాష్లోని స్ట్రింగ్ డేటా పొడవును తెలుసుకోవడానికి ఆదేశాలను ఉపయోగించవచ్చు. 'Expr' మరియు 'అయ్యో' ఆదేశాలను ఉపయోగించండి పొడవు ఎంపిక, 'Wc' కమాండ్ ఉపయోగిస్తుంది ‘–C’ స్ట్రింగ్ యొక్క పొడవును లెక్కించడానికి ఎంపిక.
ఉదాహరణ:
పై ఆదేశాల ఉపయోగాలు క్రింది స్క్రిప్ట్లో చూపబడ్డాయి.
#!/బిన్/బాష్# Expr` పొడవు ఎంపికను ఉపయోగించి పొడవును లెక్కించండి
బయటకు విసిరారు 'exprపొడవు'నాకు PHP అంటే ఇష్టం''
# Wc` ఆదేశాన్ని ఉపయోగించి పొడవును లెక్కించండి
బయటకు విసిరారు 'నాకు బాష్ అంటే ఇష్టం' | wc -సి
# Awk` ఆదేశాన్ని ఉపయోగించి పొడవును లెక్కించండి
బయటకు విసిరారు 'నాకు పైథాన్ అంటే ఇష్టం' | అవాక్ '{ముద్రణ పొడవు}'
#30. బహుళ బాష్ స్క్రిప్ట్ను సమాంతరంగా అమలు చేయడం ఎలా?
బహుళ బాష్ స్క్రిప్ట్లను ఉపయోగించడం ద్వారా సమాంతరంగా అమలు చేయవచ్చు నోహప్ కమాండ్ ఫోల్డర్ నుండి సమాంతరంగా మల్టిపుల్ బాష్ ఫైల్లను ఎలా అమలు చేయవచ్చు అనేది క్రింది ఉదాహరణలో చూపబడింది.
ఉదాహరణ:
# వేరియబుల్ $ dir లో ఉన్న పాత్తో ఫోల్డర్ పేరును కేటాయించండి# బహుళ బాష్ ఫైల్లు
నీకు='హోమ్/ఉబుంటు/టెంప్'
# లూప్ డైరెక్టరీ నుండి ప్రతి ఫైల్ని చదివి సమాంతరంగా అమలు చేస్తుంది
కోసంస్క్రిప్ట్లోనీకు/ *.ష
చేయండి
నోహప్ బాష్ '$ స్క్రిప్ట్' &
పూర్తి
ముగింపు:
బాష్ ప్రోగ్రామర్గా కెరీర్ ప్రారంభించాలనుకునే పాఠకుల కోసం చాలా ప్రాథమిక బాష్ స్క్రిప్ట్ ఇంటర్వ్యూ ప్రశ్నలు ఈ వ్యాసంలో వివరించబడ్డాయి.