బాష్ కీప్రెస్ కోసం వేచి ఉంది

Bash Wait Keypress



బాష్ స్క్రిప్ట్‌లో యూజర్ ఇన్‌పుట్ తీసుకోవడానికి `రీడ్` కమాండ్ ఉపయోగించబడుతుంది. రీడ్ కమాండ్‌తో వివిధ రకాల ఆప్షన్‌లను ఉపయోగించడం ద్వారా మేము బాష్ స్క్రిప్ట్‌లో ఇన్‌పుట్ తీసుకోవచ్చు. కొన్నిసార్లు మనం ఒక నిర్దిష్ట కీని నొక్కినంత వరకు స్క్రిప్ట్ రన్ అయ్యే విధంగా లేదా నిర్దిష్ట కీ ఆధారంగా నిర్దిష్ట స్క్రిప్ట్ అమలు చేయబడుతుంది లేదా ఏదైనా కీని నొక్కే వరకు ప్రోగ్రామ్ నిర్దిష్ట సమయం కోసం వేచి ఉంటుంది. ఏదైనా ప్రత్యేక కీ లేదా కొన్ని పనుల కోసం ఏదైనా కీ కోసం వేచి ఉండటానికి మీరు బాష్ స్క్రిప్ట్ ఎలా వ్రాయవచ్చు అనేది వివిధ ఉదాహరణలను ఉపయోగించి ఈ ట్యుటోరియల్‌లో చూపబడింది.

ఉదాహరణ#1:

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







#!/బిన్/బాష్
బయటకు విసిరారు 'కొనసాగించడానికి ఏదైనా కీని నొక్కండి'
అయితే [ నిజం ];చేయండి
చదవండి -టి 3 -n 1
ఉంటే [ $?=0 ];అప్పుడు
బయటకి దారి;
లేకపోతే
బయటకు విసిరారు 'కీప్రెస్ కోసం వేచి ఉంది'
ఉంటుంది
పూర్తి

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



$బాష్key1.sh

అవుట్‌పుట్:







ఉదాహరణ#2:

కింది స్క్రిప్ట్‌తో బాష్ ఫైల్‌ను సృష్టించండి. ఈ ఉదాహరణలో అనంతమైన అయితే లూప్ ఉపయోగించబడుతుంది, అది వినియోగదారు 'q' నొక్కినప్పుడు ముగుస్తుంది. వినియోగదారు 'q' లేకుండా ఏదైనా కీని నొక్కితే, కౌంటర్ వేరియబుల్ విలువ 1 ద్వారా పెరుగుతుంది మరియు విలువను ముద్రించండి.

#!/బిన్/బాష్
బయటకు విసిరారు నిష్క్రమించడానికి 'q' నొక్కండి
లెక్క=0
అయితే:;చేయండి
చదవండి -n 1కు<&1
ఉంటే [[ $ కే= q]];అప్పుడు
printf ' nకార్యక్రమం నుండి నిష్క్రమించడం n'
విరామం
లేకపోతే
((లెక్క=$ కౌంట్+1))
printf ' nకోసం పునరావృతం చేయండి$ కౌంట్సార్లు n'
బయటకు విసిరారు నిష్క్రమించడానికి 'q' నొక్కండి
ఉంటుంది
పూర్తి

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



$బాష్key2.sh

అవుట్‌పుట్:

ఉదాహరణ#3:

కింది స్క్రిప్ట్‌తో బాష్ ఫైల్‌ని సృష్టించండి, అది వినియోగదారు నొక్కిన కీ ఆధారంగా వివిధ రకాల పనులను చేస్తుంది. ఒకవేళ వినియోగదారు '1' నొక్కితే అది రెండు కమాండ్ లైన్ ఆర్గ్యుమెంట్‌లను జోడించి ప్రింట్ చేస్తుంది. ఒకవేళ వినియోగదారుడు '2' నొక్కితే అది రెండు కమాండ్ లైన్ ఆర్గ్యుమెంట్‌లను తీసివేసి ప్రింట్ చేస్తుంది. వినియోగదారు '3' నొక్కే వరకు స్క్రిప్ట్ నిరంతరం నడుస్తుంది.

#!/బిన్/బాష్
v1=$ 1
v2=$ 2
అయితే:
చేయండి
బయటకు విసిరారు '1 చేర్పు '
బయటకు విసిరారు '2 వ్యవకలనం '
బయటకు విసిరారు '3 నిష్క్రమించు '
బయటకు విసిరారు -n 'టైప్ 1 లేదా 2 లేదా 3:'
చదవండి -n 1 -టి పదిహేనుకు
printf ' n'
కేసు $ a లో
1* ) బయటకు విసిరారు '$ v1+$ v2=$ (($ v1+$ v2)) ';;

2* ) బయటకు విసిరారు '$ v1-$ v2=$ (($ v1- $ v2)) ';;

3* ) బయటకి దారి 0;;


* ) బయటకు విసిరారు 'మళ్లీ ప్రయత్నించండి.';;
esac
పూర్తి

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

$బాష్కీ 3. ఎస్35 పదిహేను

అవుట్‌పుట్:

ఉదాహరణ#4:

కింది స్క్రిప్ట్‌తో బాష్ ఫైల్‌ను సృష్టించండి. వినియోగదారు ESC కీని నొక్కినప్పుడు స్క్రిప్ట్ ముగుస్తుంది. ఈ స్క్రిప్ట్ ESC కీని నొక్కే వరకు వినియోగదారు నొక్కిన కీలను ప్రింట్ చేస్తుంది.

#!/బిన్/బాష్
యూరిన్పుట్=''
బయటకు విసిరారు 'నిష్క్రమించడానికి ESC కీని నొక్కండి'
# ఒకే అక్షరాన్ని చదవండి
అయితే చదవండి -ఆర్ -n1కీ
చేయండి
# ఇన్‌పుట్ అయితే == ESC కీ
ఉంటే [[ $ కీ== $' మరియు' ]];
అప్పుడు
విరామం;
ఉంటుంది
# వినియోగదారు నొక్కిన వేరియబుల్‌కు కీని జోడించండి.
userinput+=$ కీ
పూర్తి
printf ' nమీరు టైప్ చేసారు:$ userinput n'

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

$బాష్key4.sh

అవుట్‌పుట్:

ఉదాహరణ#5:

స్క్రిప్ట్‌ను రద్దు చేయడానికి ENTER కీ కోసం వేచి ఉండే కింది కోడ్‌తో బాష్ ఫైల్‌ను సృష్టించండి. స్క్రిప్ట్ సర్వర్ పేరును ఇన్‌పుట్‌గా తీసుకుంటుంది మరియు ప్రతి 2 సెకన్లలో సర్వర్‌ను పింగ్ చేయడానికి ప్రయత్నిస్తుంది. ఒకవేళ పింగ్ కమాండ్ సర్వర్ నుండి ప్రతిస్పందనను పొందితే అది అవుట్‌పుట్‌ను ప్రదర్శించడం ద్వారా స్క్రిప్ట్‌ను రద్దు చేస్తుంది, లేకుంటే అది సందేశాన్ని ముద్రించడం ద్వారా వినియోగదారు ప్రతిస్పందన లేదా ఎంటర్ కీ కోసం వేచి ఉంటుంది, దీనితో కనెక్ట్ చేయడానికి ప్రయత్నిస్తోంది….

#!/బిన్/బాష్
బయటకు విసిరారు 'మీరు పింగ్ చేయాలనుకుంటున్న సర్వర్ చిరునామాను నమోదు చేయండి'
చదవండిసర్వర్
అయితే ! పింగ్ -సి 1 -n -ఇన్ 2 $ సర్వర్
చేయండి
బయటకు విసిరారు 'కనెక్ట్ చేయడానికి ప్రయత్నిస్తున్నారు$ సర్వర్'
బయటకు విసిరారు 'ముగించడానికి [ENTER] నొక్కండి'
చదవండి -ఎస్ -ఎన్ 1 -టి 1కీ
ఉంటే [[ $ కీ== $' x0a' ]];# ఇన్‌పుట్ అయితే == ఎంటర్ కీ
అప్పుడు
బయటకి దారి 0
ఉంటుంది
పూర్తి
printf '%s n' '$ సర్వర్పరిగెత్తుతున్నాడు'

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

$బాష్key5.sh

అవుట్‌పుట్:

ముగింపు:

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