బాష్లో ప్రోగ్రెస్ బార్ను రూపొందించడానికి వివిధ ఉదాహరణలు
బాష్లో ప్రోగ్రెస్ బార్ని అమలు చేసే వివిధ మార్గాలు ట్యుటోరియల్లోని ఈ భాగంలో చూపబడ్డాయి.
ఉదాహరణ 1: ఏ ఆదేశం లేకుండా ఒక సాధారణ ప్రోగ్రెస్ బార్ని అమలు చేయండి
“#” అక్షరం మరియు “స్లీప్” ఆదేశాన్ని ఉపయోగించి ప్రోగ్రెస్ బార్ను ప్రదర్శించే క్రింది స్క్రిప్ట్తో బాష్ ఫైల్ను సృష్టించండి. ప్రోగ్రెస్ బార్ను ప్రదర్శించడానికి “printf” ఆదేశం ఇక్కడ ఉపయోగించబడుతుంది. ప్రోగ్రెస్ బార్ నాలుగు భాగాలుగా విభజించబడింది. 1 సెకను తర్వాత 25% ప్రదర్శించబడుతుంది. 50% 3 సెకన్ల తర్వాత ప్రదర్శించబడుతుంది. 75% 2 సెకన్ల తర్వాత ప్రదర్శించబడుతుంది. 1 సెకను తర్వాత 100% ప్రదర్శించబడుతుంది.
#!/బిన్/బాష్
printf ' \n పనిని పూర్తి చేయడానికి వేచి ఉండండి... \n \n '
#1 సెకను వేచి ఉండండి
నిద్ర 1
#ప్రోగ్రెస్ బార్ యొక్క మొదటి భాగాన్ని ప్రింట్ చేయండి
printf '[##### ] 25%% పూర్తయింది. \r '
#3 సెకన్లు వేచి ఉండండి
నిద్ర 3
#ప్రోగ్రెస్ బార్ యొక్క రెండవ భాగాన్ని ముద్రించండి
printf '[########## ] 50%% పూర్తయింది. \r '
#2 సెకన్లు వేచి ఉండండి
నిద్ర 2
#ప్రోగ్రెస్ బార్ యొక్క మూడవ భాగాన్ని ముద్రించండి
printf '[################ ] 75%% పూర్తయింది. \r '
#1 సెకను వేచి ఉండండి
నిద్ర 1
#ప్రోగ్రెస్ బార్లో చివరి భాగాన్ని ప్రింట్ చేయండి
printf '[#####################] 100%% పూర్తయింది. \r '
printf ' \n \n టాస్క్ పూర్తయింది. \n \n '
.
స్క్రిప్ట్ని అమలు చేసిన 1 సెకను తర్వాత క్రింది అవుట్పుట్ కనిపిస్తుంది:
స్క్రిప్ట్ని అమలు చేసిన 7 సెకన్ల తర్వాత క్రింది అవుట్పుట్ కనిపిస్తుంది:
ఉదాహరణ 2: “Pv” కమాండ్ని ఉపయోగించి ప్రోగ్రెస్ బార్ని అమలు చేయండి
“pv” కమాండ్ యొక్క పూర్తి రూపం “పైప్ వ్యూయర్”. ఇది పైప్ ద్వారా పంపబడే డేటా పురోగతిని పర్యవేక్షించడానికి మరియు డేటా పరిమాణం ఆధారంగా ప్రోగ్రెస్ బార్ను ప్రదర్శించడానికి ఉపయోగించబడుతుంది. ఈ కమాండ్ సిస్టమ్లో డిఫాల్ట్గా ఇన్స్టాల్ చేయబడదు. ఈ ఉదాహరణ యొక్క స్క్రిప్ట్ను సాధన చేయడానికి ముందు “pv” ఆదేశాన్ని ఇన్స్టాల్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
$ సుడో సముచితమైనది ఇన్స్టాల్ pvమీరు ఒక లొకేషన్ నుండి మరొక లొకేషన్కి కాపీ చేయబడిన పెద్ద సైజు ఫైల్ని ఎంచుకోవాలి. 'test.txt' ఫైల్ను ప్రస్తుత స్థానం నుండి '/home/fahmida/temp/' స్థానానికి కాపీ చేసే క్రింది స్క్రిప్ట్తో Bash ఫైల్ను సృష్టించండి. ప్రోగ్రెస్ బార్ను ప్రదర్శించడానికి “pv” కమాండ్ ఇక్కడ ఉపయోగించబడుతుంది. ప్రోగ్రెస్ బార్ “test.txt” ఫైల్ పరిమాణం ఆధారంగా ప్రదర్శించబడుతుంది.
#!/బిన్/బాష్ప్రతిధ్వని 'ఫైల్ను ఒక స్థానం నుండి మరొక స్థానానికి కాపీ చేస్తోంది.'
#2 సెకన్లు వేచి ఉండండి
నిద్ర 2
#ఫైల్ను గమ్యస్థానానికి కాపీ చేయండి
పిల్లి test.txt | pv -లు $ ( గణాంకాలు -సి % s test.txt ) > / ఇల్లు / అవగాహన / ఉష్ణోగ్రత / test.txt
ప్రతిధ్వని 'ఫైల్ కాపీ చేయబడింది.'
స్క్రిప్ట్ యొక్క అమలును పూర్తి చేసిన తర్వాత క్రింది అవుట్పుట్ ప్రదర్శించబడుతుంది:
ఉదాహరణ 3: “డైలాగ్” కమాండ్ని ఉపయోగించి ప్రోగ్రెస్ బార్ని అమలు చేయండి
బాష్లో ప్రోగ్రెస్ బార్ను అమలు చేయడానికి మరొక మార్గం “డైలాగ్” ఆదేశాన్ని ఉపయోగించడం. టెర్మినల్లో మంచిగా కనిపించే ప్రోగ్రెస్ బార్ను ప్రదర్శించడానికి ఈ ఆదేశం ఉపయోగించవచ్చు. ఈ ప్రోగ్రెస్ బార్ని ఉపయోగించి అనేక రకాల విడ్జెట్లను ప్రదర్శించవచ్చు. ఈ కమాండ్ ద్వారా ప్రదర్శించబడే ప్రోగ్రెస్ బార్ యొక్క పనిని బాష్ స్క్రిప్ట్ ద్వారా నియంత్రించవచ్చు. ఈ ప్రోగ్రెస్ బార్ డిఫాల్ట్గా సిస్టమ్లో ఇన్స్టాల్ చేయబడలేదు. సిస్టమ్లో ఈ ప్రోగ్రెస్ బార్ను ఇన్స్టాల్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
$ సుడో సముచితమైనది ఇన్స్టాల్ డైలాగ్“డైలాగ్” ఆదేశాన్ని ఉపయోగించి ప్రోగ్రెస్ బార్ను ప్రదర్శించే కింది స్క్రిప్ట్తో బాష్ ఫైల్ను సృష్టించండి. “/etc/passwd” ఫైల్ని “/home/fahmida/tempdir” లొకేషన్లోకి కాపీ చేసే పని ప్రోగ్రెస్ బార్ని ఉపయోగించి ప్రదర్శించబడుతుంది. పురోగతి పట్టీ ఐదు భాగాలుగా విభజించబడింది; ప్రతి భాగం 2 సెకన్ల తర్వాత ప్రదర్శించబడుతుంది. ప్రోగ్రెస్ బార్ యొక్క శీర్షికను ప్రదర్శించడానికి “డైలాగ్” ఆదేశంలో –title ఎంపిక ఉపయోగించబడుతుంది. ప్రోగ్రెస్ బార్ను 10 లైన్ల ఎత్తు మరియు 100 అక్షరాల వెడల్పుతో ప్రదర్శించడానికి “డైలాగ్” కమాండ్లో –గేజ్ ఎంపిక ఉపయోగించబడుతుంది. 'పనిని పూర్తి చేయడానికి వేచి ఉంది' సందేశం ప్రోగ్రెస్ బార్ పైన ప్రదర్శించబడుతుంది.
#!/బిన్/బాష్#కౌంటర్ను ప్రారంభించండి
ప్రస్తుత_పోస్ = 0
(
#అనంతమైన లూప్ను నిర్వచించండి
కోసం ( ( ;; ) )
చేయండి
పిల్లి <
డీలిమిటర్
$current_pos
#ప్రస్తుత కౌంటర్ విలువను చూపించు
cp /etc/passwd to /home/fahmida/tempdir ($current_pos%):
డీలిమిటర్
EOF
#కౌంటర్ను 20కి పెంచండి
( ( ప్రస్తుత_పోస్+= ఇరవై ) )
కౌంటర్ విలువ 100 కంటే ఎక్కువ ఉన్నప్పుడు లూప్ నుండి #టర్మినేట్ చేయండి
[ $current_pos -gt 100 ] && బ్రేక్
#ప్రతి ఇంక్రిమెంట్ తర్వాత 2 సెకన్ల పాటు వేచి ఉండండి
నిద్ర 2
పూర్తి
) | డైలాగ్ --శీర్షిక 'ఫైల్ను కాపీ చేస్తోంది...' --గేజ్ 'పనిని పూర్తి చేయడానికి వేచి ఉంది' 10 100 0
స్క్రిప్ట్ని అమలు చేసిన 6 సెకన్ల తర్వాత క్రింది అవుట్పుట్ కనిపిస్తుంది:
స్క్రిప్ట్ని అమలు చేసిన 10 సెకన్ల తర్వాత క్రింది అవుట్పుట్ కనిపిస్తుంది:
ముగింపు
బాష్ వినియోగదారులు తమ ప్రోగ్రామ్లో ప్రోగ్రెస్ బార్ను ఉపయోగించడంలో సహాయపడటానికి బాష్ స్క్రిప్ట్ని ఉపయోగించి ప్రోగ్రెస్ బార్ను అభివృద్ధి చేసే వివిధ మార్గాలు ఈ ట్యుటోరియల్లో చూపబడ్డాయి.