వేరియబుల్‌కు BASH కమాండ్ అవుట్‌పుట్

Bash Command Output Variable



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

వేరియబుల్= $(కమాండ్)
వేరియబుల్= $(కమాండ్ [ఎంపిక…]వాదన 1 వాదనలు 2 ...)
వేరియబుల్= $(/మార్గం/కు/కమాండ్)

లేదా







వేరియబుల్='కమాండ్'
వేరియబుల్='కమాండ్ [ఎంపిక…]వాదన 1 వాదనలు 2 ...'
వేరియబుల్=`/మార్గం/కు/కమాండ్'

*** గమనిక: పై ఆదేశాలను ఉపయోగించినప్పుడు సమాన గుర్తుకు ముందు మరియు తరువాత ఖాళీని ఉపయోగించవద్దు.



వేరియబుల్‌కు సింగిల్ కమాండ్ అవుట్‌పుట్

ఈ భాగాలు ఐచ్ఛికంగా ఉన్న ఆ ఆదేశాల కోసం బాష్ ఆదేశాలను ఎటువంటి ఎంపిక మరియు వాదన లేకుండా ఉపయోగించవచ్చు. కింది రెండు ఉదాహరణలు సాధారణ కమాండ్ ప్రత్యామ్నాయం యొక్క ఉపయోగాలను చూపుతాయి.



ఉదాహరణ#1:

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





$కరెంట్_తేదీ= $(తేదీ)
$బయటకు విసిరారు 'నేడు$ కరెంట్_తేది'

అవుట్‌పుట్:



ఉదాహరణ#2:

`pwd` కమాండ్ ప్రస్తుత పని డైరెక్టరీ యొక్క మార్గాన్ని చూపుతుంది. కింది స్క్రిప్ట్ అవుట్‌పుట్‌ను నిల్వ చేస్తుంది `pwd` వేరియబుల్‌లోకి కమాండ్, $ కరెంట్_డిర్ మరియు ఈ వేరియబుల్ యొక్క విలువను ఉపయోగించడం ద్వారా ముద్రించబడుతుంది `ప్రతిధ్వని ' కమాండ్

$కరెంట్_డిర్='pwd'
$బయటకు విసిరారు 'ప్రస్తుత డైరెక్టరీ:$ కరెంట్_డిర్'

అవుట్‌పుట్:

ఎంపిక మరియు వాదనతో ఆదేశం

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

ఉదాహరణ#3:

బాష్ ` wc ఏదైనా ఫైల్ యొక్క మొత్తం పంక్తులు, పదాలు మరియు అక్షరాలను లెక్కించడానికి కమాండ్ ఉపయోగించబడుతుంది. ఈ ఆదేశం -c, -w మరియు -l ఎంపికగా మరియు ఫైల్ పేరును వాదనగా అవుట్‌పుట్‌ను రూపొందించడానికి ఉపయోగిస్తుంది. అనే టెక్స్ట్ ఫైల్‌ని సృష్టించండి పండ్లు. టెక్స్ట్ తదుపరి స్క్రిప్ట్‌ను పరీక్షించడానికి క్రింది డేటాతో.
పండ్లు. టెక్స్ట్

పండ్లు. టెక్స్ట్
మామిడి
ఆరెంజ్
అరటి
ద్రాక్ష
జామ
ఆపిల్

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

$గణన_పదాలు='wc -ఇన్పండ్లు. టెక్స్ట్'
$బయటకు విసిరారు 'పండ్ల మొత్తం పదాలు. టెక్స్ట్$ Count_words'

అవుట్‌పుట్:

ఉదాహరణ#4:

`కట్` అవుట్‌పుట్‌ను రూపొందించడానికి ఎంపిక మరియు వాదనను ఉపయోగించే మరొక బాష్ కమాండ్. అనే టెక్స్ట్ ఫైల్‌ని సృష్టించండి వారపు రోజు. txt తదుపరి స్క్రిప్ట్ అమలు చేయడానికి ఏడు వారాల పేర్లతో.

వారపు రోజు. txt

సోమవారం
మంగళవారం
బుధవారం
గురువారం
శుక్రవారం
శనివారం
ఆదివారం

అనే బాష్ ఫైల్‌ను సృష్టించండి cmdsub1.sh కింది స్క్రిప్ట్‌తో. ఈ స్క్రిప్ట్‌లో, అయితే యొక్క కంటెంట్‌ను చదవడానికి లూప్ ఉపయోగించబడుతుంది వారపు రోజు. txt లైన్ ద్వారా లైన్ ఫైల్ చేయండి మరియు `ఉపయోగించి ప్రతి లైన్‌లోని మొదటి మూడు అక్షరాలను చదవండి కట్` కమాండ్ కత్తిరించిన తర్వాత, స్ట్రింగ్ విలువ వేరియబుల్‌లో నిల్వ చేయబడుతుంది $ రోజు . తరువాత, స్టేట్‌మెంట్ విలువను తనిఖీ చేయడానికి ఉపయోగించినట్లయితే $ రోజు ఉంది ' సూర్యుడు ' లేదా కాదు. అవుట్‌పుట్ ముద్రించబడుతుంది ' ఆదివారం సెలవు 'ఒకవేళ షరతు నిజమైతే అది విలువను ప్రింట్ చేస్తుంది $ రోజు .

cmdsub1.sh

#!/బిన్/బాష్
ఫైల్ పేరు='weekday.txt'
అయితే చదవండిలైన్;చేయండి
రోజు='బయటకు విసిరారు $ లైన్ | కట్ -సి 1-3'
ఉంటే [ $ రోజు=='సూర్యుడు' ]
అప్పుడు
బయటకు విసిరారు 'ఆదివారం సెలవు'
లేకపోతే
బయటకు విసిరారు $ రోజు
ఉంటుంది
పూర్తి<$ ఫైల్ పేరు

స్క్రిప్ట్ రన్ చేయండి.

$పిల్లివారపు రోజు. txt
$బాష్cmdsub1.sh

అవుట్‌పుట్:

లూప్‌లో కమాండ్ ప్రత్యామ్నాయాన్ని ఉపయోగించడం

మీరు తదుపరి ఉదాహరణలో చూపిన ఏదైనా లూప్ వేరియబుల్‌లో కమాండ్ ప్రత్యామ్నాయం యొక్క అవుట్‌పుట్‌ను నిల్వ చేయవచ్చు.

ఉదాహరణ#5:

అనే ఫైల్‌ను సృష్టించండి cmdsub2.sh కింది కోడ్‌తో. ఇక్కడ, ` ls -d * / ప్రస్తుత డైరెక్టరీ నుండి అన్ని డైరెక్టరీ జాబితాను తిరిగి పొందడానికి కమాండ్ ఉపయోగించబడుతుంది. అవుట్పుట్ నుండి ప్రతి డైరెక్టరీని చదవడానికి మరియు వేరియబుల్‌లో నిల్వ చేయడానికి ఇక్కడ లూప్ ఉపయోగించబడుతుంది $ dirname ఇది తరువాత ముద్రించబడుతుంది.

cmdsub2.sh

#!/బిన్/బాష్
కోసం ఇంటిపేరు లో$(ls -డి * /)
చేయండి
బయటకు విసిరారు '$ dirname'
పూర్తి

స్క్రిప్ట్ రన్ చేయండి.

$బాష్cmdsub2.sh

అవుట్‌పుట్:

సమూహ ఆదేశాలను ఉపయోగించడం

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

నెస్టెడ్ కమాండ్ సింటాక్స్:

ఎక్కడ='ఆదేశం 1 'కమాండ్'

ఉదాహరణ#6:

రెండు ఆదేశాలు, బయటకు విసిరారు `మరియు` who `ఈ ఉదాహరణలో సమూహ ఆదేశంగా ఉపయోగించబడతాయి. ఇక్కడ, ` who `ప్రస్తుతం లాగిన్ అయిన యూజర్ యొక్క యూజర్ సమాచారాన్ని ప్రింట్ చేసే కమాండ్ ముందుగా అమలు చేస్తుంది. `యొక్క అవుట్పుట్ who `కమాండ్ ద్వారా అమలు చేయబడుతుంది` బయటకు విసిరారు `కమాండ్ మరియు అవుట్‌పుట్` బయటకు విసిరారు `వేరియబుల్‌లో స్టోర్ చేస్తుంది $ var . ఇక్కడ, `యొక్క అవుట్‌పుట్ బయటకు విసిరారు `కమాండ్` యొక్క అవుట్‌పుట్ మీద ఆధారపడి ఉంటుంది who `ఆదేశం.

$ఎక్కడ='బయటకు విసిరారు'who'
$బయటకు విసిరారు $ var

అవుట్‌పుట్:

కమాండ్ మార్గాన్ని ఉపయోగించడం

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

ఉదాహరణ#7:

`వూవామి` కమాండ్ ప్రస్తుతం లాగిన్ అయిన వినియోగదారు యొక్క వినియోగదారు పేరును చూపుతుంది. అప్రమేయంగా, ఈ ఆదేశం నిల్వ చేయబడుతుంది / usr/ నేను/ ఫోల్డర్ అమలు చేయడానికి క్రింది స్క్రిప్ట్‌ను అమలు చేయండి ` వూవామి` వేరియబుల్‌లో పాత్ మరియు స్టోర్ ఉపయోగించి కమాండ్, $ అవుట్‌పుట్, మరియు విలువను ముద్రించండి $ అవుట్‌పుట్ .

$అవుట్‌పుట్= $(/usr/am/నేను ఎవరు)
$బయటకు విసిరారు $ అవుట్‌పుట్

అవుట్‌పుట్:

కమాండ్ లైన్ వాదనను ఉపయోగించడం

కమాండ్ ప్రత్యామ్నాయంలోని ఆర్గ్యుమెంట్‌గా మీరు కమాండ్‌తో కమాండ్ లైన్ ఆర్గ్యుమెంట్‌ను ఉపయోగించవచ్చు.

ఉదాహరణ#8:

అనే బాష్ ఫైల్‌ను సృష్టించండి cmdsub3.sh కింది స్క్రిప్ట్‌తో. ` బేస్ పేరు 2 నుండి ఫైల్ పేరును తిరిగి పొందడానికి కమాండ్ ఇక్కడ ఉపయోగించబడుతుందిndకమాండ్ లైన్ ఆర్గ్యుమెంట్ మరియు వేరియబుల్‌లో స్టోర్ చేయబడుతుంది, $ ఫైల్ పేరు . మాకు తెలుసు 1సెయింట్కమాండ్ లైన్ ఆర్గ్యుమెంట్ అనేది $ 0 ద్వారా సూచించబడే స్క్రిప్ట్ యొక్క పేరు.

#!/బిన్/బాష్
ఫైల్ పేరు='బేస్ పేరు $ 1'
బయటకు విసిరారు 'ఫైల్ పేరు$ ఫైల్ పేరు. '

కింది ఆర్గ్యుమెంట్ విలువతో స్క్రిప్ట్‌ను రన్ చేయండి.

$బాష్cmdsub3.sh డెస్క్‌టాప్/తాత్కాలిక/హలో. టెక్స్ట్

ఇక్కడ, బేస్ పేరు మార్గం యొక్క, డెస్క్‌టాప్/temp/hello.txt ఉంది ' హలో. టెక్స్ట్ '. కాబట్టి, విలువ $ ఫైల్ పేరు ఉంటుంది హలో. టెక్స్ట్ .

అవుట్‌పుట్:

ముగింపు:

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

వీడియోలో మరింత సమాచారం: