ఎలా మరియు ఎందుకు మీరు ఉపయోగించాలి $ SHLVL వేరియబుల్

$ SHLVL వేరియబుల్ మీరు ఎంత లోతైన షెల్ల్స్ చెప్పాలో ఉపయోగిస్తారు. మీరు గందరగోళంగా ఉంటే, ఆరంభంలోనే ఇది విలువైనది.

షెల్ అంటే ఏమిటి?

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

లైనక్స్ షెల్ యాక్సెస్ ఎలా

సాధారణంగా టెర్మినల్ ఎమ్యులేషన్ ప్రోగ్రాం XTerm, konsole లేదా గ్నోమ్-టెర్మినల్ వంటి వాడకం ద్వారా మీరు షెల్ ప్రోగ్రామ్తో ఇంటరాక్ట్ చేస్తున్న వాడుకరి.

మీరు Openbox వంటి విండోస్ నిర్వాహకుడిని లేదా గ్నోమ్ లేదా KDE వంటి డెస్క్టాప్ వాతావరణాన్ని నడుపుతున్నట్లయితే మీరు ఒక టెర్మినల్ ఎమెల్యూటరును మెనూ లేదా డాష్ నుండి కనుగొంటారు. అనేక సిస్టమ్స్లో సత్వరమార్గం CTRL ALT మరియు T టెర్మినల్ విండోను తెరుస్తుంది.

ప్రత్యామ్నాయంగా మీరు కమాండ్ లైన్ షెల్కు ప్రత్యక్ష ప్రాప్యతను అందించే మరో tty (టెలిటైపర్వ్యూటర్) కు మారవచ్చు. CTRL ALT మరియు F1 లేదా CTRL ALT మరియు F2 లను నొక్కడం ద్వారా మీరు దీనిని చేయవచ్చు.

షెల్ స్థాయి అంటే ఏమిటి

మీరు షెల్ లో ఒక ఆదేశం అమలు చేసినప్పుడు షెల్ స్థాయి అని పిలుస్తారు. షెల్ లోపల మీరు మరొక షెల్ను తెరవవచ్చు, ఇది సబ్ షెల్ లేదా షెల్ను తెరిచేలా చేస్తుంది.

అందువల్ల పేరెంట్ షెల్ బహుశా స్థాయి 1 షెల్గా పరిగణించబడుతుంది మరియు పిల్లల షెల్ స్థాయి 2 షెల్ అవుతుంది.

షెల్ స్థాయిని ప్రదర్శించు ఎలా

ఇది $ SHLVL వేరియబుల్ ఉపయోగించి మీరు నడుస్తున్న షెల్ స్థాయి తెలియజేయవచ్చు మార్గం వ్యాసం టైటిల్ ఆధారంగా ఏ ఆశ్చర్యం రావాల్సిన.

మీరు ప్రస్తుతం నడుపుతున్న షెల్ స్థాయిని చూడడానికి క్రింది వాటిని టైప్ చేయండి:

$ SHLVL ప్రతిధ్వని

మీరు టెర్మినల్ విండోలో పైన కమాండ్ను నడుపుతున్నప్పుడు ఆసక్తికరంగా ఉంటే ఫలితం తిరిగి 2 అని మీరు చూడవచ్చు.

అయితే మీరు అదే ఆదేశాన్ని tty ఉపయోగించి అమలు చేస్తే ఫలితం 1.

మీరు ఎందుకు అడగవచ్చు? మీరు రన్ అవుతున్న డెస్క్టాప్ పర్యావరణం షెల్ పైభాగంలో అమలు అవుతోంది. షెల్ స్థాయి 1 గా ఉంటుంది. ఆ డెస్క్టాప్ వాతావరణంలో మీరు తెరిచిన ఏ టెర్మినల్ విండో డెస్క్టాప్ పర్యావరణాన్ని తెరిచిన షెల్ యొక్క బిడ్డగా ఉంటుంది మరియు అందుచే షెల్ స్థాయి 2 కంటే ఇతర సంఖ్యలో ప్రారంభించబడదు.

Tty ఒక డెస్కుటాప్ వాతావరణాన్ని నడుపుతున్నందున అది కేవలం స్థాయి 1 షెల్.

ఎలా Subshells సృష్టించండి

ఈ కింది విధంగా షెల్లు మరియు సబ్హెల్స్ యొక్క భావన పరీక్షించడానికి సులభమైన మార్గం. ఒక టెర్మినల్ విండో తెరిచి కింది టైప్ చేయండి:

$ SHLVL ప్రతిధ్వని

టెర్మినల్ విండో నుండి మనకు తెలిసినట్లుగా కనీస షెల్ స్థాయి 2.

ఇప్పుడు టెర్మినల్ విండో లోపల ఈ క్రిందివి టైప్ చేయండి:

sh

దాని స్వంత న sh కమాండ్ మీరు ఒక షెల్ లేదా ఒక subshell లోపల షెల్ ఉపయోగించి అర్థం ఒక ఇంటరాక్టివ్ షెల్ నడుస్తుంది.

మీరు ఇప్పుడు దీన్ని మళ్లీ టైప్ చేస్తే:

$ SHLVL ప్రతిధ్వని

షెల్ స్థాయి 3 కు సెట్ చేయబడిందని మీరు చూస్తారు. Subsshll నుండి sh కమాండ్ నడుపుట subshelll యొక్క ఉపభాగం తెరుస్తుంది మరియు షెల్ స్థాయి స్థాయి 4 వద్ద ఉంటుంది.

షెల్ స్థాయి ఎందుకు ముఖ్యమైనది?

మీ స్క్రిప్ట్లోని వేరియబుల్స్ యొక్క పరిధిని గురించి ఆలోచిస్తూ షెల్ స్థాయి ముఖ్యం.

సాధారణ ఏదో ప్రారంభించండి:

కుక్క = Maisie
echo $ dog

షెల్ లో పై ఆదేశాన్ని మీరు అమలు చేస్తే, టెర్మినల్ విండోకు maisie అనే పదం ప్రదర్శించబడుతుంది.

క్రింది టైప్ చేసి కొత్త షెల్ను తెరువు:

sh

మీరు ఈ ఆదేశాన్ని అమలు చేస్తే, వాస్తవానికి ఏమీ తిరిగి రాలేదని మీరు చూస్తారు:

echo $ dog

ఎందుకంటే $ కుక్క వేరియబుల్ షెల్ స్థాయి వద్ద మాత్రమే అందుబాటులో ఉంది 2. సబ్హెల్ నుండి నిష్క్రమించడానికి మరియు echo $ dog ను మళ్ళీ టైప్ చేయమని మీరు టైప్ చేస్తే మళ్లీ maisie అనే పదం మళ్ళీ ప్రదర్శించబడుతుంది.

ఇది షెల్ లోపల గ్లోబల్ వేరియబుల్స్ యొక్క ప్రవర్తన గురించి ఆలోచిస్తూ కూడా విలువ.

ఒక కొత్త టెర్మినల్ విండోలో ప్రారంభించి, క్రింది వాటిని టైప్ చేయండి:

ఎగుమతి కుక్క = మసీ
echo $ dog

మీరు ఆశించే విధంగా పదం maisie ప్రదర్శించబడుతుంది. ఇప్పుడు ఒక subshell తెరిచి రకం echo $ dog మళ్ళీ. ఈ సమయం మీరు ఒక సబ్హెల్ లో ఉన్నప్పటికీ అయినప్పటికీ ఈ పదం maisie ప్రదర్శించబడుతుంది అని మీరు చూస్తారు.

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

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

నేను ఇచ్చిన ఉదాహరణలు చాలా సరళమైనవి కానీ ఒక షెల్ స్క్రిప్ట్ మరొక షెల్ స్క్రిప్టును కాల్ చేయడానికి చాలా సాధారణం, ఇది మరొక షెల్ స్క్రిప్ట్ ను అన్ని వేర్వేరు స్థాయిలలో నడుపుతుంది. షెల్ స్థాయి తెలుసుకోవడం చాలా ముఖ్యమైనది.