బాష్ లో అరిథ్మెటిక్

బాష్ లిపికి గణనలను ఎలా జోడించాలి

బాష్ స్క్రిప్టింగ్ భాష అయినప్పటికీ, ఇది సాధారణ ప్రయోజన ప్రోగ్రామింగ్ భాష యొక్క అన్ని సామర్థ్యాలను కలిగి ఉంది. అంకగణిత విధులు ఉన్నాయి. వ్యక్తీకరణ యొక్క అంకగణిత విశ్లేషణను ప్రేరేపించడానికి మీరు ఉపయోగించే అనేక వాక్యనిర్మాణ ఎంపికలు ఉన్నాయి. బహుశా చదవదగినదే ఒకదానిని విధి ఆదేశం. ఉదాహరణకి

"m = 4 * 1024"

4 సార్లు 1024 గణించడం మరియు ఫలితంగా వేరియబుల్ "m" కు కేటాయించవచ్చు.

మీరు ఒక ప్రతిధ్వని ప్రకటనను జోడించడం ద్వారా ఫలితాన్ని ముద్రించవచ్చు:

లెట్ "m = 4 * 1024" echo $ m

కింది కోడ్ను నమోదు చేయడం ద్వారా మీరు ఈ కమాండ్ లైన్ నుండి దీనిని పరీక్షించవచ్చు:

లెట్ "m = 4 * 1024"; echo $ m

మీరు బాష్ ఆదేశాలను కలిగి ఉన్న ఒక ఫైల్ను కూడా సృష్టించవచ్చు, ఈ సందర్భంలో కోడ్ను అమలు చేయవలసిన ప్రోగ్రామ్ను నిర్దేశించే ఫైల్ ఎగువ భాగంలో ఒక పంక్తిని మీరు జోడించాలి. ఉదాహరణకి:

#! / bin / bash let "m = 4 * 1024" echo $ m

బాష్ ఎక్సిక్యూటబుల్ అనునది / bin / bash లో ఉన్నది . మీరు మీ స్క్రిప్ట్ ఫైల్ యొక్క అనుమతులను అమర్చాలి, తద్వారా ఇది అమలు చేయగలదు. స్క్రిప్ట్ ఫైలు పేరు ఊహిస్తే script1.sh , మీరు కమాండ్తో ఫైల్ ఎక్జిక్యూటబుల్ చేయటానికి అనుమతులను అమర్చవచ్చు:

chmod 777 script1.sh

ఆ తరువాత మీరు కమాండ్తో దానిని అమలుపరచవచ్చు:

./script1.sh

అందుబాటులో ఉన్న అంకగణిత కార్యకలాపాలు జావా మరియు C. వంటి ప్రామాణిక ప్రోగ్రామింగ్ భాషల్లో మల్టిపుల్లేషన్ కాకుండా, పైన వివరించినట్లుగా ఉంటాయి, మీరు అదనంగా ఉపయోగిస్తారు:

"m = a + 7"

లేదా వ్యవకలనం:

"m = a - 7"

లేదా విభజన:

"m = a / 2"

లేదా మాడ్యులో (మిగిలినది పూర్ణ విభజన తర్వాత):

లెట్ "m = a% 100"

ఫలితంగా కేటాయించిన అదే వేరియబుల్కు ఒక ఆపరేషన్ వర్తింపబడితే, మీరు ప్రామాణిక అంకగణిత షార్ట్హైండ్ అసైన్మెంట్ ఆపరేటర్లను ఉపయోగించవచ్చు, ఇది సమ్మేళనం అప్పగింత ఆపరేటర్లుగా కూడా సూచిస్తారు. ఉదాహరణకు, అదనంగా, మేము కలిగి:

లెట్ "m + = 15"

ఇది "m = m + 15" కు సమానం. తీసివేత కోసం:

"m - = 3"

ఇది "m = m - 3" కు సమానం. విభజన కోసం మేము కలిగి ఉన్నాయి:

"m / = 5"

ఇది "m = m / 5" కు సమానం. మరియు మాడ్యులో కోసం, మేము:

"m% = 10"

ఇది "m = m% 10" కు సమానం.

అదనంగా, మీరు పెంపు మరియు తరుగుదల ఆపరేటర్లను ఉపయోగించవచ్చు:

"m ++"

"m = m + 1" కు సమానం. మరియు

"m--"

"m = m - 1" కు సమానం.

ఆపై టెర్నరీ "ప్రశ్న మార్క్-కోలన్" ఆపరేటర్ ఉంది, ఇది పేర్కొన్న స్థితి నిజం లేదా అబద్ధమా కాదా అనే దానిపై ఆధారపడి రెండు విలువలలో ఒకటి వస్తుంది. ఉదాహరణకి

"k = (m <9)" 0: 1 "

వేరియబుల్ "m" 9 కంటే తక్కువ ఉంటే ఈ అప్పగించిన ప్రకటన యొక్క కుడి వైపు "0" కు మదింపు చేస్తుంది. లేకపోతే, అది 1 కు మదింపు చేస్తుంది. దీని అర్థం "m" తక్కువగా ఉంటే "0" 9 కంటే ఎక్కువ మరియు "1" లేకపోతే.

ప్రశ్న మార్క్-కోలన్ ఆపరేటర్ యొక్క సాధారణ రూపం:

పరిస్థితి? value-if-true: value-if-false

బాష్ లో ఫ్లోటింగ్ పాయింట్ ఆర్టిమేటిక్

లెట్ ఆపరేటర్ పూర్ణాంక అంకగణితం కోసం మాత్రమే పనిచేస్తుంది. ఫ్లోటింగ్ పాయింట్ అంకగణితం కొరకు మీరు ఈ ఉదాహరణలో వివరించిన విధంగా GNU bc కాలిక్యులేటర్ను ఉపయోగించవచ్చు:

ప్రతిధ్వని "32.0 + 1.4" | bc

"పైప్" ఆపరేటర్ "|" అంకగణిత వ్యక్తీకరణ "32.0 + 1.4" ను బిసి కాలిక్యులేటర్కు పంపుతుంది, ఇది వాస్తవ సంఖ్యను అందిస్తుంది. Echo ఆదేశం ఫలితాన్ని ప్రామాణిక అవుట్పుట్కు ముద్రిస్తుంది.

అంకగణిత ప్రత్యామ్నాయ సింటాక్స్

ఈ ఉదాహరణలో అంకగణిత వ్యక్తీకరణను విశ్లేషించడానికి బ్యాక్టిక్స్ (వెనుక సింగిల్ కోట్స్) ఉపయోగించవచ్చు:

echo `expr $ m + 18`

ఇది వేరియబుల్ "m" యొక్క విలువకు 18 ను చేర్చుతుంది మరియు ఆ ఫలితాన్ని ప్రింట్ చేస్తుంది.

ఒక వేరియబుల్కి గణన విలువను కేటాయించడానికి మీరు దాని చుట్టూ ఖాళీలు లేకుండా సమాన సైన్ని ఉపయోగించవచ్చు:

m = `expr $ m + 18`

అంకగణిత వ్యక్తీకరణలను విశ్లేషించడానికి మరొక మార్గం డబుల్ కుండలీకరణాలను ఉపయోగించడం. ఉదాహరణకి:

((m * = 4))

ఇది వేరియబుల్ "m" యొక్క విలువను క్వాడ్రపుల్ చేస్తుంది.

అంకగణిత విశ్లేషణతో పాటు, బాష్ షెల్ ఇతర ప్రోగ్రామింగ్ నిర్మాణాలను అందిస్తుంది, ఉదాహరణకు -ఉచ్చులు , ఉచ్చులు , షరతులు , మరియు విధులు మరియు సబ్ఆర్టైన్లు .