Aritmetika sa Bash

Paano Magdadagdag ng Mga Pagkalkula sa isang Bash Script

Kahit na ang Bash ay isang scripting language, ito ay halos lahat ng mga kakayahan ng isang pangkalahatang layunin programming language. Kabilang dito ang mga pag-andar sa aritmetika. Mayroong ilang mga pagpipilian sa syntax na maaari mong gamitin upang pukawin ang pagsusuri ng aritmetika ng isang expression. Marahil ang pinaka-nababasa isa ay ang ipaalam utos. Halimbawa

hayaan ang "m = 4 * 1024"

ay magkakalkula ng 4 na beses 1024 at magtalaga ng resulta sa variable na "m".

Maaari mong i-print ang resulta sa pamamagitan ng pagdaragdag ng isang pahayag ng echo :

hayaan ang "m = 4 * 1024" echo $ m

Maaari mong subukan ito mula sa command line sa pamamagitan ng pagpasok ng sumusunod na code:

hayaan ang "m = 4 * 1024"; echo $ m

Maaari ka ring lumikha ng isang file na naglalaman ng mga command na Bash, kung saan dapat kang magdagdag ng isang linya sa tuktok ng file na tumutukoy sa programa na dapat ipatupad ang code. Halimbawa:

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

ipagpalagay na ang Bash executable ay matatagpuan sa / bin / bash . Kailangan mo ring itakda ang mga pahintulot ng iyong script file upang maipapatupad ito. Ipagpapalagay na ang script na pangalan ng script ay script1.sh , maaari mong itakda ang mga pahintulot upang maipapatupad ang file gamit ang command:

chmod 777 script1.sh

Pagkatapos nito ay maisagawa mo ito sa utos:

./script1.sh

Ang mga magagamit na operasyon ng aritmetika ay katulad ng sa mga karaniwang programming language tulad ng Java at C. Bukod sa pagpaparami, tulad ng nakalarawan sa itaas, gumamit ka ng karagdagan:

hayaan ang "m = a + 7"

o pagbabawas:

hayaan ang "m = a - 7"

o dibisyon:

hayaan ang "m = a / 2"

o modulo (ang natitira pagkatapos ng isang integer division):

hayaan ang "m = a% 100"

Kapag ang isang operasyon ay inilapat sa parehong variable na kung saan ang resulta ay nakatalaga maaari mong gamitin ang standard aritmetika shorthand assignment operator, na tinutukoy din bilang compound na mga operator ng pagtatalaga. Halimbawa, para sa karagdagan, mayroon kami:

hayaan ang "m + = 15"

na katumbas ng "m = m + 15". Para sa pagbabawas mayroon kami:

hayaan ang "m - = 3"

na katumbas ng "m = m - 3". Para sa dibisyon mayroon kami:

hayaan ang "m / = 5"

na katumbas ng "m = m / 5". At para sa modulo, mayroon kami:

hayaan ang "m% = 10"

na katumbas ng "m = m% 10".

Bukod pa rito, maaari mong gamitin ang mga operator ng pagtaas at pag- decrement :

hayaan ang "m ++"

ay katumbas ng "m = m + 1". At

hayaan "m--"

ay katumbas ng "m = m - 1".

At pagkatapos ay mayroong ternary na "question mark-colon" na operator, na nagbabalik ng isa sa dalawang halaga depende kung ang tinukoy na kalagayan ay totoo o hindi. Halimbawa

hayaan ang "k = (m <9)? 0: 1"

Ang kanang bahagi ng pahayag ng assignment na ito ay sinusuri sa "0" kung ang variable na "m" ay mas mababa sa 9. Kung hindi, sinusuri nito ang 1. Ito ay nangangahulugang ang variable na "k" ay itinalaga na "0" kung ang "m" ay mas mababa kaysa sa 9 at "1" sa kabilang banda.

Ang pangkalahatang paraan ng operator mark-colon na tanong ay:

kondisyon? value-if-true: value-if-false

Lumulutang na Point Aritmetika sa Bash

Gumagana lamang ang operator ng operator para sa aritmetika ng integer. Para sa floating point aritmetika maaari mong gamitin ang halimbawa ng GNU bc calculator bilang larawan sa halimbawang ito:

echo "32.0 + 1.4" | bc

Ang "pipe" operator "|" ay pumasa sa pang-aritmetikong expression "32.0 + 1.4" sa calculator ng bc, na nagbabalik ng tunay na numero. Iniu- print ng echo ang resulta sa karaniwang output.

Alternatibong Syntax para sa Arithmetic

Ang mga backtick (back single quotes) ay maaaring gamitin upang suriin ang isang pang-aritmetika na ekspresyon tulad ng sa halimbawang ito:

echo `expr $ m + 18`

Ito ay magdagdag ng 18 sa halaga ng variable na "m" at pagkatapos ay i-print out ang resulta.

Upang italaga ang halaga ng compute sa isang variable maaari mong gamitin ang pantay na pag-sign nang walang mga puwang sa paligid nito:

m = `expr $ m + 18`

Ang isa pang paraan upang masuri ang mga expression sa aritmetika ay ang paggamit ng double parenthesis. Halimbawa:

((m * = 4))

Ito ay magkadugtong ng halaga ng variable na "m".

Bukod sa arithmetic evaluation, ang Bash shell ay nagbibigay ng iba pang mga construct ng programming, tulad ng for-loops , habang-loop , kondisyon , at mga function at subroutines .