ബാഷ് അരിത്മെറ്റിക്

ഒരു ബാഷ് സ്ക്രിപ്റ്റിലേക്ക് കണക്കുകൂട്ടലുകൾ എങ്ങനെ ചേർക്കാം

ബാഷ് ഒരു തിരക്കഥ ഭാഷ തന്നെ ആണെങ്കിലും, ഒരു സാധാരണ ഉദ്ദേശ്യ പ്രോഗ്രാമിങ് ഭാഷയുടെ എല്ലാ കഴിവുകളും ഇതിലുണ്ട്. അങ്കഗണിത പ്രവർത്തനങ്ങൾ ഇതിൽ ഉൾപ്പെടുന്നു. ഒരു പദപ്രയോഗത്തിന്റെ അരിത്മെറ്റിക് മൂല്യനിർണ്ണയത്തിനായി നിങ്ങൾക്ക് ഉപയോഗിക്കാവുന്ന അനേകം സിന്റാക്സ് ഓപ്ഷനുകൾ ഉണ്ട്. ഒരുപക്ഷേ ഏറ്റവും വായിക്കാൻ പറ്റുന്നതും കമാൻഡ് ആണ്. ഉദാഹരണത്തിന്

നമുക്ക് "m = 4 * 1024"

4 തവണ 1024 കണക്കുകൂട്ടുകയും അതിന്റെ ഫലം "m" വേരിയബിളിന് തുല്യമാവുകയും ചെയ്യും.

ഒരു echo സ്റ്റേറ്റ്മെന്റ് ചേർത്ത് നിങ്ങൾക്ക് ഫലം പ്രിന്റ് ചെയ്യാവുന്നതാണ്:

നമുക്ക് "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

ലഭ്യമായ അരിത്മെറ്റിക് പ്രവർത്തനങ്ങൾ ജാവയും സിയും പോലുള്ള സാധാരണ പ്രോഗ്രാമിങ് ഭാഷകളിൽ ഉള്ളവയാണ്. മൾട്ടിപ്ലേഷന് കൂടാതെ, മുകളിൽ വിവരിച്ചതുപോലെ, നിങ്ങൾ കൂടുതലായി ഉപയോഗിക്കുന്നു:

നമുക്ക് "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 "

ഈ അസൈൻമെന്റ് നിർദ്ദേശത്തിന്റെ വലത് വശത്ത് "0" എന്ന് വേരിയബി "m" കുറവാണെങ്കിൽ 0 എന്ന് വിലയിരുത്തുന്നു. അല്ലെങ്കിൽ, ഇത് 1 ലേക്ക് വിലയിരുത്തുന്നു. അതായത്, "m" വേരിയബിള് "0" 9 ഉം "1" ും ഉള്ളതിലും.

ചോദ്യ മാർക്ക്-കോളൺ ഓപ്പറേറിന്റെ പൊതുവായ രൂപമാണ്:

സ്ഥിതി? value-if-true: value-if-false

ഫ്ലോട്ടിങ് പോയിന്റ് അരിത്മെറ്റിക് ബാഷ്

ഇന്ററെർ ഗണിത പ്രശ്നങ്ങൾക്കായി മാത്രം ഓപ്പറേറ്റർ പ്രവർത്തിപ്പിക്കുക. ഫ്ലോട്ടിങ് പോയിന്റ് ആർട്ടിമെറ്റിക് വേണ്ടി നിങ്ങൾക്ക് ഉദാഹരണത്തിൽ ഗ്നു ബിസിസി കാൽക്കുലേറ്റർ ഉപയോഗിക്കാം:

echo "32.0 + 1.4" | ബിസി

"പൈപ്പ്" ഓപ്പറേറ്റർ "|" ആർക്കിമെന്റിക് എക്സ്പ്രഷൻ "32.0 + 1.4" ബിസി കാൽകുലേറ്ററിലേക്ക് നൽകുന്നു, അത് യഥാർത്ഥ നമ്പർ നൽകുന്നു. Echo കമാൻഡ് ഫലത്തെ ഔട്ട്പുട്ട് പ്രിന്റ് ചെയ്യുന്നു.

അരിത്മെറ്റിക് എന്നതിനുള്ള ഇതര സിന്റാക്സ്

ഈ ഉദാഹരണത്തിൽ ഒരു അരിത്മെറ്റിക് എക്സ്പ്രഷൻ മൂല്യനിർണ്ണയം ചെയ്യാൻ ബാക്ക്റ്റീക്ക്സ് (സിംഗിൾ ഉദ്ധരണികൾ പിന്നോട്ട്) ഉപയോഗപ്പെടുത്താം:

echo `expr $ m + 18`

ഇത് വേരിയബിളിന്റെ "m" ന്റെ മൂല്യത്തിലേക്ക് 18 എണ്ണം കൂട്ടിച്ചേർക്കുകയും തുടർന്ന് ഫലം മാറ്റുകയും ചെയ്യും.

ഒരു വേരിയബിളിനുള്ള ഗണിത മൂല്യം നൽകുന്നതിന് അതിനൊപ്പം തുല്യ പ്രതെയ്നുകളില്ലാതെ സ്പെയ്സ് ഇല്ലാതെ ഉപയോഗിക്കാം:

m = `expr $ m + 18`

അരിത്മെറ്റിക് എക്സ്പ്രെഷനുകൾ മൂല്യനിർണ്ണയം ചെയ്യാൻ മറ്റൊരു മാർഗ്ഗം ഇരട്ട പരാന്തസിസ് ഉപയോഗിക്കുക എന്നതാണ്. ഉദാഹരണത്തിന്:

((m * = 4))

ഇത് വേരിയബിളിന്റെ "m" ന്റെ മൂല്യത്തെ ചെറുതാക്കും.

ഗണിത മൂല്യനിർണ്ണയത്തിനു പുറമേ, ബൗസ് ഷെൽ മറ്റ് പ്രോഗ്രാമിംഗ് നിർമാണങ്ങൾക്കായി ഉപയോഗിക്കുന്നു, ഉദാഹരണത്തിന് ലോ -ലോപ്പുകൾ , ലൂപുകൾ , കണ്ടീഷണലുകൾ , ഫങ്ഷനുകൾ, സബ്റൂട്ടീനുകൾ .