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 $ mUnaweza kupima hii kutoka kwa mstari wa amri kwa kuingia nambari ifuatayo:
basi "m = 4 * 1024"; Echo $ mUnaweza 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 $ mkuchukua 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.shBaada ya hapo unaweza kutekeleza kwa amri:
./script1.shShughuli 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 uongoArithmetic 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 .