Hesabu katika Bash

Jinsi ya kuongeza Mahesabu kwenye Hati ya Bash

Ingawa Bash ni lugha ya script, ina uwezo mkubwa kabisa wa lugha ya programu ya kusudi la jumla. Hii inajumuisha kazi za hesabu. Kuna chaguzi kadhaa za syntax ambazo unaweza kutumia ili kutathmini tathmini ya hesabu ya kujieleza. Labda moja inayoonekana zaidi ni amri basi . Kwa mfano

basi "m = 4 * 1024"

itahesabu mara 4 1024 na kugawa matokeo kwa variable "m".

Unaweza kuchapisha matokeo kwa kuongeza kauli ya echo :

basi "m = 4 * 1024" echo $ m

Unaweza kupima hii kutoka kwa mstari wa amri kwa kuingia nambari ifuatayo:

basi "m = 4 * 1024"; Echo $ m

Unaweza pia kuunda faili iliyo na amri za Bash, katika hali ambayo unapaswa kuongeza mstari juu ya faili inayoelezea mpango unaotakiwa kutekeleza msimbo. Kwa mfano:

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

kuchukua Bash kutekeleza iko katika / bin / bash . Pia unahitaji kuweka ruhusa ya faili yako ya script ili iweze kutekelezwa. Kufikiri jina la faili la script ni script1.sh , unaweza kuweka ruhusa ya kufanya faili kutekelezwa na amri:

chmod 777 script1.sh

Baada ya hapo unaweza kutekeleza kwa amri:

./script1.sh

Shughuli za upatikanaji wa hesabu zinafanana na wale katika lugha za kawaida za programu kama Java na C. Mbali na kuzidisha, kama ilivyoonyeshwa hapo juu, unatumia zaidi:

basi "m = a + 7"

au kuondoa:

basi "m = a - 7"

au mgawanyiko:

basi "m = a / 2"

au modulo (iliyobaki baada ya mgawanyiko kamili):

basi "m =% 100"

Wakati operesheni inatumika kwa kutofautiana sawa ambayo matokeo hutolewa unaweza kutumia kiwango cha kawaida cha wasimamizi wa hesabu ya hesabu, pia inajulikana kama waendeshaji wa kazi ya kiwanja. Kwa mfano, kwa kuongeza, tuna:

basi "m + = 15"

ambayo ni sawa na "m = m + 15". Kwa kutoa sisi tuna:

basi "m - = 3"

ambayo ni sawa na "m = m - 3". Kwa mgawanyiko tuna:

basi "m / = 5"

ambayo ni sawa na "m = m / 5". Na kwa modulo, tuna:

basi "m% = 10"

ambayo ni sawa na "m = m% 10".

Zaidi ya hayo, unaweza kutumia waendeshaji wa ziada na wafuu :

basi "m + +"

ni sawa na "m = m + 1". Na

basi "m--"

ni sawa na "m = m - 1".

Na kisha kuna mtumiaji wa "swali-colon" ya mtumiaji, ambayo inarudi mojawapo ya maadili mawili kulingana na kwamba hali maalum ni ya kweli au ya uwongo. Kwa mfano

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

Sehemu ya mkono wa kulia wa kauli ya kazi hii inapima kwa "0" ikiwa variable "m" ni chini ya 9. Vinginevyo, inapima kwa 1. Hii ina maana kwamba variable "k" imepewa "0" ikiwa "m" ni chini zaidi ya 9 na "1" vinginevyo.

Fomu ya jumla ya mteja wa alama ya swali ni:

hali? thamani-kama-ya kweli: thamani-kama-ya uongo

Arithmetic Point Floating katika Bash

Mtumiaji wa basi anafanya kazi kwa hesabu nzima. Kwa hesabu ya kiwango kinachozunguka unaweza kutumia mfano wa Calculator GNU bc kama ilivyoonyeshwa katika mfano huu:

Echo "32.0 + 1.4" | bc

"Bomba" operator "|" hupita kujieleza kwa hesabu "32.0 + 1.4" kwa calculator ya bc, ambayo inarudi namba halisi. Amri ya echo hupunguza matokeo kwa pato la kawaida.

Syntax Mbadala ya Hesabu

Backticks (quotes nyuma nyuma) inaweza kutumika kutathmini kujieleza hesabu kama katika mfano huu:

Echo "expr $ m + 18`

Hii itaongeza 18 kwa thamani ya variable "m" na kisha kuchapisha matokeo.

Kutoa thamani ya hesabu kwa variable unaweza kutumia ishara sawa bila nafasi karibu nao:

m = `expr $ m + 18`

Njia nyingine ya kuchunguza maneno ya hesabu ni kutumia dhana mbili. Kwa mfano:

((m * = 4))

Hii itapunguza thamani ya variable "m".

Mbali na tathmini ya hesabu, shell ya Bash hutoa vifaa vingine vya programu, kama vile vitanzi -vitanzi , vifungo , vifungo , na kazi na vikundi .