Aritmētika Bashā

Kā pievienot aprēķinus Bash Script

Kaut arī Bash ir skriptu valoda, tai ir gandrīz visas vispārējas lietošanas programmēšanas valodas iespējas. Tas ietver aritmētiskās funkcijas. Ir vairākas sintakses opcijas, kuras varat izmantot, lai izsauktu izteiksmes aritmētisko novērtējumu. Varbūt vislabāk lasāmā ir let komanda. Piemēram

let "m = 4 * 1024"

aprēķinās 4 reizes 1024 un piešķirs rezultātu mainīgajam lielumam "m".

Jūs varat izdrukāt rezultātu, pievienojot echo paziņojumu:

let "m = 4 * 1024" echo $ m

To varat pārbaudīt no komandrindas, ievadot šādu kodu:

let "m = 4 * 1024"; echo $ m

Varat arī izveidot failu ar komandu Bash, tādā gadījumā faila augšpusē vajadzētu pievienot rindiņu, kurā norādīta programma, kurai paredzēts kods izpildīt. Piemēram:

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

pieņemot, ka Bash izpildāmā faila adrese atrodas / bin / bash . Jums arī jānosaka jūsu skripta faila atļaujas, lai tā būtu izpildāma. Pieņemot, ka skripta faila nosaukums ir script1.sh , jūs varat iestatīt atļaujas, lai failu izpildāmā ar komandu:

chmod 777 script1.sh

Pēc tam jūs varat izpildīt to ar komandu:

./script1.sh

Pieejamās aritmētiskās darbības ir līdzīgas standarta programmēšanas valodās, piemēram, Java un C. Bez pavairošanas, kā parādīts iepriekš, jūs lietojat papildus:

let "m = a + 7"

vai atņemšana:

let "m = a - 7"

vai nodaļa:

let "m = a / 2"

vai modulo (atlikums pēc vesels skaitļa sadalījuma):

let "m = a% 100"

Ja operācijai tiek piemērots tas pats mainīgais, kuram tiek piešķirts rezultāts, varat izmantot standarta aritmētiskās stenogrāfēšanas piešķiršanas operatorus, kurus sauc arī par saliktu piešķiršanas operatoriem. Piemēram, lai papildinātu, mums ir:

let "m + = 15"

kas ir līdzvērtīgs "m = m + 15". Lai atņemtu, mums ir:

let "m - = 3"

kas ir līdzvērtīgs "m = m - 3". Lai sadalītu, mums ir:

let "m / = 5"

kas ir līdzvērtīgs "m = m / 5". Un pēc moduļa mums ir:

let "m% = 10"

kas ir līdzvērtīgs "m = m% 10".

Papildus varat izmantot operatorus, kas palielina un samazina :

let "m ++"

ir vienāds ar "m = m + 1". Un

let "m--"

ir vienāds ar "m = m - 1".

Un tad ir trīskāršais "jautājuma zīmes kols" operators, kas atgriež vienu no divām vērtībām atkarībā no tā, vai norādītais nosacījums ir taisnība vai nepatiesa. Piemēram

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

Šā uzdevuma paziņojuma labās puses vērtība ir "0", ja mainīgais "m" ir mazāks par 9. Pretējā gadījumā tas tiek novērtēts ar 1. Tas nozīmē, ka mainīgais "k" piešķir "0", ja "m" ir mazāks nekā 9 un "1" pretējā gadījumā.

Jautājuma zīmes resnās zarnas operatora vispārējā forma ir:

stāvoklis? value-if-true: value-if-false

Peldošā punkta aritmētika Bashā

Atļautā operators darbojas tikai ar integrālo aritmētiku. Ar pārejas punktu aritmētiku varat, piemēram, izmantot GNU bc kalkulatoru, kā parādīts šajā piemērā:

atbalss "32,0 + 1,4" | bc

"Caurules" operators "|" izsniedz aritmētisko izteiksmi "32.0 + 1.4" bc kalkulatoram, kas atgriež reālo skaitli. Echo komanda izdrukā rezultātu uz standarta izvadi.

Alternatīva sintezēšana aritmētikai

Aizsargķiveres (atpakaļ vienas kotācijas) var izmantot aritmētiskās izteiksmes novērtēšanai kā šajā piemērā:

echo `expr $ m + 18`

Tas papildinās mainīgo lielumu "m" ar vērtību 18 un pēc tam izdrukā rezultātu.

Lai piešķirtu skaitļošanas vērtību mainīgajam, jūs varat izmantot vienlīdzīgu apzīmējumu bez atstarpēm:

m = expr $ m + 18`

Vēl viens veids, kā novērtēt aritmētiskās izteiksmes, ir izmantot dubultās iekavas. Piemēram:

((m * = 4))

Tas četrkāršos mainīgā lieluma vērtību "m".

Papildus aritmētiskajam novērtējumam Bash apvalks nodrošina citas programmēšanas konstrukcijas, piemēram, for-cilpas , cilpas , nosacījumus un funkcijas un apakšprogrammas .