బాష్ స్క్రిప్ట్లు టాస్క్ల ఆటోమేషన్ను సులభమైన విషయంగా చేస్తాయి. వినియోగదారు ఇన్పుట్ అవసరమయ్యే టాస్క్లను ఆటోమేట్ చేయడంతో సహా సమయం మరియు కృషిని ఆదా చేయడానికి మీరు వివిధ పునరావృత పనులను ఆటోమేట్ చేయడానికి అనేక మార్గాలు ఉన్నాయి. అంతేకాకుండా, Linux స్క్రిప్ట్లను ఉపయోగించి మీ మార్గాన్ని సులభంగా పని చేయడానికి 'అంచనా' వంటి ఆదేశాలను అందిస్తుంది.
Linux “expect” ఆదేశం అమలు చేయడానికి వినియోగదారు ఇన్పుట్ అవసరమయ్యే స్క్రిప్ట్లు ఎలా పనిచేస్తుందో నియంత్రించడానికి మిమ్మల్ని అనుమతిస్తుంది. మీ స్క్రిప్ట్కు అమలు చేయడాన్ని కొనసాగించడానికి వినియోగదారు ఇన్పుట్ అవసరమైతే, మీరు “expect” ఆదేశాన్ని ఉపయోగించి ఈ ఇంటరాక్టివిటీని ఎలా నియంత్రించవచ్చనే దానిపై ఒక మార్గం ఉంది.
Linux ఎక్స్పెక్ట్ కమాండ్తో ప్రారంభించడం
Linux “expect” కమాండ్ మీ సిస్టమ్లో ఇన్స్టాల్ చేయబడదు. అయితే, మీరు దీన్ని ఇన్స్టాల్ చేయడానికి వివిధ పద్ధతులను ఉపయోగించవచ్చు. మా విషయంలో, మేము కింది ఆదేశాన్ని ఉపయోగించి దీన్ని ఇన్స్టాల్ చేయడానికి “apt” ఎంపికను ఉపయోగిస్తున్నాము:
$ సుడో సముచితమైనది ఇన్స్టాల్ ఆశించవచ్చు
ప్రక్రియ పూర్తయిన తర్వాత, ఇన్స్టాలేషన్ విజయవంతమైందని ధృవీకరించడానికి ఆశించిన సంస్కరణను తనిఖీ చేయండి.
మీ Linuxలో మీకు సమాచారం అందుబాటులోకి వచ్చిన తర్వాత, ఇంటరాక్టివ్ టాస్క్లను ఆటోమేట్ చేయడానికి దాన్ని ఎలా ఉపయోగించాలో నేర్చుకోవడం తదుపరి విషయం.
ముందుగా, ఇది ఇంటరాక్టివ్గా ఎలా నడుస్తుందో చూడడానికి ఒక సాధారణ బాష్ స్క్రిప్ట్ని క్రియేట్ చేద్దాం. మా స్క్రిప్ట్ వినియోగదారుని కొన్ని వివరాలను ఇన్పుట్ చేయమని అడుగుతుంది మరియు వినియోగదారు ఇన్పుట్ చదివినప్పుడు మాత్రమే అది అమలులో కొనసాగుతుంది.
మీకు నచ్చిన టెక్స్ట్ ఎడిటర్ని ఉపయోగించి బాష్ స్క్రిప్ట్ను సృష్టించండి. మీరు మీ స్క్రిప్ట్ కోడ్ వ్రాసిన తర్వాత, టెక్స్ట్ ఎడిటర్ నుండి సేవ్ చేసి నిష్క్రమించండి.
మీరు తప్పనిసరిగా స్క్రిప్ట్ ఫైల్ను ఎక్జిక్యూటబుల్గా చేయాలి. దాని కోసం, కింది వాక్యనిర్మాణాన్ని ఉపయోగించండి మరియు దానిని మీ లక్ష్య స్క్రిప్ట్ ఫైల్తో సరిపోల్చండి:
$ సుడో chmod +x < ఫైల్ >స్క్రిప్ట్ను అమలు చేయడానికి, స్క్రిప్ట్ పేరు తర్వాత “./” ఆదేశాన్ని ఉపయోగించండి. వినియోగదారు ఇన్పుట్ కోసం స్క్రిప్ట్ ఎలా ప్రాంప్ట్ చేస్తుందో గమనించండి మరియు మేము ఇన్పుట్ని టైప్ చేసినప్పుడు మాత్రమే కొనసాగించగలము.
మీరు అటువంటి ఇంటరాక్టివ్ సెషన్ను ఆటోమేట్ చేయాలనుకున్నప్పుడు, అవసరమైన ఇన్పుట్లను వినియోగదారు ఇన్పుట్ చేయడానికి బదులుగా అవసరమైనప్పుడు పంపడానికి మీరు తప్పనిసరిగా “expect” ఆదేశాన్ని ఉపయోగించాలి.
'expect' కమాండ్ ఎలా అమలులోకి వస్తుందో చూసే ముందు, 'which' ఆదేశాన్ని ఉపయోగించి దాని స్థానాన్ని గుర్తించండి. “expect” స్క్రిప్ట్ను వ్రాసేటప్పుడు మీకు అవసరమైన విధంగా “expect” ఆదేశం ఉన్న మార్గాన్ని గమనించండి.
ఈ సందర్భంలో, 'expect' /usr/bin/expect లొకేషన్లో నిల్వ చేయబడుతుంది.
మళ్ళీ, మీ టెక్స్ట్ ఎడిటర్ని తెరిచి, మరొక స్క్రిప్ట్ని సృష్టించండి. ఈసారి, దానిని ఆశించే స్క్రిప్ట్గా గుర్తించడానికి “.exp” పొడిగింపుతో సేవ్ చేయండి. మీ ఆశించిన స్క్రిప్ట్ను వ్రాసేటప్పుడు మీరు ఉపయోగించగల నాలుగు ప్రధాన ఆదేశాలు ఉన్నాయి:
- మొలకెత్తుతుంది - ఇది కొత్త ప్రక్రియను ప్రారంభిస్తుంది మరియు మీరు ఇంటరాక్టివ్ విభాగాలను ఆటోమేట్ చేయాలనుకుంటున్న స్క్రిప్ట్ను అమలు చేయడానికి జోడించబడుతుంది.
- పంపండి - ఇది అవసరమైన ప్రతిస్పందనను పంపుతుంది, అది వినియోగదారుచే చొప్పించబడుతుంది.
- ఆశించవచ్చు – ఇది అవుట్పుట్ కోసం ఎదురుచూస్తున్న లక్ష్య స్క్రిప్ట్లోని లైన్ను చూపుతుంది.
- సంకర్షణ చెందుతాయి - ఇది ప్రోగ్రామ్తో పరస్పర చర్యను ప్రారంభిస్తుంది.
ఈ సందర్భంలో, కింది వాటిలో చూపిన విధంగా మేము మా “అంచనా” స్క్రిప్ట్ని కలిగి ఉన్నాము. మేము లక్ష్య స్క్రిప్ట్ను హైలైట్ చేసాము మరియు 'అంచనా' ఎంపికలను మరియు వారికి ఎలాంటి స్పందన లభిస్తుందో అందించాము.
చివరి పంక్తి స్క్రిప్ట్ ముగింపును చూపుతుంది మరియు మీరు 'అనుకూల' స్క్రిప్ట్ను వ్రాస్తున్నప్పుడల్లా తప్పనిసరిగా చేర్చాలి. 'chmod'ని ఉపయోగించి 'expect' స్క్రిప్ట్ని ఎక్జిక్యూటబుల్గా చేయండి.
చివరగా, స్క్రిప్ట్ని అమలు చేయండి మరియు ఏమి జరుగుతుందో చూడండి. అవసరమైన ఇన్పుట్ను చొప్పించడం ద్వారా వినియోగదారుని స్క్రిప్ట్తో ఇంటరాక్ట్ చేయాల్సిన అవసరం కాకుండా, “అనుకూల” స్క్రిప్ట్లో మనం పంపిన విలువలు వినియోగదారు ప్రతిస్పందనలుగా జోడించబడతాయి. ఆ విధంగా, మీరు ఇంటరాక్టివ్ యూజర్ ఇన్పుట్లను ఆటోమేట్ చేయగలరు.
మీరు వినియోగదారు ఇన్పుట్లుగా ఉండాలనుకునే విలువల కోసం వేరియబుల్స్తో పని చేయాలనుకుంటున్నారని అనుకుందాం; అది కూడా సాధ్యమే. లక్ష్య వేరియబుల్స్ మరియు వాటి విలువలను సెట్ చేయండి, ఆపై ఊహించిన వినియోగదారు ఇన్పుట్గా పంపడానికి వేరియబుల్ పేరును ప్రారంభించండి. కింది ఉదాహరణను పరిశీలించండి:
మీరు ఈ సవరించిన స్క్రిప్ట్ని మళ్లీ అమలు చేసినప్పుడు, మీరు ఇప్పటికీ అదే లక్ష్యాన్ని పొందుతారు, మీరు ఈసారి వేరియబుల్లను ఉపయోగించారు.
Autoexpectతో పని చేస్తోంది
మీరు “autoexpect” ఆదేశాన్ని ఉపయోగించి “expect” స్క్రిప్ట్ని సృష్టించడాన్ని నివారించవచ్చు. ఇది ఎలా పని చేస్తుందంటే, మీరు 'ఆటోఎక్స్పెక్ట్' కమాండ్ను అమలు చేస్తారు, దాని తర్వాత మీరు 'ఎక్స్పెక్ట్' స్క్రిప్ట్ని సృష్టించాలనుకుంటున్నారు.
ఉదాహరణకు, మా ప్రారంభ స్క్రిప్ట్ “sample.sh”. దాని కోసం, మేము కింది ఆదేశంతో “autoexpect”ని ఉపయోగిస్తాము:
$ స్వీయ అంచనా. / నమూనా.shమీరు దీన్ని అమలు చేసిన తర్వాత, 'script.sh' పేరుతో కొత్త 'expect' స్క్రిప్ట్ స్వయంచాలకంగా సృష్టించబడుతుంది మరియు వినియోగదారు ఇన్పుట్ల కోసం ఆశించిన ప్రతిస్పందనలను అందించమని మీరు ప్రాంప్ట్ చేయబడతారు.
మీకు కావలసిందల్లా సృష్టించిన స్క్రిప్ట్ను అమలు చేయడం మరియు మీరు 'అంచనా' స్క్రిప్ట్ను మాన్యువల్గా సృష్టించాల్సిన అవసరాన్ని తొలగించడం ద్వారా ప్రక్రియను సులభతరం చేస్తారు.
ముగింపు
బాష్ స్క్రిప్ట్ని సృష్టించేటప్పుడు ఇంటరాక్టివ్ యూజర్ ఇన్పుట్లను ఆటోమేట్ చేయడానికి “expect” కమాండ్ సహాయపడుతుంది. మీరు ఊహించిన విలువలతో దాన్ని ఇచ్చిన తర్వాత, వినియోగదారు ఇన్పుట్ అవసరం అయినప్పటికీ, మీ స్క్రిప్ట్ ఆగిపోకుండా రన్ అవుతుంది. ఆటోఎక్స్పెక్ట్ ప్రోగ్రామ్ను ఆటోమేటిక్గా ఉపయోగించి 'ఎక్స్పెక్ట్' స్క్రిప్ట్ను ఎలా రూపొందించాలో సహా, 'ఎక్స్పెక్ట్' కమాండ్తో పని చేసే ఉదాహరణను మేము చూశాము. అంతే!